<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CreateCardPaymentRequest extends FormRequest
{
    public function authorize(): bool
    {
        return $this->user() !== null;
    }

    public function rules(): array
    {
        return [
            'token'             => ['required', 'string'],
            'payment_method_id' => ['required', 'string'],
            'issuer_id'         => ['nullable'],
            'installments'      => ['required', 'integer', 'min:1', 'max:12'],
            'amount'            => ['required', 'numeric', 'min:1', 'max:5000'],
            'payer.email'       => ['required', 'email'],
            'payer.document.type'   => ['required', 'in:CPF,CNPJ'],
            'payer.document.number' => ['required', 'string', 'min:11', 'max:18'],
        ];
    }
}