<?php

declare(strict_types=1);

namespace App\Http\Requests\Auth;

use Illuminate\Foundation\Http\FormRequest;

/**
 * Валидация POST /api/auth/2fa/verify.
 *
 * Code — 6 цифр TOTP (RFC 6238) либо 9-символьный recovery (XXXX-XXXX).
 * На MVP — только TOTP; recovery будет в отдельном endpoint /2fa/recovery-use.
 */
class VerifyTwoFactorRequest extends FormRequest
{
    /** @return array<string, mixed> */
    public function rules(): array
    {
        return [
            'code' => ['required', 'string', 'regex:/^\d{6}$/'],
        ];
    }

    /** @return array<string, string> */
    public function messages(): array
    {
        return [
            'code.required' => 'Введите код из приложения-аутентификатора.',
            'code.regex' => 'Код должен состоять из 6 цифр.',
        ];
    }
}
