- Updated general requirements document to clarify its historical context and remove outdated technical details. - Revised template documentation to serve as a base for writing prompts, emphasizing its auxiliary nature. - Enhanced architecture documentation with clear distinctions between canonical and complementary documents. - Added a new document for backend prompt base to centralize common context for backend prompts. - Created a dedicated README for customer invoices, organizing current contracts, operational support, and historical context. - Improved clarity and structure in various customer invoice documents, consolidating operational semantics and referencing canonical sources.
51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# `apps/web`
|
|
|
|
Aplicación frontend principal del ERP.
|
|
|
|
## Documentación canónica
|
|
|
|
- Flujo de autenticación y selección de empresa: [`../../docs/frontend/auth-and-company-selection.md`](../../docs/frontend/auth-and-company-selection.md)
|
|
- Contexto tenant y reglas de `X-Company-Id`: [`../../docs/architecture/tenant-context.md`](../../docs/architecture/tenant-context.md)
|
|
|
|
## Runtime actual de autenticación
|
|
|
|
La app usa `@erp/identity/client` como runtime actual.
|
|
|
|
## Flujo actual
|
|
|
|
- La sesión y la empresa activa se resuelven según el flujo documentado en `docs/frontend/auth-and-company-selection.md`.
|
|
- Las rutas tenant-scoped deben respetar las reglas de `X-Company-Id` documentadas en `docs/architecture/tenant-context.md`.
|
|
|
|
## Headers
|
|
|
|
- No duplicar aquí la matriz de headers.
|
|
- Consultar `docs/frontend/auth-and-company-selection.md` para endpoints excluidos y `tenant-context.md` para reglas tenant-scoped.
|
|
|
|
## App company switcher
|
|
|
|
Componente:
|
|
|
|
```txt
|
|
apps/web/src/layout/app-company-switcher.tsx
|
|
```
|
|
|
|
Propósito:
|
|
|
|
- mostrar la empresa activa real en el layout autenticado
|
|
- permitir cambiar entre `availableCompanies` de la sesión actual
|
|
|
|
Reglas:
|
|
|
|
- usar el contexto de `identity`
|
|
- no manejar tokens
|
|
- no llamar directamente a `GET /companies/available`
|
|
- no usar `companySlug` para auth
|
|
- no modificar el access token
|
|
- respetar el flujo canónico documentado en `docs/frontend/auth-and-company-selection.md`
|
|
|
|
## Refresh automático
|
|
|
|
La app implementa refresh automático global sobre `401`.
|
|
|
|
La semántica completa de retry, exclusiones y limpieza de sesión se documenta en `docs/frontend/auth-and-company-selection.md`.
|