petid-wikimemoria rápida, no arquitectura
‹ todos los flujos

Provisioning de tenant desde superadmin

petid-adminpetid-apinotification-api
actualizado 2026-09-02

Objetivo

Dar de alta una clínica nueva (tenant + su admin) en un solo paso desde el panel de superadmin.

Cómo empieza

Superadmin en petid-admin, alta de tenant, con datos de la clínica + email/nombre del admin.

Pasos principales

  1. ProvisionTenantUseCase.execute(): valida que el nombre de tenant y el email del admin no existan, genera slug, genera temp password (igual que en account-activation.md — nunca se expone).
  2. tenants.createWithAdmin(tenant, user, profile)transacción atómica en Postgres: tenant + user admin + profile, todo o nada.
  3. Después de que la transacción confirma: notificationTenants.create(tenant.id, tenant.name) — llamada HTTP a notification-api para espejar el tenant allá. Esto ya no está dentro de la transacción.
  4. Emite UserRegisteredEvent → dispara el flujo de account-activation.md (email de activación al admin).

Reglas de negocio

Interacciones

petid-adminpetid-api → Postgres (transacción) → notification-api (mirror, HTTP, con reintentos best-effort) → email vía account-activation.md.

Dónde seguir mirando

Casos especiales