<?php

namespace Database\Seeders;

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

class PassengerUserSeeder extends Seeder
{
    /** رقم وكلمة مرور المستخدم التجريبي (يُستخدم في الدخول للفحص) */
    public const TEST_PHONE = '07701234567';
    public const TEST_PASSWORD = '123321001';

    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $phone = self::TEST_PHONE;
        $user = User::where('phone', $phone)
            ->orWhere('phone', '964' . substr(preg_replace('/\D/', '', $phone), 1))
            ->first();

        if ($user) {
            $user->update(['password' => self::TEST_PASSWORD]);
            $this->command->info('تم تحديث كلمة مرور المستخدم التجريبي.');
            return;
        }

        $passenger = User::create([
            'name' => 'راكب تجريبي',
            'email' => 'passenger@test.com',
            'password' => self::TEST_PASSWORD, // الـ cast يهشمها تلقائياً
            'phone' => $phone,
            'user_type' => 'passenger',
            'status' => 'active',
            'service_type' => 'all',
            'email_verified_at' => now(),
            'latitude' => 31.9550, // موقع المستشفى
            'longitude' => 46.2580,
        ]);

        $this->command->info('تم إنشاء مستخدم راكب تجريبي بنجاح!');
        $this->command->info('Email: passenger@test.com');
        $this->command->info('Password: ' . self::TEST_PASSWORD);
        $this->command->info('Phone: ' . self::TEST_PHONE);
    }
}
