Refactored seeders

This commit is contained in:
2020-12-08 14:56:19 +00:00
parent a206782187
commit 0c667d74ef
2 changed files with 68 additions and 60 deletions

View File

@@ -23,6 +23,7 @@ namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class TeamSeeder extends Seeder
{
@@ -33,42 +34,43 @@ class TeamSeeder extends Seeder
*/
public function run()
{
Permission::create([
'name' => 'teams.user.view.own',
]);
$teamUserPermissions = [
'teams.files.view',
'teams.files.upload',
'teams.files.download',
'teams.files.delete',
];
// Some of these perms also check whether the user is a member or owner to determine access to resources.
$teamPermissions = [
'teams.view',
'teams.create',
'teams.update',
'teams.invite'
];
$admin = Role::where('name', 'admin')->first();
$reviewer = Role::where('name', 'reviewer')->first();
foreach($teamPermissions as $permission)
{
foreach ($teamUserPermissions as $userPermission)
{
Permission::create(['name' => $permission]);
Permission::create(['name' => $userPermission]);
}
}
$admin->givePermissionTo($teamPermissions);
$reviewer->givePermissionTo($teamUserPermissions);
Permission::create([
'name' => 'teams.admin.view.all',
]);
// Has access to the teams feature
Permission::create([
'name' => 'teams.view',
]);
Permission::create([
'name' => 'teams.admin.create',
]);
Permission::create([
'name' => 'teams.admin.delete',
]);
Permission::create([
'name' => 'teams.user.join',
]);
Permission::create([
'name' => 'teams.user.leave',
]);
Permission::create([
'name' => 'teams.admin.vacancies.assign',
]);
Permission::create([
'name' => 'teams.admin.vacancies.unassign',
]);
Permission::create([
'name' => 'teams.admin.applications.changeteam',
]);
Permission::create([
'name' => 'teams.members.groupchat',
]);
}
}