<?php

namespace App\Http\Requests\V1;

use App\Libs\Api\ParsedListParams;
use Illuminate\Foundation\Http\FormRequest;
use App\Libs\Support\Sanitizer\Traits\SanitizesInput;


class ItemsByTagRequest extends FormRequest
{

    use SanitizesInput;

    /**
     * Get data to be validated from the request.
     *
     * @return array
     */
    public function validationData(): array
    {
        $defaultValidationData   = ParsedListParams::getDefaultApiListRequestValidationData($this);
        //optional aditional validation data
        $adicionalValidationData = [];

        return $defaultValidationData + $adicionalValidationData;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules(): array
    {

        $defaultRules   = ParsedListParams::getDefaultApiListRequestRules();
        //optional aditional validation rules to apply
        $adicionalRules = [];
        return $defaultRules + $adicionalRules;
    }

    /**
     * Filters to be applied to the input.
     *
     * @return array
     */
    public function filters()
    {

        $defaultFilters   = ParsedListParams::getDefaultApiListFilters();
        //optional aditional filters to apply
        $adicionalFilters = [];
        return $defaultFilters + $adicionalFilters;
    }
}
