File: /home/mocapict-106/mocapictures.kr/database/seeders/RolesAndPermissionsSeeder.php
<?php
namespace Database\Seeders;
use App\Models\Agreement;
use App\Models\User;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class RolesAndPermissionsSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
// Reset cached roles and permissions
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
Permission::create(['group' => 'Admin', 'name' => 'viewNova']);
$collection = collect([
'User',
'Role',
'Permission'
]);
$collection->each(function ($item, $key) {
// create permissions for each collection item
Permission::create(['group' => $item, 'name' => 'viewAny' . $item]);
Permission::create(['group' => $item, 'name' => 'view' . $item]);
Permission::create(['group' => $item, 'name' => 'update' . $item]);
Permission::create(['group' => $item, 'name' => 'create' . $item]);
Permission::create(['group' => $item, 'name' => 'delete' . $item]);
Permission::create(['group' => $item, 'name' => 'destroy' . $item]);
});
// Create a Super-Admin Role and assign all permissions to it
/** @var $role Role */
$role = Role::create(['name' => 'super-admin']);
$role->givePermissionTo(Permission::all());
foreach(User::all() as $user){
$user->assignRole($role);
}
}
}