diff --git a/RESTORATION_GUIDE.md b/RESTORATION_GUIDE.md new file mode 100644 index 0000000..dcf5f93 --- /dev/null +++ b/RESTORATION_GUIDE.md @@ -0,0 +1,190 @@ +# Guía de Restauración de Funcionalidades de Análisis de Datos + +Este documento contiene información crítica para restaurar las funcionalidades de análisis de datos que fueron temporalmente deshabilitadas durante la migración a la nueva arquitectura de autenticación. + +## Estado Actual + +Las páginas de análisis de datos están en **modo mantenimiento**. Los usuarios pueden ver las páginas en la UI con un mensaje informativo, pero la lógica de negocio y conexión a datos han sido removidas. + +## Commit con la Lógica Original + +**Commit:** `608b4dbe267f4284d22fbea172ce4bce68a977ae` +**Fecha:** Mon Oct 13 13:37:52 2025 -0600 +**Mensaje:** Remove all database dependencies and simplify application + +### Archivos que contienen la lógica original: + +```bash +# Para ver el código completo de un archivo antes de la eliminación: +git show 608b4db^:nuxt4-app/app/pages/explorer.vue +git show 608b4db^:nuxt4-app/app/pages/metadatos.vue +git show 608b4db^:nuxt4-app/app/pages/rawExplorer.vue +git show 608b4db^:nuxt4-app/app/pages/panorama.vue +git show 608b4db^:nuxt4-app/app/pages/comparativa-cosechas.vue +git show 608b4db^:nuxt4-app/app/pages/informe-ingresos.vue + +# Para ver los endpoints del servidor: +git show 608b4db^:nuxt4-app/server/api/data/index.get.ts +git show 608b4db^:nuxt4-app/server/api/data/[table]/index.get.ts +git show 608b4db^:nuxt4-app/server/api/data/[table]/[...segment].get.ts +git show 608b4db^:nuxt4-app/server/api/metadata/index.get.ts +git show 608b4db^:nuxt4-app/server/api/metadata/[table]/index.get.ts +git show 608b4db^:nuxt4-app/server/api/metadata/[table]/[id].get.ts +``` + +## Páginas Afectadas + +### 1. Explorador de Datos (`/explorer`) +- **Archivo actual:** `nuxt4-app/app/pages/explorer.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Exploración interactiva de tablas de datos con filtros y búsqueda +- **Líneas de código originales:** 378 líneas + +### 2. Metadatos (`/metadatos`) +- **Archivo actual:** `nuxt4-app/app/pages/metadatos.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Visualización de estructura de tablas y metadatos +- **Líneas de código originales:** 171 líneas + +### 3. Explorador de Datos Raw (`/rawExplorer`) +- **Archivo actual:** `nuxt4-app/app/pages/rawExplorer.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Exploración de datos en formato raw sin procesamiento +- **Líneas de código originales:** 795 líneas + +### 4. Panorama Facturador (`/panorama`) +- **Archivo actual:** `nuxt4-app/app/pages/panorama.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Dashboard de métricas de facturación +- **Líneas de código originales:** 359 líneas + +### 5. Comparativa de Cosechas (`/comparativa-cosechas`) +- **Archivo actual:** `nuxt4-app/app/pages/comparativa-cosechas.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Análisis comparativo entre diferentes cosechas +- **Líneas de código originales:** 530 líneas + +### 6. Informe de Ingresos (`/informe-ingresos`) +- **Archivo actual:** `nuxt4-app/app/pages/informe-ingresos.vue` +- **Estado:** Modo mantenimiento +- **Funcionalidad original:** Reportes detallados de ingresos +- **Líneas de código originales:** 1,181 líneas + +## Componentes y Configuración Eliminados + +### Dependencias Removidas +```json +{ + "@supabase/supabase-js": "^2.48.0" +} +``` + +### Configuración de Supabase Removida +- Variables de entorno: `SUPABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY` +- Configuración en `nuxt.config.ts`: runtimeConfig.supabase +- Cache de Supabase en service worker + +### Endpoints del Servidor Eliminados +``` +/server/api/data/ +├── index.get.ts (9 líneas) +├── [table]/ +│ ├── index.get.ts (30 líneas) +│ └── [...segment].get.ts (22 líneas) +└── /server/api/metadata/ + ├── index.get.ts (5 líneas) + ├── [table]/ + │ ├── index.get.ts (15 líneas) + │ └── [id].get.ts (12 líneas) +``` + +**Total de líneas eliminadas:** 3,649 líneas + +## Proceso de Restauración Recomendado + +### Fase 1: Recuperar el código original +```bash +# 1. Crear una rama para la restauración +git checkout -b feature/restore-data-features + +# 2. Restaurar un archivo específico +git checkout 608b4db^ -- nuxt4-app/app/pages/explorer.vue + +# 3. O restaurar todos los archivos de una vez +git checkout 608b4db^ -- nuxt4-app/app/pages/explorer.vue +git checkout 608b4db^ -- nuxt4-app/app/pages/metadatos.vue +git checkout 608b4db^ -- nuxt4-app/app/pages/rawExplorer.vue +git checkout 608b4db^ -- nuxt4-app/app/pages/panorama.vue +git checkout 608b4db^ -- nuxt4-app/app/pages/comparativa-cosechas.vue +git checkout 608b4db^ -- nuxt4-app/app/pages/informe-ingresos.vue + +# 4. Restaurar endpoints del servidor +git checkout 608b4db^ -- nuxt4-app/server/api/data/ +git checkout 608b4db^ -- nuxt4-app/server/api/metadata/ +``` + +### Fase 2: Actualizar la fuente de datos + +El código original usaba Supabase como fuente de datos. Necesitarás: + +1. **Reemplazar las llamadas a Supabase** con tu nueva fuente de datos +2. **Actualizar los endpoints del servidor** para conectar con la nueva base de datos +3. **Adaptar las queries** al nuevo esquema de datos si es diferente +4. **Probar cada página individualmente** antes de sacarla de mantenimiento + +### Fase 3: Remover el modo mantenimiento + +Una vez que una página esté funcionando: + +1. La lógica restaurada ya no usará `` +2. Remover el badge de "Mantenimiento" del sidebar en `AppSidebar.vue`: +```typescript +// Cambiar de: +{ + label: 'Explorador de datos', + icon: 'i-lucide-table', + to: '/explorer', + badge: { label: 'Mantenimiento', color: 'amber' } +} + +// A: +{ + label: 'Explorador de datos', + icon: 'i-lucide-table', + to: '/explorer' +} +``` + +## Notas Importantes + +- El componente `MaintenanceMode.vue` debe mantenerse en el código aunque se restauren las funcionalidades, puede ser útil para futuras situaciones similares +- Los archivos actuales en modo mantenimiento son solo 15-16 líneas cada uno, muy fáciles de reemplazar +- La autenticación con Authentik ya está funcionando correctamente, no necesita modificarse +- Los endpoints de auth (`/api/auth/status` y `/api/auth/check-group`) siguen funcionando y no fueron afectados + +## Comandos Útiles + +```bash +# Ver el diff completo de lo que se eliminó +git diff 608b4db^ 608b4db + +# Ver el contenido de un archivo específico +git show 608b4db^:nuxt4-app/app/pages/explorer.vue > /tmp/explorer-original.vue + +# Listar todos los archivos cambiados en ese commit +git show 608b4db --stat + +# Ver el historial completo de un archivo +git log --follow -- nuxt4-app/app/pages/explorer.vue +``` + +## Historial de Commits Relevantes + +- `2cf2242` - Add maintenance mode to data analysis pages +- `608b4db` - Remove all database dependencies and simplify application ⭐ **ESTE ES EL COMMIT IMPORTANTE** +- `1baa4de` - Remove legacy authentication and PostgreSQL configuration +- `4a3624b` - Add SessionStatusButton to navbar + +## Contacto + +Si tienes dudas sobre la restauración, revisa este documento y el commit `608b4db` para entender el estado anterior del código.