<?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
    {
        // User::factory(10)->create();

         $this->call([
            // 1. Roles y permisos (spatie) — debe ir primero
            RolesPermisosSeeder::class,
 
            // 2. Sucursales — necesarias para el usuario admin
            SucursalSeeder::class,
 
            // 3. Usuario admin — necesita roles y sucursales
            AdminSeeder::class,
 
            // 4. Configuración global
            ConfiguracionSeeder::class,
 
            // 5. Categorías de caja
            CajaCategoriaSeeder::class,

            // 6. Maestro Gastronómico
            GastronomiaSeeder::class,
        ]);

        //  User::factory()->create([
        //      'name' => 'Test User',
        //      'email' => 'test@example.com',
        //  ]);

        $this->command->info('');
        $this->command->info('🎉 GastroGe listo. Puedes ingresar con:');
        $this->command->info('   URL:      http://gastro-ge.test (Laragon)');
        $this->command->info('   Email:    admin@gastro-ge.com');
        $this->command->info('   Password: GastroGe2025!');

    }
}
