# _MAP: MGN-006 - Settings **Modulo:** MGN-006 **Nombre:** Configuraciones del Sistema **Fase:** 02 - Core Business **Story Points:** 25 SP **Estado:** Implementado **Sprint:** 6 **Ultima actualizacion:** 2026-01-07 --- ## Resumen Sistema de configuraciones de 3 niveles (Sistema -> Tenant -> Usuario) que gestiona parametros globales con herencia y override por nivel. --- ## Metricas | Metrica | Valor | |---------|-------| | Story Points | 25 SP | | Requerimientos (RF) | 4 | | Especificaciones (ET) | 3 | | User Stories (US) | 4 | | Tablas DB | 3 | | Endpoints API | 12 | | Tests | 28 | --- ## Requerimientos Funcionales | ID | Titulo | Prioridad | SP | |----|--------|-----------|---:| | [RF-SETTINGS-001](./requerimientos/RF-SETTINGS-001.md) | Configuracion del Sistema | P0 | 8 | | [RF-SETTINGS-002](./requerimientos/RF-SETTINGS-002.md) | Configuracion por Tenant | P0 | 8 | | [RF-SETTINGS-003](./requerimientos/RF-SETTINGS-003.md) | Preferencias de Usuario | P1 | 5 | | [RF-SETTINGS-004](./requerimientos/RF-SETTINGS-004.md) | Feature Flags | P1 | 5 | **Indice completo:** [INDICE-RF-SETTINGS.md](./requerimientos/INDICE-RF-SETTINGS.md) --- ## Especificaciones Tecnicas | ID | Archivo | Titulo | |----|---------|--------| | ET-SETTINGS-backend | [ET-SETTINGS-backend.md](./especificaciones/ET-SETTINGS-backend.md) | Backend Services | | ET-SETTINGS-frontend | [ET-SETTINGS-frontend.md](./especificaciones/ET-SETTINGS-frontend.md) | Frontend Components | | ET-SETTINGS-database | [ET-SETTINGS-database.md](./especificaciones/ET-SETTINGS-database.md) | Database Schema | --- ## Historias de Usuario | ID | Titulo | Estado | |----|--------|--------| | US-MGN006-001 | Configuracion Sistema | Implementado | | US-MGN006-002 | Configuracion Tenant | Implementado | | US-MGN006-003 | Preferencias Usuario | Implementado | | US-MGN006-004 | Cascada 3 Niveles | Implementado | --- ## Implementacion ### Database (DDL: 09-system-extensions.sql) | Objeto | Tipo | Schema | |--------|------|--------| | system_settings | Tabla | system | | tenant_settings | Tabla | tenants | | user_preferences | Tabla | auth | ### Backend (src/modules/system/) | Objeto | Tipo | Path | |--------|------|------| | SettingsService | Service | src/modules/system/settings.service.ts | | SettingsController | Controller | src/modules/system/settings.controller.ts | | SettingsRoutes | Routes | src/modules/system/settings.routes.ts | ### Entities | Entity | Path | |--------|------| | SystemSetting | src/modules/system/entities/system-setting.entity.ts | | TenantSetting | src/modules/system/entities/tenant-setting.entity.ts | | UserPreference | src/modules/system/entities/user-preference.entity.ts | ### Tests (28 tests) | Test File | Tests | |-----------|-------| | settings.service.spec.ts | 28 | ### Caracteristicas Implementadas - **Cascada de 3 niveles:** User -> Tenant -> System (con fallback) - **Cache con TTL:** 5 minutos para optimizar queries - **RLS Policies:** Aislamiento por tenant y usuario - **Seed Data:** Configuraciones base del sistema --- ## Dependencias **Depende de:** MGN-001 (Auth), MGN-004 (Tenants) **Requerido por:** Todos los modulos --- ## Trazabilidad Ver: [TRACEABILITY.yml](./implementacion/TRACEABILITY.yml) --- ## Changelog | Fecha | Sprint | Cambios | |-------|--------|---------| | 2026-01-07 | Sprint 6 | Implementacion completa: Settings Service 3-level cascade | | 2025-12-05 | - | Documentacion RF inicial | --- **Generado por:** Requirements-Analyst **Implementado por:** Backend-Agent (Sprint 6) **Fecha:** 2026-01-07