HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
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);
        }
    }
}