Admin-Organizer Linking Commands
Este documento describe los comandos y servicios disponibles para vincular el usuario administrador con una cuenta organizador en el sistema.🎯 Propósito
El sistema permite vincular el usuario administrador existente (creado por el seedUsersSeed) con una cuenta organizador para que pueda gestionar eventos y acceder a funcionalidades específicas de organizadores.
🛠️ Comandos Disponibles
Comando Artisan: admin:link-organizer
Comando principal para gestionar la vinculación entre admin y organizador.
Sintaxis
Acciones Disponibles
1. Link - Vincular admin con organizador
- Busca el usuario admin existente (
a-oceanman@mail.com) - Crea un organizador nuevo o reutiliza uno existente
- Asigna la primera tarifa disponible del sistema
- Vincula el admin con el organizador
- Muestra información detallada del proceso
2. Status - Verificar estado actual
- Verifica si el admin está vinculado a un organizador
- Muestra información del organizador asociado
- Proporciona detalles del estado de vinculación
3. Unlink - Desvincular admin del organizador
- Desvincula el admin del organizador actual
- Mantiene el organizador en el sistema
- Limpia la referencia en el usuario admin
🌱 Seeder: AdminOrganizerLinkSeed
Seeder automático para vincular admin con organizador durante la instalación.
Uso
Funcionalidad
- Verifica el estado actual de vinculación
- Ejecuta la vinculación si no está ya vinculado
- Muestra mensajes informativos del proceso
- Previene duplicaciones
🔧 Servicio: AdminOrganizerLinkService
Servicio interno que maneja toda la lógica de vinculación.
Métodos Principales
linkAdminWithOrganizer($organizerName = null)
getAdminOrganizerStatus()
unlinkAdminFromOrganizer()
📋 Requisitos Previos
1. Usuario Admin Existente
- El usuario admin debe existir (creado por
UsersSeed) - Email:
a-oceanman@mail.com - Password:
oceanman
2. Tarifas Disponibles
- Debe existir al menos una tarifa en el sistema
- Las tarifas se crean automáticamente con
TarifasSeed
3. Base de Datos
- Tabla
userscon campoorganizador_id - Tabla
organizadorescon todos los campos requeridos - Tabla
tarifascon al menos un registro
🔍 Verificación de Estado
Antes de Vincular
Después de Vincular
Verificar en Base de Datos
🚨 Solución de Problemas
Error: “Admin user not found”
- Verificar que
UsersSeedse haya ejecutado - Confirmar que existe el usuario con email
a-oceanman@mail.com
Error: “No tarifas available in the system”
- Ejecutar
TarifasSeedpara crear tarifas - Verificar que existan tarifas activas en la tabla
tarifas
Error: “Field ‘tarifas_id’ doesn’t have a default value”
- Verificar que el modelo
Organizadortengatarifas_iden$fillable - Confirmar que la migración de
tarifas_idse haya ejecutado
Error: “Admin user is already linked”
- El admin ya está vinculado a un organizador
- Usar
statuspara verificar el estado actual - Usar
unlinksi se desea cambiar la vinculación
📝 Logs y Auditoría
El servicio registra todas las operaciones en los logs de Laravel:🔄 Flujo de Trabajo Recomendado
Instalación Inicial
- Ejecutar migraciones:
php artisan migrate - Ejecutar seeds básicos:
php artisan db:seed --class=UsersSeed - Ejecutar seeds de tarifas:
php artisan db:seed --class=TarifasSeed - Vincular admin:
php artisan admin:link-organizer link
Verificación Post-Instalación
- Verificar estado:
php artisan admin:link-organizer status - Probar login con admin en el sistema
- Confirmar acceso a funcionalidades de organizador
Mantenimiento
- Usar
statuspara verificar vinculación - Usar
unlinkylinkpara cambiar organizador si es necesario - Revisar logs periódicamente para auditoría
📞 Soporte
Para problemas o dudas sobre la vinculación admin-organizador:- Verificar logs en
storage/logs/laravel.log - Ejecutar
php artisan admin:link-organizer status - Revisar este documento para solución de problemas
- Contactar al equipo de desarrollo si persisten los problemas
