. */ namespace Database\Seeders; use Illuminate\Database\Seeder; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; class TeamSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $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); } }