<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\Clients\Client;

class ClientSeeder extends Seeder
{
    public function run(): void
    {
        // Cliente de demostración interno 3ipunt
        Client::updateOrCreate(
            ['shortname' => '3ipunt-demo'],
            [
                'name'         => 'Tresipunt Demo',
                'crm_id'       => 'CRM-1001',
                'description'  => 'Cliente de demostración interno para pruebas de licencias.',
                'contacts'     => [
                    [
                        'name' => 'Equipo Tresipunt',
                        'email' => 'contacto@tresipunt.com',
                        'phone' => '666666666',
                    ]
                ],
                'jira'         => 'TP-DEMO',
                'actived'   => true,
                'metadata'     => [
                    'country'  => 'ES',
                    'industry' => 'Technology',
                ],
                'observation'  => 'Cliente interno utilizado para pruebas de desarrollo.',
            ]
        );

        // Cliente de prueba genérico
        Client::updateOrCreate(
            ['shortname' => 'client-alpha'],
            [
                'name'         => 'Cliente Alpha',
                'crm_id'       => 'CRM-2004',
                'description'  => 'Cliente ficticio para escenarios de test.',
                'contacts'     => [
                    [
                        'name' => 'Laura Gómez',
                        'email' => 'soporte@cliente-alpha.com',
                        'phone' => '666666666',
                    ]
                ],
                'jira'         => 'ALPHA-001',
                'actived'   => true,
                'metadata'     => [
                    'country'  => 'ES',
                    'industry' => 'Education',
                    'domain'   => 'alpha.edu',
                ],
                'observation'  => 'Escenario de pruebas completo (licencias, tokens y productos).',
            ]
        );

        // Crear 100 clientes usando el factory
        // Client::factory()->count(100)->create();
    }
}
