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

102 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2026-07-05 11:43:13 +00:00
# Identity Migration Status
## Patrón final de middleware
Rutas tenant-scoped:
```ts
import { requireIdentityTenant } from "@erp/identity/api";
router.use(...requireIdentityTenant(params));
```
Rutas autenticadas sin tenant:
```ts
import { requireIdentityAuthenticated } from "@erp/identity/api";
router.use(...requireIdentityAuthenticated(params));
```
## 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 `requireIdentityTenant(params)`
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
2026-07-06 12:04:47 +00:00
`modules/companies` usa:
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
```ts
import { requireIdentityAuthenticated } from "@erp/identity/api";
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
router.use(...requireIdentityAuthenticated(params));
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
```
2026-07-06 12:04:47 +00:00
## Frontend actual
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
El runtime nuevo ya usa:
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
- `@erp/identity/client`
- `IdentityAuthSessionProvider`
- `DataSourceProvider`
- Axios compartido con refresh automático
2026-07-05 11:43:13 +00:00
2026-07-06 12:04:47 +00:00
Flujo implementado:
2026-07-05 11:43:13 +00:00
```txt
2026-07-06 12:04:47 +00:00
login
-> GET /identity/auth/session
-> GET /companies/available
-> resolver empresa activa
-> auto-selección si hay una sola empresa
-> selector si hay varias
-> /no-companies si no hay empresas
-> X-Company-Id en rutas tenant-scoped
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
```