<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\User;
use App\Models\PlanHosting;
use App\Models\ClientePerfil;
use App\Models\Servicio;
use App\Models\Dominio;
use Illuminate\Support\Facades\Hash;

class DatabaseSeeder extends Seeder {
    public function run(): void {
        // Admin
        $admin = User::create([
            'name' => 'Faustino Gutiérrez',
            'email' => 'info@fgsoluciones.com',
            'password' => Hash::make('Admin2024$'),
            'role' => 'admin',
            'email_verified_at' => now(),
        ]);

        // Planes de hosting
        PlanHosting::create(['nombre'=>'Básico','descripcion'=>'Ideal para sitios personales','espacio_gb'=>5,'cuentas_email'=>5,'subdominios'=>5,'precio_mensual'=>4.99,'precio_anual'=>49.99,'activo'=>true,'orden'=>1]);
        PlanHosting::create(['nombre'=>'Profesional','descripcion'=>'Para negocios en crecimiento','espacio_gb'=>20,'cuentas_email'=>20,'subdominios'=>20,'precio_mensual'=>9.99,'precio_anual'=>99.99,'activo'=>true,'orden'=>2]);
        PlanHosting::create(['nombre'=>'Empresarial','descripcion'=>'Máximo rendimiento y recursos','espacio_gb'=>50,'cuentas_email'=>100,'subdominios'=>100,'precio_mensual'=>19.99,'precio_anual'=>199.99,'activo'=>true,'orden'=>3]);

        // Cliente de prueba
        $cliente = User::create([
            'name' => 'Cliente Demo',
            'email' => 'demo@nexusecuador.com',
            'password' => Hash::make('Demo2024$'),
            'role' => 'cliente',
            'email_verified_at' => now(),
        ]);

        ClientePerfil::create([
            'user_id' => $cliente->id,
            'cedula_ruc' => '0912345678',
            'telefono' => '0991234567',
            'direccion' => 'Av. 9 de Octubre 123',
            'ciudad' => 'Guayaquil',
            'empresa' => 'Demo Corp',
        ]);

        Servicio::create([
            'user_id' => $cliente->id,
            'plan_hosting_id' => 2,
            'dominio_principal' => 'democorp.com',
            'fecha_inicio' => now()->subMonths(6),
            'fecha_vencimiento' => now()->addDays(25),
            'estado' => 'activo',
            'cpanel_username' => 'democorp',
        ]);

        Dominio::create([
            'user_id' => $cliente->id,
            'nombre_dominio' => 'democorp',
            'extension' => 'com',
            'registrador' => 'Namecheap',
            'fecha_registro' => now()->subYear(),
            'fecha_vencimiento' => now()->addDays(8),
            'estado' => 'activo',
        ]);
    }
}
