File: /var/www/html/dashboard.orbiwheels.com/database/seeders/RolePermissionSeeder.php
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class RolePermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
DB::table('role_has_permissions')->truncate();
DB::table('permissions')->truncate();
DB::table('roles')->truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
$adminRole = Role::create(['name' => 'super admin']);
$permissions = [
'home.view',
'staff.view',
'staff.create',
'staff.edit',
'staff.delete',
'transporter.view',
'transporter.create',
'transporter.edit',
'transporter.delete',
'driver.view',
'driver.create',
'driver.edit',
'driver.delete',
'customer.view',
'customer.create',
'customer.edit',
'customer.delete',
'ride.view',
'ride.delete',
'payment.view',
'payment.delete',
'report.view',
'role.view',
'role.create',
'role.edit',
'role.delete',
];
foreach ($permissions as $permissionName) {
$permission = Permission::firstOrCreate(
['name' => $permissionName, 'guard_name' => 'web']
);
$allPermissions[] = $permission;
}
if ($adminRole) {
$adminRole->syncPermissions($allPermissions);
} else {
$this->command->error('Role with ID 1 not found.');
}
$user = User::find(1);
if($user){
$user->assignRole($adminRole);
}
}
}