System Config Service
Descripción General
Section titled “Descripción General”El SystemConfigService gestiona las configuraciones dinámicas del sistema, permitiendo ajustar parámetros sin necesidad de redesplegar la aplicación.
Arquitectura
Section titled “Arquitectura”flowchart LR
subgraph Frontend
SC[SystemConfigViewIsland]
end
subgraph Orchestrator
R["/api/admin/system-config"]
S[SystemConfigService]
Repo[SystemConfigRepository]
end
subgraph Database
T["administracion.configuracion"]
end
SC -->|HTTPS| R
R --> S
S --> Repo
Repo -->|SQL| T
Endpoints
Section titled “Endpoints”GET /api/admin/system-config
Section titled “GET /api/admin/system-config”Lista todas las configuraciones del sistema.
Respuesta exitosa (200):
[ { "clave": "EMPRESA_LOGO_URL", "valor": "/assets/logo.png", "descripcion": "URL del logo de la empresa", "tipo": "STRING", "categoria": "BRANDING", "editable": true }, { "clave": "MAX_LIQUIDACIONES_BATCH", "valor": "100", "descripcion": "Máximo de liquidaciones a procesar en lote", "tipo": "NUMBER", "categoria": "PAYROLL", "editable": true }]GET /api/admin/system-config/:clave
Section titled “GET /api/admin/system-config/:clave”Obtiene una configuración específica por clave.
PUT /api/admin/system-config/:clave
Section titled “PUT /api/admin/system-config/:clave”Actualiza una configuración.
Request Body:
{ "valor": "nuevo_valor"}Categorías de Configuración
Section titled “Categorías de Configuración”| Categoría | Descripción |
|---|---|
BRANDING | Logo, colores, nombre visible |
PAYROLL | Parámetros de liquidaciones |
SECURITY | Timeouts, intentos de login |
NOTIFICATIONS | Emails, alertas |
INTEGRATIONS | APIs externas (SII, Previred) |
REPORTS | Formatos de reportes |
Tipos de Valor
Section titled “Tipos de Valor”| Tipo | Ejemplo | Descripción |
|---|---|---|
STRING | "valor" | Texto libre |
NUMBER | "100" | Número entero o decimal |
BOOLEAN | "true" | Verdadero o falso |
JSON | "{...}" | Objeto JSON serializado |
Configuraciones Comunes
Section titled “Configuraciones Comunes”| Clave | Default | Descripción |
|---|---|---|
MAX_LIQUIDACIONES_BATCH | 100 | Lotes de procesamiento |
DIAS_ANTICIPO_PAGO | 5 | Días antes del pago |
FORMATO_PDF_LIQUIDACION | A4 | Tamaño de página |
| Clave | Default | Descripción |
|---|---|---|
SESSION_TIMEOUT_MINUTES | 30 | Tiempo de sesión |
MAX_LOGIN_ATTEMPTS | 5 | Intentos antes de bloqueo |
PASSWORD_MIN_LENGTH | 8 | Largo mínimo contraseña |
| Clave | Default | Descripción |
|---|---|---|
SII_AMBIENTE | PRODUCCION | Ambiente del SII |
PREVIRED_ENABLED | true | Integración Previred |
BANCO_CENTRAL_API_URL | https://... | URL API BC |
Ubicación del Código
Section titled “Ubicación del Código”Directoryorchestrator/src/
Directoryroutes/admin/
- system-config.ts
Directorydomain/system-config/
- SystemConfigService.ts
- SystemConfigRepository.ts
- types.ts
Ver También
Section titled “Ver También”- CompanyService - Datos de empresa
- MonitoringService - Métricas del sistema