Uecko_ERP/modules/companies/README.md

79 lines
1.3 KiB
Markdown
Raw Normal View History

2026-07-06 15:47:05 +00:00
# `modules/companies`
`companies` es el módulo independiente y fuente de verdad de la ficha operativa de empresa.
## Responsabilidades
Gestiona la entidad `Company` funcional del ERP:
- datos legales
- datos operativos básicos
- `slug`
- `status`
Separación arquitectónica:
- `modules/identity`: autenticación, cuentas, memberships, acceso account-company
- `modules/companies`: ficha real de empresa y validación de company activa
## Tabla `companies`
Campos actuales:
```txt
id
legal_name
trade_name
tin
slug
email
phone
website
status
created_at
updated_at
```
Índices esperados:
```txt
UNIQUE(slug)
INDEX(status)
INDEX(tin)
```
## Servicios públicos
El módulo expone:
```txt
companies:general
```
Responsabilidad:
- validar existencia y estado activo de la company
- devolver datos públicos/operativos de empresa
No debe asumir:
- memberships
- autenticación por cuenta
- roles/permisos de identity
## Dependencias
`modules/companies` depende de `identity`.
Uso actual:
- sus endpoints usan `requireIdentityAuthenticated(params)`
- `GET /companies/available` no usa `requireIdentityTenant(params)`
## Reglas
- `CompanyMembership` vive en `identity`.
- No mover memberships a `companies`.
- No usar `customers` para representar la empresa tenant.
- `companySlug` no debe venir de token, `X-Company-Slug` ni `req.user.companySlug`.