Rutas
Crear una nueva ruta
Section titled “Crear una nueva ruta”Para agregar una nueva ruta, ejecute el comando:
php artisan rk:routeEsto mostrará el siguiente menú interactivo:
┌ Selecciona una opción ───────────────────────────────────────┐│ › ● 🛠️ Crear nueva ruta ││ ○ 🗑️ Eliminar ruta existente ││ ○ 🔄 Reescribir rutas ││ ○ 🚪 Salir │└──────────────────────────────────────────────────────────────┘Proceso de creación paso a paso
Section titled “Proceso de creación paso a paso”- Identificador único: Establezca el ID único de la ruta, que se usará como nombre de la ruta.
┌ Identificador único de la ruta. ─────────────────────────────┐│ id_ruta │└──────────────────────────────────────────────────────────────┘- Nodo padre: Seleccione donde insertar la ruta. Solo se mostrarán los nodos que son grupos.
┌ Insertar en: Actual (raiz): / ───────────────────────────────┐│ 📁 central_app │└──────────────────────────────────────────────────────────────┘- Permisos: Digite el permiso correspondiente para acceder a la ruta.
┌ Permiso de acceso a la ruta. ────────────────────────┐│ acceder-admin-general │└──────────────────────────────────────────────────────┘- Controlador: Seleccione un controlador previamente creado. Para archivos Livewire solo se requiere el archivo; para controladores se requiere el archivo y la función.
┌ Elige una de las rutas de partida: ──────────────────────────┐│ ⚡️ Livewire: app/Livewire │└──────────────────────────────────────────────────────────────┘- Método HTTP: Seleccione el método HTTP asociado a la ruta.
┌ Método HTTP asociado a la ruta, si es un grupo. ─────────────┐│ get │└──────────────────────────────────────────────────────────────┘- Roles: Seleccione los roles que tendrán acceso a esta ruta.
┌ A qué roles permite el acceso a la ruta. ────────────────────┐│ admin_general │└──────────────────────────────────────────────────────────────┘- Navegación: Opcionalmente, cree una navegación para esta ruta.
┌ ¿Deseas crear una navegación para esta ruta? ────────────────┐│ › ● Sí, crear navegación ││ ○ No, solo crear ruta │└──────────────────────────────────────────────────────────────┘Resultado generado
Section titled “Resultado generado”El sistema generará automáticamente una ruta con la siguiente estructura:
RkRoute::make('id_ruta') ->setParentId('central_app') ->setAccessPermission('acceder-admin-general') ->setUrlMethod('get') ->setUrlController('App\Livewire\ListPermisos') ->setRoles(['admin_general']) ->setItems([]) ->setEndBlock('id_ruta'),Eliminar una ruta
Section titled “Eliminar una ruta”Para eliminar una ruta existente:
- Ejecute el comando:
php artisan rk:route - Seleccione la opción “🗑️ Eliminar ruta existente”
- Navegue por el árbol de rutas hasta encontrar la ruta deseada
- Confirme la eliminación
┌ ⚠️ ¿Estás seguro de que deseas eliminar el elemento con ID 'id_ruta'? Esta acción no se puede deshacer. ┐│ Yes │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘Reescribir rutas
Section titled “Reescribir rutas”Para actualizar el árbol de rutas o aplicar formato con Laravel Pint:
- Ejecute:
php artisan rk:route - Seleccione ”🔄 Reescribir rutas”
- Confirme la operación
┌ 🔄 ¿Estás seguro de que deseas reescribir todos los archivos? Esto actualizará todas las entidads existentes. ┐│ Yes │└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Vinculación de permisos y rutas
Section titled “Vinculación de permisos y rutas”El paquete está diseñado para establecer permisos en un único punto, sirviendo como:
- Seeder de la aplicación
- Middleware automático
- Vinculación con el archivo de navegación
Sincronización de permisos
Section titled “Sincronización de permisos”Para sincronizar los permisos en base de datos y asignarlos a los roles configurados:
php artisan rk:accessFuncionamiento de los permisos
Section titled “Funcionamiento de los permisos”Considerando la siguiente ruta de ejemplo:
RkRoute::make('id_ruta') ->setParentId('admin_general') ->setAccessPermission('acceder-admin-general') ->setUrlMethod('get') ->setUrlController('App\Livewire\Central\Acceso\Permiso\ListPermisos') ->setRoles(['admin_general']) ->setItems([]) ->setEndBlock('id_ruta'),setAccessPermission: Se usa como middleware para acceder a la rutasetRoles: Los roles configurados recibirán automáticamente ese permiso al sincronizar
Al ejecutar php artisan rk:access, los permisos se sincronizarán y los cambios se aplicarán correctamente en la base de datos.