@@ -31,26 +31,24 @@ public function run(): void {
3131 $ permissions = collect (PermissionsEnum::cases ())
3232 ->map (fn ($ permission ) => Permission::query ()->firstOrCreate (['name ' => $ permission ->value ]));
3333
34- // Create roles and assign permissions
35- // Role::query()->upsert(['name' => RolesEnum::ADMINISTRATOR->value, 'guard_name' => 'web'], uniqueBy: 'name', update: ['name']);
36-
3734 // create roles using RolesEnum
38- $ admin_role = Role::query ()->firstOrCreate (['name ' => RolesEnum::ADMINISTRATOR ->value , 'guard_name ' => 'web ' ]);
39- $ user_manager_role = Role::query ()->firstOrCreate (['name ' => RolesEnum::USER_MANAGER ->value , 'guard_name ' => 'web ' ]);
40- Role::query ()->firstOrCreate (['name ' => RolesEnum::REGISTERED_USER ->value , 'guard_name ' => 'web ' ]);
35+ $ adminRole = Role::query ()->firstOrCreate (['name ' => RolesEnum::ADMIN ->value , 'guard_name ' => 'web ' ]);
36+ $ annotationManagerRole = Role::query ()->firstOrCreate (['name ' => RolesEnum::ANNOTATION_MANAGER ->value , 'guard_name ' => 'web ' ]);
37+ Role::query ()->firstOrCreate (['name ' => RolesEnum::ANNOTATOR ->value , 'guard_name ' => 'web ' ]);
38+
4139 // flush cache after creating roles and permissions
4240 app ()->make (PermissionRegistrar::class)->forgetCachedPermissions ();
4341
44- // assign permissions to roles
45- $ user_manager_role ->givePermissionTo ([
42+ // Annotation managers can manage users
43+ $ annotationManagerRole ->givePermissionTo ([
4644 PermissionsEnum::VIEW_USERS ->value ,
4745 PermissionsEnum::CREATE_USERS ->value ,
4846 PermissionsEnum::UPDATE_USERS ->value ,
4947 PermissionsEnum::DELETE_USERS ->value ,
5048 PermissionsEnum::RESTORE_USERS ->value ,
5149 ]);
5250
53- $ admin_role -> givePermissionTo (Permission:: all ());
54- $ admin_role ->givePermissionTo ($ permissions );
51+ // Admin gets all permissions
52+ $ adminRole ->givePermissionTo ($ permissions );
5553 }
5654}
0 commit comments