<?php

namespace Database\Seeders;

use App\Enums\UserStatus;
use App\Enums\UserType;
use App\Models\User;
use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
    public function run(): void
    {
        $users = [
            [
                'first_name' => 'Julian',
                'last_name' => 'Sterling',
                'email' => 'julian@example.com',
                'password' => 'password',
                'type' => UserType::User,
                'status' => UserStatus::Active,
                'email_verified_at' => now(),
                'phone' => '+44-777-123-4567',
                'address' => '1024 Mayfair Lane, London',
                'country' => 'GB',
            ],
            [
                'first_name' => 'Elena',
                'last_name' => 'Rothschild',
                'email' => 'elena@example.com',
                'password' => 'password',
                'type' => UserType::User,
                'status' => UserStatus::Active,
                'email_verified_at' => now(),
                'phone' => '+1-212-555-0199',
                'address' => '88 Park Avenue, New York',
                'country' => 'US',
            ],
            [
                'first_name' => 'Alexei',
                'last_name' => 'Volkov',
                'email' => 'alexei@example.com',
                'password' => 'password',
                'type' => UserType::User,
                'status' => UserStatus::Active,
                'email_verified_at' => now(),
                'phone' => '+41-22-555-8800',
                'address' => '12 Rue du Rhône, Geneva',
                'country' => 'CH',
            ],
            [
                'first_name' => 'Amara',
                'last_name' => 'Okafor',
                'email' => 'amara@example.com',
                'password' => 'password',
                'type' => UserType::User,
                'status' => UserStatus::Pending,
                'phone' => '+234-801-234-5678',
                'address' => '15 Victoria Island, Lagos',
                'country' => 'NG',
            ],
            [
                'first_name' => 'Marcus',
                'last_name' => 'Chen',
                'email' => 'marcus@example.com',
                'password' => 'password',
                'type' => UserType::User,
                'status' => UserStatus::Suspended,
                'email_verified_at' => now(),
                'phone' => '+65-9123-4567',
                'address' => '8 Marina Boulevard, Singapore',
                'country' => 'SG',
            ],
        ];

        foreach ($users as $userData) {
            User::create($userData);
        }
    }
}
