<?php

namespace Database\Seeders;

use App\Models\Currency;
use Carbon\Carbon;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class CurrencySeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $data = [
            ['code' => 'AED', 'name' => 'UAE Dirham', 'symbol' => 'د.إ'],
            ['code' => 'AFN', 'name' => 'Afghani', 'symbol' => '؋'],
            ['code' => 'ALL', 'name' => 'Lek', 'symbol' => 'Lek'],
            ['code' => 'AMD', 'name' => 'Armenian Dram', 'symbol' => '֏'],
            ['code' => 'ANG', 'name' => 'Netherlands Antillian Guilder', 'symbol' => 'ƒ'],
            ['code' => 'AOA', 'name' => 'Kwanza', 'symbol' => 'Kz'],
            ['code' => 'ARS', 'name' => 'Argentine Peso', 'symbol' => '$'],
            ['code' => 'AUD', 'name' => 'Australian Dollar', 'symbol' => '$'],
            ['code' => 'AWG', 'name' => 'Aruban Guilder', 'symbol' => 'ƒ'],
            ['code' => 'AZN', 'name' => 'Azerbaijanian Manat', 'symbol' => '₼'],
            ['code' => 'BAM', 'name' => 'Convertible Marks', 'symbol' => 'KM'],
            ['code' => 'BBD', 'name' => 'Barbados Dollar', 'symbol' => '$'],
            ['code' => 'BDT', 'name' => 'Bangladeshi Taka', 'symbol' => '৳'],
            ['code' => 'BGN', 'name' => 'Bulgarian Lev', 'symbol' => 'лв'],
            ['code' => 'BHD', 'name' => 'Bahraini Dinar', 'symbol' => '.د.ب'],
            ['code' => 'BIF', 'name' => 'Burundi Franc', 'symbol' => 'FBu'],
            ['code' => 'BMD', 'name' => 'Bermudian Dollar', 'symbol' => '$'],
            ['code' => 'BND', 'name' => 'Brunei Dollar', 'symbol' => '$'],
            ['code' => 'BOB', 'name' => 'Boliviano', 'symbol' => 'Bs'],
            ['code' => 'BRL', 'name' => 'Brazilian Real', 'symbol' => 'R$'],
            ['code' => 'BSD', 'name' => 'Bahamian Dollar', 'symbol' => '$'],
            ['code' => 'BTN', 'name' => 'Ngultrum', 'symbol' => 'Nu.'],
            ['code' => 'BWP', 'name' => 'Pula', 'symbol' => 'P'],
            ['code' => 'BYN', 'name' => 'Belarusian Ruble', 'symbol' => 'Br'],
            ['code' => 'BZD', 'name' => 'Belize Dollar', 'symbol' => 'BZ$'],
            ['code' => 'CAD', 'name' => 'Canadian Dollar', 'symbol' => '$'],
            ['code' => 'CDF', 'name' => 'Congolese Franc', 'symbol' => 'FC'],
            ['code' => 'CHF', 'name' => 'Swiss Franc', 'symbol' => 'CHF'],
            ['code' => 'CLP', 'name' => 'Chilean Peso', 'symbol' => '$'],
            ['code' => 'CNY', 'name' => 'Yuan Renminbi', 'symbol' => '¥'],
            ['code' => 'COP', 'name' => 'Colombian Peso', 'symbol' => '$'],
            ['code' => 'CRC', 'name' => 'Costa Rican Colon', 'symbol' => '₡'],
            ['code' => 'CUC', 'name' => 'Cuban Convertible Peso', 'symbol' => 'CUC$'],
            ['code' => 'CUP', 'name' => 'Cuban Peso', 'symbol' => '₱'],
            ['code' => 'CVE', 'name' => 'Cape Verde Escudo', 'symbol' => '$'],
            ['code' => 'CZK', 'name' => 'Czech Koruna', 'symbol' => 'Kč'],
            ['code' => 'DJF', 'name' => 'Djibouti Franc', 'symbol' => 'Fdj'],
            ['code' => 'DKK', 'name' => 'Danish Krone', 'symbol' => 'kr'],
            ['code' => 'DOP', 'name' => 'Dominican Peso', 'symbol' => 'RD$'],
            ['code' => 'DZD', 'name' => 'Algerian Dinar', 'symbol' => 'د.ج'],
            ['code' => 'EGP', 'name' => 'Egyptian Pound', 'symbol' => '£'],
            ['code' => 'ERN', 'name' => 'Nakfa', 'symbol' => 'Nfk'],
            ['code' => 'ETB', 'name' => 'Ethiopian Birr', 'symbol' => 'Br'],
            ['code' => 'EUR', 'name' => 'Euro', 'symbol' => '€'],
            ['code' => 'FJD', 'name' => 'Fiji Dollar', 'symbol' => '$'],
            ['code' => 'FKP', 'name' => 'Falkland Islands Pound', 'symbol' => '£'],
            ['code' => 'GBP', 'name' => 'Pound Sterling', 'symbol' => '£'],
            ['code' => 'GEL', 'name' => 'Lari', 'symbol' => '₾'],
            ['code' => 'GHS', 'name' => 'Ghana Cedi', 'symbol' => '₵'],
            ['code' => 'GIP', 'name' => 'Gibraltar Pound', 'symbol' => '£'],
            ['code' => 'GMD', 'name' => 'Dalasi', 'symbol' => 'D'],
            ['code' => 'GNF', 'name' => 'Guinea Franc', 'symbol' => 'FG'],
            ['code' => 'GTQ', 'name' => 'Quetzal', 'symbol' => 'Q'],
            ['code' => 'GYD', 'name' => 'Guyana Dollar', 'symbol' => '$'],
            ['code' => 'HKD', 'name' => 'Hong Kong Dollar', 'symbol' => '$'],
            ['code' => 'HNL', 'name' => 'Lempira', 'symbol' => 'L'],
            ['code' => 'HRK', 'name' => 'Croatian Kuna', 'symbol' => 'kn'],
            ['code' => 'HTG', 'name' => 'Gourde', 'symbol' => 'G'],
            ['code' => 'HUF', 'name' => 'Forint', 'symbol' => 'Ft'],
            ['code' => 'IDR', 'name' => 'Rupiah', 'symbol' => 'Rp'],
            ['code' => 'ILS', 'name' => 'New Israeli Sheqel', 'symbol' => '₪'],
            ['code' => 'INR', 'name' => 'Indian Rupee', 'symbol' => '₹'],
            ['code' => 'IQD', 'name' => 'Iraqi Dinar', 'symbol' => 'ع.د'],
            ['code' => 'IRR', 'name' => 'Iranian Rial', 'symbol' => '﷼'],
            ['code' => 'ISK', 'name' => 'Iceland Krona', 'symbol' => 'kr'],
            ['code' => 'JMD', 'name' => 'Jamaican Dollar', 'symbol' => 'J$'],
            ['code' => 'JOD', 'name' => 'Jordanian Dinar', 'symbol' => 'د.ا'],
            ['code' => 'JPY', 'name' => 'Yen', 'symbol' => '¥'],
            ['code' => 'KES', 'name' => 'Kenyan Shilling', 'symbol' => 'KSh'],
            ['code' => 'KGS', 'name' => 'Som', 'symbol' => 'с'],
            ['code' => 'KHR', 'name' => 'Riel', 'symbol' => '៛'],
            ['code' => 'KMF', 'name' => 'Comoro Franc', 'symbol' => 'CF'],
            ['code' => 'KPW', 'name' => 'North Korean Won', 'symbol' => '₩'],
            ['code' => 'KRW', 'name' => 'Won', 'symbol' => '₩'],
            ['code' => 'KWD', 'name' => 'Kuwaiti Dinar', 'symbol' => 'د.ك'],
            ['code' => 'KYD', 'name' => 'Cayman Islands Dollar', 'symbol' => '$'],
            ['code' => 'KZT', 'name' => 'Tenge', 'symbol' => '₸'],
            ['code' => 'LAK', 'name' => 'Kip', 'symbol' => '₭'],
            ['code' => 'LBP', 'name' => 'Lebanese Pound', 'symbol' => 'ل.ل'],
            ['code' => 'LKR', 'name' => 'Sri Lanka Rupee', 'symbol' => '₨'],
            ['code' => 'LRD', 'name' => 'Liberian Dollar', 'symbol' => '$'],
            ['code' => 'LSL', 'name' => 'Loti', 'symbol' => 'L'],
            ['code' => 'LYD', 'name' => 'Libyan Dinar', 'symbol' => 'ل.د'],
            ['code' => 'MAD', 'name' => 'Moroccan Dirham', 'symbol' => 'د.م.'],
            ['code' => 'MDL', 'name' => 'Moldovan Leu', 'symbol' => 'L'],
            ['code' => 'MGA', 'name' => 'Malagasy Ariary', 'symbol' => 'Ar'],
            ['code' => 'MKD', 'name' => 'Denar', 'symbol' => 'ден'],
            ['code' => 'MMK', 'name' => 'Kyat', 'symbol' => 'K'],
            ['code' => 'MNT', 'name' => 'Tugrik', 'symbol' => '₮'],
            ['code' => 'MOP', 'name' => 'Pataca', 'symbol' => 'MOP$'],
            ['code' => 'MRU', 'name' => 'Ouguiya', 'symbol' => 'UM'],
            ['code' => 'MUR', 'name' => 'Mauritius Rupee', 'symbol' => '₨'],
            ['code' => 'MVR', 'name' => 'Rufiyaa', 'symbol' => 'Rf'],
            ['code' => 'MWK', 'name' => 'Malawi Kwacha', 'symbol' => 'MK'],
            ['code' => 'MXN', 'name' => 'Mexican Peso', 'symbol' => '$'],
            ['code' => 'MYR', 'name' => 'Malaysian Ringgit', 'symbol' => 'RM'],
            ['code' => 'MZN', 'name' => 'Metical', 'symbol' => 'MT'],
            ['code' => 'NAD', 'name' => 'Namibia Dollar', 'symbol' => '$'],
            ['code' => 'NGN', 'name' => 'Naira', 'symbol' => '₦'],
            ['code' => 'NIO', 'name' => 'Cordoba Oro', 'symbol' => 'C$'],
            ['code' => 'NOK', 'name' => 'Norwegian Krone', 'symbol' => 'kr'],
            ['code' => 'NPR', 'name' => 'Nepalese Rupee', 'symbol' => '₨'],
            ['code' => 'NZD', 'name' => 'New Zealand Dollar', 'symbol' => '$'],
            ['code' => 'OMR', 'name' => 'Rial Omani', 'symbol' => '﷼'],
            ['code' => 'PAB', 'name' => 'Balboa', 'symbol' => 'B/.'],
            ['code' => 'PEN', 'name' => 'Sol', 'symbol' => 'S/'],
            ['code' => 'PGK', 'name' => 'Kina', 'symbol' => 'K'],
            ['code' => 'PHP', 'name' => 'Philippine Peso', 'symbol' => '₱'],
            ['code' => 'PKR', 'name' => 'Pakistan Rupee', 'symbol' => '₨'],
            ['code' => 'PLN', 'name' => 'Zloty', 'symbol' => 'zł'],
            ['code' => 'PYG', 'name' => 'Guarani', 'symbol' => '₲'],
            ['code' => 'QAR', 'name' => 'Qatari Rial', 'symbol' => '﷼'],
            ['code' => 'RON', 'name' => 'Romanian Leu', 'symbol' => 'lei'],
            ['code' => 'RSD', 'name' => 'Serbian Dinar', 'symbol' => 'дин'],
            ['code' => 'RUB', 'name' => 'Russian Ruble', 'symbol' => '₽'],
            ['code' => 'RWF', 'name' => 'Rwanda Franc', 'symbol' => 'FRw'],
            ['code' => 'SAR', 'name' => 'Saudi Riyal', 'symbol' => '﷼'],
            ['code' => 'SBD', 'name' => 'Solomon Islands Dollar', 'symbol' => '$'],
            ['code' => 'SCR', 'name' => 'Seychelles Rupee', 'symbol' => '₨'],
            ['code' => 'SDG', 'name' => 'Sudanese Pound', 'symbol' => 'ج.س.'],
            ['code' => 'SEK', 'name' => 'Swedish Krona', 'symbol' => 'kr'],
            ['code' => 'SGD', 'name' => 'Singapore Dollar', 'symbol' => '$'],
            ['code' => 'SHP', 'name' => 'Saint Helena Pound', 'symbol' => '£'],
            ['code' => 'SLL', 'name' => 'Leone', 'symbol' => 'Le'],
            ['code' => 'SOS', 'name' => 'Somali Shilling', 'symbol' => 'S'],
            ['code' => 'SRD', 'name' => 'Surinam Dollar', 'symbol' => '$'],
            ['code' => 'SSP', 'name' => 'South Sudanese Pound', 'symbol' => '£'],
            ['code' => 'STN', 'name' => 'Dobra', 'symbol' => 'Db'],
            ['code' => 'SVC', 'name' => 'El Salvador Colon', 'symbol' => '₡'],
            ['code' => 'SYP', 'name' => 'Syrian Pound', 'symbol' => '£'],
            ['code' => 'SZL', 'name' => 'Lilangeni', 'symbol' => 'L'],
            ['code' => 'THB', 'name' => 'Baht', 'symbol' => '฿'],
            ['code' => 'TJS', 'name' => 'Somoni', 'symbol' => 'ЅМ'],
            ['code' => 'TMT', 'name' => 'Turkmenistan Manat', 'symbol' => 'T'],
            ['code' => 'TND', 'name' => 'Tunisian Dinar', 'symbol' => 'د.ت'],
            ['code' => 'TOP', 'name' => 'Pa\'anga', 'symbol' => 'T$'],
            ['code' => 'TRY', 'name' => 'Turkish Lira', 'symbol' => '₺'],
            ['code' => 'TTD', 'name' => 'Trinidad and Tobago Dollar', 'symbol' => 'TT$'],
            ['code' => 'TWD', 'name' => 'New Taiwan Dollar', 'symbol' => 'NT$'],
            ['code' => 'TZS', 'name' => 'Tanzanian Shilling', 'symbol' => 'TSh'],
            ['code' => 'UAH', 'name' => 'Hryvnia', 'symbol' => '₴'],
            ['code' => 'UGX', 'name' => 'Uganda Shilling', 'symbol' => 'USh'],
            ['code' => 'USD', 'name' => 'US Dollar', 'symbol' => '$'],
            ['code' => 'UYU', 'name' => 'Peso Uruguayo', 'symbol' => '$U'],
            ['code' => 'UZS', 'name' => 'Uzbekistan Sum', 'symbol' => 'so\'m'],
            ['code' => 'VES', 'name' => 'Bolívar Soberano', 'symbol' => 'Bs.S'],
            ['code' => 'VND', 'name' => 'Dong', 'symbol' => '₫'],
            ['code' => 'VUV', 'name' => 'Vatu', 'symbol' => 'VT'],
            ['code' => 'WST', 'name' => 'Tala', 'symbol' => 'T'],
            ['code' => 'XAF', 'name' => 'CFA Franc BEAC', 'symbol' => 'FCFA'],
            ['code' => 'XCD', 'name' => 'East Caribbean Dollar', 'symbol' => '$'],
            ['code' => 'XOF', 'name' => 'CFA Franc BCEAO', 'symbol' => 'CFA'],
            ['code' => 'XPF', 'name' => 'CFP Franc', 'symbol' => '₣'],
            ['code' => 'YER', 'name' => 'Yemeni Rial', 'symbol' => '﷼'],
            ['code' => 'ZAR', 'name' => 'Rand', 'symbol' => 'R'],
            ['code' => 'ZMW', 'name' => 'Zambian Kwacha', 'symbol' => 'ZK'],
            ['code' => 'ZWL', 'name' => 'Zimbabwe Dollar', 'symbol' => '$'],
        ];

        foreach ($data as $item) {
            $value = [
                'country' => $item['name'],
                'currency' => $item['code'],
                'symbol' => $item['symbol'],
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now(),
            ];
            Currency::insert($value);
        }
    }
}
