101 lines
2.2 KiB
Markdown
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`
|