<?php

declare(strict_types=1);

namespace App\Rules\SignalIdentifier;

use Closure;
use Illuminate\Contracts\Validation\ValidationRule;

/**
 * Валидатор signal_identifier для signal_type=call.
 *
 * Требует 11-значный номер, начинающийся с 7 (российский формат, без +/пробелов).
 * Spec: docs/superpowers/specs/2026-05-10-supplier-integration-design.md §3.1
 */
class PhoneIdentifier implements ValidationRule
{
    public function validate(string $attribute, mixed $value, Closure $fail): void
    {
        if (! is_string($value) || ! preg_match('/^7\d{10}$/', $value)) {
            $fail('Phone number must be 11 digits and start with 7 (no spaces, no plus sign).');
        }
    }
}
