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
|
|
|
```
|