- Archived historical documents for DTO design and naming conventions. - Added normative documentation for HTTP request flow and module boundaries. - Introduced testing guidelines for backend layers. - Updated onboarding module documentation and clarified onboarding requirements. - Deprecated backend prompt base and prompt auth documents. - Adjusted paths in testing documentation for consistency.
1.6 KiB
Onboarding
Estado: ESPECÍFICO DE MÓDULO. Las reglas transversales se consultan en arquitectura.
Propósito y endpoints
El módulo mantiene el estado del onboarding inicial y permite completar la creación inicial de una empresa para una cuenta autenticada.
GET /api/v1/onboarding/initial
POST /api/v1/onboarding/initial/complete
La ruta de completado valida CompleteInitialOnboardingRequestSchema. El accountId no pertenece al payload: procede de req.user.userId.
Dependencias y composición
El módulo consume los servicios públicos companies:general.initialCompanyCreator e identity:general.initialCompanyAdminAssigner. Su composition root está en modules/onboarding/src/api/infrastructure/di/onboarding.di.ts y el módulo declara esas dependencias en modules/onboarding/src/api/module.ts.
Actualmente services.general no expone servicios públicos porque no hay consumidores intermodulares reales. internal contiene los use cases y servicios privados necesarios por routes y arranque.
Flujo de completado
CompleteInitialOnboardingController toma el DTO validado y el contexto autenticado. CompleteInitialOnboardingUseCase usa CompleteInitialOnboardingInputMapper para crear parámetros de Application y Value Objects, completa la transacción, crea la empresa, asigna el administrador y persiste el onboarding completado.
La operación es idempotente: si el onboarding ya está completado y es consistente, devuelve la misma companyId.
Para DI, DTOs, HTTP y tests, véanse las SSOT de arquitectura; este documento no las redefine.