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

2.8 KiB

Identity Migration Status

Patrón final de middleware

Rutas tenant-scoped:

import { requireIdentityTenant } from "@erp/identity/api";

router.use(...requireIdentityTenant(params));

Rutas autenticadas sin tenant:

import { requireIdentityAuthenticated } from "@erp/identity/api";

router.use(...requireIdentityAuthenticated(params));

Migrado a identity

modules/catalogs

Routers migrados:

payment-methods.routes.ts
payment-terms.routes.ts
tax-regimes.routes.ts
tax-definitions.routes.ts

Estado:

sin @erp/auth/api
sin mockUser
sin helpers locales de auth
usa requireIdentityTenant(params)

modules/customers

Router migrado:

customers.routes.ts

Estado:

sin @erp/auth/api
sin mockUser
sin helpers locales de auth
usa requireIdentityTenant(params)

modules/customer-invoices

Routers migrados:

proformas.routes.ts
issued-invoices.routes.ts

Estado:

sin @erp/auth/api
sin mockUser
sin helpers locales de auth
usa requireIdentityTenant(params)

Notas:

  • companySlug ya no debe venir de req.user.
  • La deuda documental de companySlug: "rodax" queda fuera del diseño de auth.

modules/factuges

Router migrado:

factuges.routes.ts

Estado:

sin @erp/auth/api
sin mockUser
usa requireIdentityTenant(params)

Nota:

  • La carpeta sigue llamándose infraestructure; no se ha corregido en esta migración.

Pendiente backend

modules/supplier

Sigue usando:

import { mockUser, requireAuthenticated, requireCompanyContext } from "@erp/auth/api";

Archivo:

modules/supplier/src/api/infrastructure/express/suppliers.routes.ts

Decisión actual:

No migrar supplier por ahora.

Legacy documentado

modules/auth queda documentado como legacy.

Uso backend nuevo recomendado:

import { requireIdentityTenant, requireIdentityAuthenticated } from "@erp/identity/api";

@erp/auth/api se mantiene temporalmente solo por supplier.

Frontend legacy pendiente

Todavía existen imports de @erp/auth/client en:

apps/web/src/register-modules.tsx
apps/web/src/app.tsx

Esto impide retirar completamente modules/auth aunque el backend acabe limpio.

Búsquedas útiles de control

rg -n -F "@erp/auth/api" modules apps packages
rg -n -F "mockUser" modules apps packages
rg -n -F "IdentityInternalDeps" modules apps packages
rg -n -F 'getInternal("identity")' modules apps packages
rg -n -F "getInternal('identity')" modules apps packages

Resultado esperado actual:

  • @erp/auth/api: solo supplier y documentación/exports legacy.
  • mockUser: solo supplier y modules/auth.
  • IdentityInternalDeps: no debe aparecer en módulos consumidores.
  • getInternal("identity"): no debe aparecer en módulos consumidores.