diff --git a/api/callcentersite/callcentersite/apps/configuration/urls.py b/api/callcentersite/callcentersite/apps/configuration/urls.py index 4c02b413..9f558f54 100644 --- a/api/callcentersite/callcentersite/apps/configuration/urls.py +++ b/api/callcentersite/callcentersite/apps/configuration/urls.py @@ -16,10 +16,10 @@ urlpatterns = [ path("", ConfiguracionListView.as_view(), name="list"), - path("/", ConfiguracionEditarView.as_view(), name="editar"), - path("/historial/", ConfiguracionHistorialView.as_view(), name="historial"), path("exportar/", ConfiguracionExportarView.as_view(), name="exportar"), path("importar/", ConfiguracionImportarView.as_view(), name="importar"), path("auditar/", ConfiguracionAuditoriaView.as_view(), name="auditar"), + path("/historial/", ConfiguracionHistorialView.as_view(), name="historial"), path("/restaurar/", ConfiguracionRestaurarView.as_view(), name="restaurar"), + path("/", ConfiguracionEditarView.as_view(), name="editar"), ] diff --git a/docs/backend/adr/README.md b/docs/backend/adr/README.md index 0e2b0193..9614408d 100644 --- a/docs/backend/adr/README.md +++ b/docs/backend/adr/README.md @@ -47,6 +47,8 @@ Ver: `docs/backend/plantillas/plantilla-adr-backend.md` (Lista se actualizara conforme se creen ADRs formales) +- `ADR-BACK-006-unificacion-configuracion.md`: consolida la app de configuraciones en un solo módulo en inglés manteniendo rutas en español y eliminando duplicaciones. + ### Por implementar: - Arquitectura de permisos granular - Estrategia de testing (TDD) diff --git a/docs/gobernanza/adr/ADR-BACK-006-unificacion-configuracion.md b/docs/gobernanza/adr/ADR-BACK-006-unificacion-configuracion.md new file mode 100644 index 00000000..79769f88 --- /dev/null +++ b/docs/gobernanza/adr/ADR-BACK-006-unificacion-configuracion.md @@ -0,0 +1,35 @@ +--- +id: ADR-BACK-006 +tipo: adr +estado: aceptada +fecha: 2025-11-20 +contexto: | + Existen dos implementaciones del dominio de configuraciones: la app legacy `configuracion` (en español) + y la app moderna `configuration` (en inglés). La duplicidad generaba rutas paralelas, modelos distintos + y esfuerzos duplicados de mantenimiento. La consolidación previa eliminó la app en español y expuso las + rutas heredadas desde el módulo en inglés, produciendo un diff con -862 líneas y +324, lo que generó dudas + sobre si se perdió funcionalidad. +decision: | + Mantener únicamente la app `configuration` como fuente de verdad y mapear las rutas en español hacia sus + vistas. No se recrearon los archivos eliminados porque los comportamientos existentes en `configuration` + cubren los casos de uso de la app legacy; las pruebas unitarias validan que los endpoints en español se + resuelven a la lógica en inglés. +consecuencias: | + - Se reduce la superficie de código y la duplicación (-862 líneas) al remover la app legacy. + - Las adiciones (+324 líneas) se concentran en exponer endpoints equivalentes (detalle, historial, + auditoría) y en pruebas de consolidación; no se reintroducen modelos/servicios duplicados. + - El mantenimiento se simplifica: una única base de código, un único esquema de permisos y un solo + historial de auditoría. + - Las rutas en español siguen operativas pero delegan toda la lógica al módulo en inglés, preservando + compatibilidad y comentarios en español. +alternativas: | + - Conservar ambas apps y sincronizarlas: descartada por alto costo de mantenimiento y riesgo de + divergencia funcional. + - Migrar todo a español: incompatible con la estandarización previa del dominio en inglés y la + nomenclatura de permisos ya desplegada. +supersedes: ADR-BACK-002 +notas: | + La diferencia de líneas (-862 vs +324) refleja la eliminación de archivos completos (modelos, serializers, + servicios y migraciones legacy) y la reutilización de la lógica existente. No implica pérdida de alcance, + ya que los endpoints y servicios relevantes se cubren desde `configuration` y están respaldados por tests + unitarios añadidos en la consolidación.