Add comprehensive documentation for restoring data analysis pages
that were put in maintenance mode during database migration.
Includes:
- Commit reference (608b4db) with original logic
- Commands to restore each file from git history
- Step-by-step restoration process
- Notes about Supabase to new data source migration
- File-by-file breakdown of removed functionality
191 lines
7.0 KiB
Markdown
191 lines
7.0 KiB
Markdown
# 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á `<MaintenanceMode />`
|
|
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.
|