groupSeeder(); $this->permissionSeeder(); $this->assignPermissionsToGroups(); } protected function groupSeeder(): void { $this->groups['personalia'] = Group::create(['name' => 'personalia']); $this->groups['supervisor'] = Group::create(['name' => 'supervisor']); $this->groups['staff'] = Group::create(['name' => 'staff']); } protected function permissionSeeder(): void { Permission::create(['name' => 'view-user']); Permission::create(['name' => 'view-user.group']); Permission::create(['name' => 'view-form']); Permission::create(['name' => 'view-form.group']); Permission::create(['name' => 'create-form']); Permission::create(['name' => 'update-form']); Permission::create(['name' => 'delete-form']); Permission::create(['name' => 'create-row']); Permission::create(['name' => 'update-row']); // Permission::create(['name' => 'delete-row']); } protected function assignPermissionsToGroups(): void { $this->groups['personalia']->assignPermission([ 'view-user', 'view-form', 'create-form', 'update-form', 'delete-form', 'update-row', ]); $this->groups['supervisor']->assignPermission([ 'view-user.group', 'view-form.group', 'update-row', ]); $this->groups['staff']->assignPermission([ 'create-row', ]); } }