<?php

namespace Database\Seeders;

use App\Models\Server;
use Illuminate\Database\Seeder;

class ServerSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $servers = [
            [
                'name' => 'Hosting Server 1',
                'description' => 'Ana hosting sunucusu - Shared hosting için kullanılır',
                'module' => 'cpanel',
                'hostname' => 'server1.example.com',
                'ip_address' => '192.168.1.100',
                'username' => 'root',
                'password' => 'secure_password_123',
                'port' => 22,
                'status' => 'active',
                'maximum_hosts' => 500,
                'current_hosts' => 127,
            ],
            [
                'name' => 'VPS Server 1',
                'description' => 'VPS hosting sunucusu - Sanal sunucular için',
                'module' => 'virtualizor',
                'hostname' => 'vps1.example.com',
                'ip_address' => '192.168.1.101',
                'username' => 'admin',
                'password' => 'vps_admin_password',
                'port' => 4083,
                'status' => 'active',
                'maximum_hosts' => 50,
                'current_hosts' => 23,
            ],
            [
                'name' => 'Reseller Server',
                'description' => 'Reseller hosting sunucusu - Bayi hesapları için',
                'module' => 'whm',
                'hostname' => 'reseller.example.com',
                'ip_address' => '192.168.1.102',
                'username' => 'reseller_admin',
                'password' => 'reseller_password_456',
                'port' => 2087,
                'status' => 'active',
                'maximum_hosts' => 100,
                'current_hosts' => 45,
            ],
            [
                'name' => 'Dedicated Server 1',
                'description' => 'Dedicated sunucu - Özel müşteriler için',
                'module' => 'dedicated',
                'hostname' => 'dedicated1.example.com',
                'ip_address' => '192.168.1.103',
                'username' => 'dedicated_admin',
                'password' => 'dedicated_secure_789',
                'port' => 22,
                'status' => 'active',
                'maximum_hosts' => 1,
                'current_hosts' => 1,
            ],
            [
                'name' => 'Backup Server',
                'description' => 'Yedekleme sunucusu - Veri yedekleri için',
                'module' => 'backup',
                'hostname' => 'backup.example.com',
                'ip_address' => '192.168.1.104',
                'username' => 'backup_user',
                'password' => 'backup_password_321',
                'port' => 22,
                'status' => 'active',
                'maximum_hosts' => null,
                'current_hosts' => 0,
            ],
            [
                'name' => 'Development Server',
                'description' => 'Geliştirme sunucusu - Test ortamı için',
                'module' => 'cpanel',
                'hostname' => 'dev.example.com',
                'ip_address' => '192.168.1.105',
                'username' => 'dev_admin',
                'password' => 'dev_password_654',
                'port' => 22,
                'status' => 'inactive',
                'maximum_hosts' => 20,
                'current_hosts' => 5,
            ],
        ];

        foreach ($servers as $serverData) {
            Server::firstOrCreate(
                ['hostname' => $serverData['hostname']],
                $serverData
            );
        }
    }
}
