feat: correo via banco mail, rol supervisor y lint en cero

This commit is contained in:
Nurfog committed 2026-09-15 17:28:52 -03:00
1 parent 2502de4e06
commit b1cddbac6c
15 files changed
+677 -107

No files matched your search

+17 -3
View File
@@ -41,16 +41,29 @@ pnpm dev
# Frontend en http://localhost:3000
```
Variable de entorno (`frontend/.env.local`, no versionado):
Variables de entorno (`frontend/.env.local`, no versionado):
```
NEXT_PUBLIC_API_URL=https://api.ichn.local # dev (.254)
NEXT_PUBLIC_API_URL=https://api.ichn.local # dev (.254), cliente (bundle)
# NEXT_PUBLIC_API_URL=https://api.devops.norteamericano.cl # prod (.4)
# Solo servidor (route /api/correos → POST /api/email/send, jamás NEXT_PUBLIC_):
# MAIL_API_KEY=clave del módulo helpdesk (POST /api/email/modules, se muestra una vez)
# SAM_API_URL=https://api.ichn.local # default: NEXT_PUBLIC_API_URL, luego prod
# MAIL_MODULE=helpdesk # default helpdesk
```
Auth: login con `idUsuario` + password (valida contra `sige_sam_v3.usuario`
en el backend). El primer integrante del equipo queda `admin` (bootstrap).
Roles del equipo (`helpdesk.team_members`):
| Rol | Alcance |
|---|---|
| `admin` | Todo + Configuración (departamentos, equipo, SLA, correo) |
| `agent` | Todos los tickets |
| `supervisor` | Solo su departamento (+ sus propios tickets); requiere departamento asignado; no puede mover tickets de departamento ni gestionar configuración |
## Deploy
Lo publica el deployer de SAM desde este repo (módulo `helpdesk`):
@@ -69,4 +82,5 @@ Base: `NEXT_PUBLIC_API_URL/api/helpdesk`
- `GET|POST /groups` · `PUT|DELETE /groups/{id}` (admin)
- `GET|POST /users` · `PUT /users/{id}` (admin)
- `GET|POST /sla` · `PUT /sla/{id}` (admin)
- `GET /email/templates` · `PUT /email/templates/{key}` · `GET /email/log` · `POST /email/test` (admin)
- `GET /email/templates` · `POST /email/templates` · `PUT /email/templates/{key}` · `GET /email/log?module=helpdesk&limit=` · `GET|POST /email/modules` · `DELETE /email/modules/{m}` (admin, banco único `mail.*`)
- `POST /api/correos` (route propio server-side → `POST /api/email/send` con `X-Module: helpdesk` + `X-Api-Key`) · `POST /helpdesk/email/inbound/sync` (admin, inbound Gmail sin cambios)