<?php

declare(strict_types=1);

namespace App\Framework\Notification\Channels\WhatsApp;

use App\Framework\Core\ValueObjects\PhoneNumber;

/**
 * Fixed phone number resolver
 *
 * Returns a single hardcoded phone number for all users
 * Useful for development/testing or single-user scenarios
 */
final readonly class FixedPhoneNumberResolver implements UserPhoneNumberResolver
{
    public function __construct(
        private PhoneNumber $phoneNumber
    ) {
    }

    /**
     * Always returns the same phone number regardless of user ID
     */
    public function resolvePhoneNumber(string $userId): ?PhoneNumber
    {
        return $this->phoneNumber;
    }

    /**
     * Create resolver with default phone number
     */
    public static function createDefault(): self
    {
        return new self(
            phoneNumber: PhoneNumber::fromString('+4917941122213')
        );
    }
}
