<?php

namespace Database\Seeders;

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

class DatabaseSeeder extends Seeder
{
    use WithoutModelEvents;

    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        $this->call(RoleSeeder::class);

        // Default admin for quick start (password: password)
        $admin = User::firstOrCreate(
            ['email' => 'admin@example.com'],
            [
                'name' => 'SSO Admin',
                'password' => bcrypt('password'),
                'email_verified_at' => now(),
            ]
        );

        // Attach broad access roles to default admin
        $admin->roles()->syncWithoutDetaching(
            \App\Models\Role::whereIn('key', ['biz_admin', 'ops_su'])->pluck('id')->all()
        );
    }
}
