<?php

namespace Database\Seeders;

use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;

class DatabaseSeeder extends Seeder
{
    use WithoutModelEvents;

    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        // Seed all permissions and roles first
        $this->call(PermissionSeeder::class);

        // Create the root super-admin user
        $superAdmin = User::firstOrCreate(
            ['email' => 'admin@josbiz.com'],
            [
                'name'     => 'Super Admin',
                'password' => Hash::make('password1234'),
            ]
        );

        $superAdmin->assignRole('super-admin');
    }
}
