186 lines
3.8 KiB
Markdown
186 lines
3.8 KiB
Markdown
|
|
# 👀 CÓMO VER TODOS LOS DATOS EN EL PANEL ADMIN
|
||
|
|
|
||
|
|
**Fecha:** 2025-01-06
|
||
|
|
**Estado:** Endpoint actualizado para usar `tes_content`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✅ SOLUCIÓN IMPLEMENTADA
|
||
|
|
|
||
|
|
He actualizado el endpoint del backend para que:
|
||
|
|
1. ✅ Busque en el schema correcto: `tes_content` (antes buscaba en `emerges_content`)
|
||
|
|
2. ✅ Mapee los campos de snake_case a camelCase para el frontend
|
||
|
|
3. ✅ Devuelva todos los datos migrados
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 CÓMO VER LOS DATOS
|
||
|
|
|
||
|
|
### Opción 1: Panel Admin (Recomendado)
|
||
|
|
|
||
|
|
1. **Inicia el backend:**
|
||
|
|
```bash
|
||
|
|
cd backend
|
||
|
|
npm start
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **Inicia el panel admin:**
|
||
|
|
```bash
|
||
|
|
cd admin-panel
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **Accede al panel:**
|
||
|
|
- URL: `http://localhost:5174`
|
||
|
|
- Login: `admin@emerges-tes.local` / `Admin123!`
|
||
|
|
|
||
|
|
4. **Ve a "Biblioteca de Contenido":**
|
||
|
|
- En el menú lateral, busca "Contenido" o "Biblioteca"
|
||
|
|
- O accede directamente: `http://localhost:5174/content`
|
||
|
|
|
||
|
|
5. **Verás:**
|
||
|
|
- ✅ 5 Protocolos (RCP Adulto SVB, RCP Adulto SVA, RCP Pediátrico, OVACE, Shock Hemorrágico)
|
||
|
|
- ✅ 2 Fármacos (Oxígeno, Adrenalina)
|
||
|
|
- Filtros por tipo, estado, búsqueda
|
||
|
|
- Tabla con todos los detalles
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Opción 2: API Directa
|
||
|
|
|
||
|
|
**Endpoint:**
|
||
|
|
```
|
||
|
|
GET http://localhost:3000/api/content
|
||
|
|
```
|
||
|
|
|
||
|
|
**Headers:**
|
||
|
|
```
|
||
|
|
Authorization: Bearer <token>
|
||
|
|
```
|
||
|
|
|
||
|
|
**Respuesta:**
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"items": [
|
||
|
|
{
|
||
|
|
"id": "...",
|
||
|
|
"type": "protocol",
|
||
|
|
"level": "operativo",
|
||
|
|
"title": "RCP Adulto - Soporte Vital Básico",
|
||
|
|
"shortTitle": "RCP Adulto SVB",
|
||
|
|
"status": "published",
|
||
|
|
"version": "1.0.0",
|
||
|
|
"createdAt": "2025-01-06T...",
|
||
|
|
"updatedAt": "2025-01-06T..."
|
||
|
|
},
|
||
|
|
...
|
||
|
|
],
|
||
|
|
"total": 7,
|
||
|
|
"page": 1,
|
||
|
|
"pageSize": 20
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Opción 3: SQL Directo
|
||
|
|
|
||
|
|
**Conecta a PostgreSQL:**
|
||
|
|
```bash
|
||
|
|
psql -h localhost -U postgres -d emerges_tes
|
||
|
|
```
|
||
|
|
|
||
|
|
**Consulta:**
|
||
|
|
```sql
|
||
|
|
-- Ver todos los protocolos
|
||
|
|
SELECT
|
||
|
|
slug,
|
||
|
|
title,
|
||
|
|
status,
|
||
|
|
priority,
|
||
|
|
clinical_context,
|
||
|
|
updated_at
|
||
|
|
FROM tes_content.content_items
|
||
|
|
WHERE type = 'protocol'
|
||
|
|
ORDER BY updated_at DESC;
|
||
|
|
|
||
|
|
-- Ver todos los fármacos
|
||
|
|
SELECT
|
||
|
|
slug,
|
||
|
|
title,
|
||
|
|
status,
|
||
|
|
priority,
|
||
|
|
updated_at
|
||
|
|
FROM tes_content.content_items
|
||
|
|
WHERE type = 'drug'
|
||
|
|
ORDER BY title;
|
||
|
|
|
||
|
|
-- Ver todo el contenido
|
||
|
|
SELECT
|
||
|
|
type,
|
||
|
|
COUNT(*) as total,
|
||
|
|
COUNT(CASE WHEN status = 'published' THEN 1 END) as published
|
||
|
|
FROM tes_content.content_items
|
||
|
|
GROUP BY type;
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 DATOS MIGRADOS
|
||
|
|
|
||
|
|
### Protocolos (5)
|
||
|
|
- `rcp-adulto-svb` - RCP Adulto - Soporte Vital Básico
|
||
|
|
- `rcp-adulto-sva` - RCP Adulto - Soporte Vital Avanzado
|
||
|
|
- `rcp-pediatrico` - RCP Pediátrico - SVB
|
||
|
|
- `obstruccion-via-aerea` - Obstrucción de Vía Aérea - OVACE
|
||
|
|
- `shock-hemorragico` - Shock Hemorrágico
|
||
|
|
|
||
|
|
### Fármacos (2)
|
||
|
|
- `oxigeno` - Oxígeno (O₂)
|
||
|
|
- `adrenalina` - Adrenalina (Epinefrina)
|
||
|
|
|
||
|
|
**Total:** 7 items publicados
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔍 FILTROS DISPONIBLES EN EL PANEL
|
||
|
|
|
||
|
|
- **Por tipo:** Protocolos, Guías, Fármacos, Checklists
|
||
|
|
- **Por estado:** Borrador, En revisión, Aprobado, Publicado
|
||
|
|
- **Búsqueda:** Por título o descripción
|
||
|
|
- **Paginación:** 20 items por página
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ⚠️ NOTAS
|
||
|
|
|
||
|
|
1. **Autenticación requerida:** El endpoint requiere token JWT
|
||
|
|
2. **Schema correcto:** Ahora busca en `tes_content` (no `emerges_content`)
|
||
|
|
3. **Campos mapeados:** Los campos se convierten de snake_case a camelCase automáticamente
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🐛 SOLUCIÓN DE PROBLEMAS
|
||
|
|
|
||
|
|
### "No se muestra contenido"
|
||
|
|
|
||
|
|
1. Verifica que el backend esté corriendo: `http://localhost:3000/api/health`
|
||
|
|
2. Verifica que estés autenticado (token en localStorage)
|
||
|
|
3. Verifica en la consola del navegador si hay errores
|
||
|
|
|
||
|
|
### "Error 500"
|
||
|
|
|
||
|
|
1. Revisa los logs del backend
|
||
|
|
2. Verifica que el schema `tes_content` exista
|
||
|
|
3. Verifica que las tablas estén creadas
|
||
|
|
|
||
|
|
### "No hay datos"
|
||
|
|
|
||
|
|
1. Ejecuta la migración: `node backend/scripts/migrate-app-content-v2.js`
|
||
|
|
2. Verifica en SQL: `SELECT COUNT(*) FROM tes_content.content_items;`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Fin del Documento**
|
||
|
|
|