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