KTV/database/seeders/PermissionTableSeeder.php

47 lines
1.2 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
class PermissionTableSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$permissions = [
'song-list',
'song-create',
'song-edit',
'song-delete',
'room-list',
'room-create',
'room-edit',
'room-delete',
'user-list',
'user-create',
'user-edit',
'user-delete',
'role-list',
'role-create',
'role-edit',
'role-delete'
];
foreach ($permissions as $permission) {
Permission::create(['name' => $permission]);
}
// 建立 Admin 角色,給所有權限
$adminRole = Role::firstOrCreate(['name' => 'Admin']);
$adminRole->syncPermissions(Permission::all());
// 建立 User 角色,不給任何權限
Role::firstOrCreate(['name' => 'User']);
}
}