192 lines
3.5 KiB
Markdown
192 lines
3.5 KiB
Markdown
|
|
# 🔄 ACTUALIZAR PANEL ADMIN PARA VER DATOS
|
||
|
|
|
||
|
|
**Problema:** El panel admin no muestra los datos actualizados
|
||
|
|
**Solución:** Reiniciar backend y verificar conexión
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✅ PASOS PARA ACTUALIZAR
|
||
|
|
|
||
|
|
### 1. Reiniciar el Backend
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd backend
|
||
|
|
|
||
|
|
# Detener si está corriendo
|
||
|
|
lsof -ti :3000 | xargs kill -9 2>/dev/null
|
||
|
|
|
||
|
|
# Iniciar de nuevo
|
||
|
|
npm start
|
||
|
|
```
|
||
|
|
|
||
|
|
**Verificar que esté corriendo:**
|
||
|
|
```bash
|
||
|
|
curl http://localhost:3000/health
|
||
|
|
```
|
||
|
|
|
||
|
|
Deberías ver:
|
||
|
|
```json
|
||
|
|
{"status":"ok","timestamp":"...","database":"connected"}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 2. Verificar Datos en la Base de Datos
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd backend
|
||
|
|
node -e "
|
||
|
|
import('./config/database.js').then(async (db) => {
|
||
|
|
const r = await db.query('SELECT COUNT(*) as total FROM tes_content.content_items');
|
||
|
|
console.log('Total items:', r.rows[0].total);
|
||
|
|
process.exit(0);
|
||
|
|
})
|
||
|
|
"
|
||
|
|
```
|
||
|
|
|
||
|
|
**Deberías ver:** `Total items: 7`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 3. Probar el Endpoint Directamente
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 1. Obtener token
|
||
|
|
TOKEN=$(curl -s -X POST http://localhost:3000/api/auth/login \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-d '{"email":"admin@emerges-tes.local","password":"Admin123!"}' \
|
||
|
|
| grep -o '"token":"[^"]*' | cut -d'"' -f4)
|
||
|
|
|
||
|
|
# 2. Obtener contenido
|
||
|
|
curl -X GET "http://localhost:3000/api/content?page=1&pageSize=20" \
|
||
|
|
-H "Authorization: Bearer $TOKEN" \
|
||
|
|
| python3 -m json.tool
|
||
|
|
```
|
||
|
|
|
||
|
|
**Deberías ver:**
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"items": [
|
||
|
|
{
|
||
|
|
"id": "...",
|
||
|
|
"type": "protocol",
|
||
|
|
"title": "RCP Adulto - Soporte Vital Básico",
|
||
|
|
"status": "published",
|
||
|
|
...
|
||
|
|
},
|
||
|
|
...
|
||
|
|
],
|
||
|
|
"total": 7,
|
||
|
|
"page": 1,
|
||
|
|
"pageSize": 20
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 4. Reiniciar el Panel Admin
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd admin-panel
|
||
|
|
|
||
|
|
# Detener si está corriendo
|
||
|
|
lsof -ti :5174 | xargs kill -9 2>/dev/null
|
||
|
|
|
||
|
|
# Iniciar de nuevo
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 5. Acceder al Panel
|
||
|
|
|
||
|
|
1. Abre: `http://localhost:5174`
|
||
|
|
2. Login: `admin@emerges-tes.local` / `Admin123!`
|
||
|
|
3. Ve a: "Biblioteca de Contenido" o `/content`
|
||
|
|
4. Deberías ver:
|
||
|
|
- ✅ 5 Protocolos
|
||
|
|
- ✅ 2 Fármacos
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔍 VERIFICAR QUE TODO FUNCIONA
|
||
|
|
|
||
|
|
### Checklist:
|
||
|
|
|
||
|
|
- [ ] Backend corriendo en `http://localhost:3000`
|
||
|
|
- [ ] Health check responde: `{"status":"ok"}`
|
||
|
|
- [ ] Base de datos tiene 7 items
|
||
|
|
- [ ] Endpoint `/api/content` devuelve datos con token
|
||
|
|
- [ ] Panel admin corriendo en `http://localhost:5174`
|
||
|
|
- [ ] Puedes hacer login en el panel
|
||
|
|
- [ ] La página de contenido muestra los 7 items
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🐛 SOLUCIÓN DE PROBLEMAS
|
||
|
|
|
||
|
|
### "No se muestran datos en el panel"
|
||
|
|
|
||
|
|
1. **Verifica que el backend esté corriendo:**
|
||
|
|
```bash
|
||
|
|
curl http://localhost:3000/health
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **Verifica que tengas token válido:**
|
||
|
|
- Abre DevTools (F12)
|
||
|
|
- Ve a Application → Local Storage
|
||
|
|
- Busca `admin_token`
|
||
|
|
- Si no existe, haz login de nuevo
|
||
|
|
|
||
|
|
3. **Verifica la consola del navegador:**
|
||
|
|
- Abre DevTools (F12) → Console
|
||
|
|
- Busca errores de red o JavaScript
|
||
|
|
|
||
|
|
4. **Verifica que el endpoint funcione:**
|
||
|
|
```bash
|
||
|
|
# Obtener token y probar endpoint (ver paso 3 arriba)
|
||
|
|
```
|
||
|
|
|
||
|
|
### "Error 401 Unauthorized"
|
||
|
|
|
||
|
|
- El token expiró o no existe
|
||
|
|
- Haz login de nuevo en el panel
|
||
|
|
|
||
|
|
### "Error 500 Internal Server Error"
|
||
|
|
|
||
|
|
- Revisa los logs del backend
|
||
|
|
- Verifica que el schema `tes_content` exista
|
||
|
|
- Verifica que las tablas estén creadas
|
||
|
|
|
||
|
|
### "No hay datos en la BD"
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Ejecutar migración de nuevo
|
||
|
|
cd backend
|
||
|
|
node scripts/migrate-app-content-v2.js
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 DATOS ESPERADOS
|
||
|
|
|
||
|
|
Después de la migración, deberías tener:
|
||
|
|
|
||
|
|
- **5 Protocolos:**
|
||
|
|
- RCP Adulto SVB
|
||
|
|
- RCP Adulto SVA
|
||
|
|
- RCP Pediátrico
|
||
|
|
- OVACE
|
||
|
|
- Shock Hemorrágico
|
||
|
|
|
||
|
|
- **2 Fármacos:**
|
||
|
|
- Oxígeno
|
||
|
|
- Adrenalina
|
||
|
|
|
||
|
|
**Total: 7 items publicados**
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Fin del Documento**
|
||
|
|
|