<?php

namespace App\Http\Requests;

use App\Support\Backoffice\Sanitizer\Traits\SanitizesInput;
use Illuminate\Foundation\Http\FormRequest;

class NewsletterSubscriptionRequest extends FormRequest
{
    use SanitizesInput;

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules(): array
    {
        return [
            'firstName' => 'required|string|max:45',
            'lastName' => 'required|string|max:45',
            'email' => 'required|email|max:230',
            'consent' => 'required|accepted',
        ];
    }

    /**
     * Filters to be applied to the input.
     *
     * @return array
     */
    public function filters(): array
    {
        return [
            'firstName' => 'trim|strip_tags|xss_clean',
            'lastName' => 'trim|strip_tags|xss_clean',
            'email' => 'trim|strip_tags|xss_clean',
        ];
    }
}
