Files
gkachele-saas/memoria/GESTION_USUARIOS.md
2026-01-17 11:40:17 +01:00

101 lines
2.2 KiB
Markdown

# 👥 Gestión de Usuarios - GKACHELE™
**© 2025 GKACHELE™. Todos los derechos reservados.**
## 🎯 Objetivo
Sistema completo para ver, gestionar y eliminar usuarios registrados desde el panel de administración.
## 📍 Ubicación
**Ruta:** `/admin` (solo usuarios con rol `administrator`)
## 🔍 Funcionalidades
### 1. Ver Todos los Usuarios
El panel muestra:
- ID del usuario
- Email
- Plan (base, premium, etc.)
- Rubro
- Fecha de registro
- Número de sitios creados
- Sitios publicados
- Solicitudes enviadas
### 2. Eliminar Usuarios
**Ruta:** `POST /admin/users/delete/<user_id>`
**Protección:**
- Solo usuarios con rol `administrator`
- No se puede eliminar al usuario ID=1 (admin principal)
**Proceso de eliminación:**
1. Elimina widgets del usuario
2. Elimina menús del usuario
3. Elimina media del usuario
4. Elimina contenido del usuario
5. Elimina configuraciones del usuario
6. Elimina solicitudes del usuario
7. Elimina sitios del usuario
8. Elimina el usuario
**Todo en una transacción** - Si falla algo, se revierte todo.
## 🛡️ Seguridad
- Verificación de rol desde la base de datos (no hardcodeado)
- Confirmación antes de eliminar
- Transacciones para integridad de datos
- Protección del admin principal
## 📊 Consultas Útiles
### Ver usuarios con estadísticas:
```sql
SELECT
u.id,
u.email,
u.plan,
u.rubro,
u.role,
u.status,
u.created_at,
COUNT(DISTINCT s.id) as num_sitios,
COUNT(DISTINCT CASE WHEN s.status = 'published' THEN s.id END) as sitios_publicados,
COUNT(DISTINCT r.id) as num_solicitudes
FROM users u
LEFT JOIN sites s ON u.id = s.user_id
LEFT JOIN requests r ON u.id = r.user_id
GROUP BY u.id
ORDER BY u.id DESC;
```
### Filtrar usuarios inactivos:
```sql
SELECT * FROM users WHERE status != 'active';
```
### Ver usuarios sin sitios:
```sql
SELECT u.* FROM users u
LEFT JOIN sites s ON u.id = s.user_id
WHERE s.id IS NULL;
```
## 🚀 Próximas Mejoras
- [ ] Filtros por rol, plan, estado
- [ ] Búsqueda de usuarios
- [ ] Editar usuario (cambiar rol, plan, estado)
- [ ] Suspender usuario (sin eliminar)
- [ ] Exportar lista de usuarios
- [ ] Estadísticas de usuarios
---
**Última actualización:** 14 Enero 2025
**Hash:** `gkachele-gestion-usuarios-20250114`