Files
analiticaNucleo/RESTORATION_GUIDE.md
josedario87 226d807d76
All checks were successful
build-and-deploy / build (push) Successful in 7s
build-and-deploy / deploy (push) Successful in 2s
docs: add restoration guide for data analysis features
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
2025-10-13 14:24:01 -06:00

7.0 KiB

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:

# 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

{
  "@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

# 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:
// 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

# 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.