FactuGES_ERP/docs/architecture/identity-migration-status.md

94 lines
2.5 KiB
Markdown
Raw Normal View History

2026-07-05 11:43:13 +00:00
# Identity Migration Status
## Referencias canónicas
2026-07-05 11:43:13 +00:00
- Reglas de contexto tenant y middlewares públicos: [tenant-context.md](./tenant-context.md)
- Flujo frontend de autenticación y selección de empresa: [../frontend/frontend-architecture.md](../frontend/frontend-architecture.md)
- Runtime y responsabilidades del módulo `identity`: [../../modules/identity/README.md](../../modules/identity/README.md)
2026-07-05 11:43:13 +00:00
## Migrado a `identity`
2026-07-06 12:04:47 +00:00
### Backend tenant-scoped
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
Módulos migrados:
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
- `modules/catalogs`
- `modules/customers`
- `modules/customer-invoices`
- `modules/factuges`
2026-07-05 11:43:13 +00:00
Estado:
2026-07-06 12:04:47 +00:00
- sin `@erp/auth/api`
- sin `mockUser`
- sin helpers locales de auth
- usan el middleware tenant canónico documentado en `tenant-context.md`
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
### Backend autenticado sin tenant
2026-07-05 11:43:13 +00:00
`modules/companies` usa el middleware autenticado sin tenant documentado en `tenant-context.md`.
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
Esto aplica a:
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
```http
POST /companies
GET /companies/available
GET /companies/:company_id
PATCH /companies/:company_id
POST /companies/:company_id/enable
POST /companies/:company_id/disable
2026-07-05 11:43:13 +00:00
```
### Backend tenant-scoped en `modules/companies`
`modules/companies` también expone endpoints tenant-scoped para operar sobre la company activa o endurecer endpoints legacy.
Esto aplica a:
```http
GET /companies/current
PATCH /companies/current
GET /companies/:company_id
PATCH /companies/:company_id
POST /companies/:company_id/enable
POST /companies/:company_id/disable
```
Política V1 actual para `PATCH /companies/current`:
```txt
usuario autenticado
+ X-Company-Id válido
+ membership activa
+ company activa
```
No existe todavía enforcement real de `identity:companies:update`.
2026-07-06 12:04:47 +00:00
## Frontend actual
2026-07-05 11:43:13 +00:00
El runtime nuevo ya usa `@erp/identity/client`.
2026-07-05 11:43:13 +00:00
Los detalles del flujo implementado, headers y refresh automático se mantienen en `frontend/frontend-architecture.md`.
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
## Legacy pendiente
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
`modules/auth` queda legacy/deprecated y no debe usarse en backend nuevo.
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
Sigue pendiente revisar o retirar consumidores legacy residuales antes de eliminarlo por completo.
2026-07-05 11:43:13 +00:00
### `modules/supplier`
2026-07-06 12:04:47 +00:00
Queda fuera de esta migración por ahora.
2026-07-05 11:43:13 +00:00
## Búsquedas útiles de control
```powershell
rg -n -F "@erp/auth/api" modules apps packages
rg -n -F "mockUser" modules apps packages
rg -n -F "IdentityInternalDeps" modules apps packages
2026-07-06 12:04:47 +00:00
rg -n -F 'getInternal(\"identity\")' modules apps packages
rg -n -F "requireIdentityTenant(params)" modules apps packages
rg -n -F "requireIdentityAuthenticated(params)" modules apps packages
2026-07-05 11:43:13 +00:00
```