From 6106afbecf9e07a46bbeb576967167b3ea0ac19c Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Tue, 20 Jan 2026 12:44:08 -0600 Subject: [PATCH] refactor: permisos y roles --- database/seeders/RoleSeeder.php | 47 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php index b11935f..66cea52 100644 --- a/database/seeders/RoleSeeder.php +++ b/database/seeders/RoleSeeder.php @@ -28,7 +28,7 @@ class RoleSeeder extends Seeder */ public function run(): void { - $users = PermissionType::create([ + $users = PermissionType::firstOrCreate([ 'name' => 'Usuarios' ]); @@ -42,7 +42,7 @@ public function run(): void $userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api'); $userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api'); - $roles = PermissionType::create([ + $roles = PermissionType::firstOrCreate([ 'name' => 'Roles' ]); @@ -53,13 +53,13 @@ public function run(): void $roleDestroy ] = $this->onCRUD('roles', $roles, 'api'); - $pulse = PermissionType::create([ + $pulse = PermissionType::firstOrCreate([ 'name' => 'Sistema' ]); $systemPulse = $this->onPermission('pulse', 'Monitoreo de Pulse', $pulse, 'api'); - $pulse = PermissionType::create([ + $pulse = PermissionType::firstOrCreate([ 'name' => 'Historial de actividades' ]); @@ -70,7 +70,7 @@ public function run(): void ); - $modules = PermissionType::create([ // Modulos + $modules = PermissionType::firstOrCreate([ // Modulos 'name' => 'Módulos' ]); @@ -88,7 +88,7 @@ public function run(): void 'api' ); - $devices = PermissionType::create([ //Dispositivos + $devices = PermissionType::firstOrCreate([ //Dispositivos 'name' => 'Dispositivos' ]); @@ -99,7 +99,7 @@ public function run(): void $deviceDestroy ] = $this->onCRUD('devices', $devices, 'api'); - $inscriptions = PermissionType::create([ // Inscripciones de vehículos + $inscriptions = PermissionType::firstOrCreate([ // Inscripciones de vehículos 'name' => 'Inscripciones' ]); @@ -124,7 +124,7 @@ public function run(): void 'api' ); - $cancellations = PermissionType::create([ + $cancellations = PermissionType::firstOrCreate([ 'name' => 'Cancelaciones' ]); @@ -135,7 +135,7 @@ public function run(): void 'api' ); - $updates = PermissionType::create([ + $updates = PermissionType::firstOrCreate([ 'name' => 'Actualizaciones' ]); @@ -153,7 +153,7 @@ public function run(): void 'api' ); - $records = PermissionType::create([ + $records = PermissionType::firstOrCreate([ 'name' => 'Expedientes' ]); @@ -185,7 +185,7 @@ public function run(): void 'api' ); - $packages = PermissionType::create([ + $packages = PermissionType::firstOrCreate([ 'name' => 'Paquetes' ]); @@ -196,17 +196,10 @@ public function run(): void $packageDestroy ] = $this->onCRUD('packages', $packages, 'api'); - $tags = PermissionType::create([ + $tags = PermissionType::firstOrCreate([ 'name' => 'Etiquetas' ]); - $tagAssignToModule = $this->onPermission( - 'tags.assign-to-module', - 'Asignar etiquetas a módulo', - $tags, - 'api' - ); - [ $tagIndex, $tagCreate, @@ -214,6 +207,12 @@ public function run(): void $tagDestroy, ] = $this->onCRUD('tags', $tags, 'api'); + $tagAssignToModule = $this->onPermission( + 'tags.assign-to-module', + 'Asignar etiquetas a módulo', + $tags, + 'api' + ); // Desarrollador @@ -221,14 +220,14 @@ public function run(): void 'name' => 'developer', 'description' => 'Desarrollador', 'guard_name' => 'api' - ])->givePermissionTo(Permission::all()); + ])->syncPermissions(Permission::all()); // Administrador Role::updateOrCreate([ 'name' => 'admin', 'description' => 'Administrador', 'guard_name' => 'api' - ])->givePermissionTo( + ])->syncPermissions( $userIndex, $userCreate, $userEdit, @@ -277,7 +276,7 @@ public function run(): void 'name' => 'encargado', 'description' => 'Encargado', 'guard_name' => 'api' - ])->givePermissionTo( + ])->syncPermissions( $userIndex, $userOnline, $roleIndex, @@ -314,7 +313,7 @@ public function run(): void 'name' => 'capturista', 'description' => 'Capturista', 'guard_name' => 'api' - ])->givePermissionTo( + ])->syncPermissions( $userIndex, $inscriptionVehicle, //Inscripcion de vehículos $inscriptionSearch, @@ -328,7 +327,7 @@ public function run(): void 'name' => 'perito', 'description' => 'Perito', 'guard_name' => 'api' - ])->givePermissionTo( + ])->syncPermissions( $userIndex, $inscriptionVehicle, //Inscripcion de vehículos $inscriptionSearch,