<?php

declare(strict_types=1);

namespace App\Http\Requests\Auth;

use Illuminate\Foundation\Http\FormRequest;

/**
 * Валидация POST /api/auth/2fa/recovery-use.
 *
 * Recovery code — формат XXXX-XXXX (8 hex символов с дефисом, 9 всего).
 * Генерация при 2FA setup: `Str::random(4) . '-' . Str::random(4)`.
 */
class UseRecoveryCodeRequest extends FormRequest
{
    /** @return array<string, mixed> */
    public function rules(): array
    {
        return [
            // Допускаем регистр любой + дефис; нормализация в controller'е.
            'code' => ['required', 'string', 'min:8', 'max:32'],
        ];
    }

    /** @return array<string, string> */
    public function messages(): array
    {
        return [
            'code.required' => 'Укажите резервный код.',
            'code.min' => 'Резервный код слишком короткий.',
        ];
    }
}
