Files
cssd-back/database/seeds/AccessSeeder.php
T
2023-09-11 14:10:19 +03:30

51 lines
1.4 KiB
PHP

<?php
use App\User;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class AccessSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
if ( $this->assignAllRoleToAdministrator() ) {
dump( 'Success.' );
} else {
dump( 'Error: Please Check And Run Again.' );
}
}
private function assignAllRoleToAdministrator()
{
$roleModel = new Role();
if ( $roleModel->where( 'name' , 'administrator' )->first() == null ) {
Role::create( [
'name' => 'administrator'
] );
}
// assign role to user id 1
$user = User::find( 1 );
$user->assignRole( 'administrator' );
// get all permission
$permissions = [];
foreach ( Permission::all() as $item ) {
$permissions[ 'permissions' ][ $item ] = "1";
}
// assign all permissions to role administrator
foreach ($permissions['permissions'] as $permission) {
$role = Role::where('id', 1)->first();
$role->syncPermissions(array_keys($permission));
}
return true;
}
}