. */ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Autocomplete; use FireflyIII\Models\AccountType; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; /** * Class AutocompleteRequest */ class AutocompleteRequest extends FormRequest { use ConvertsDataTypes, ChecksLogin; /** * @return array */ public function getData(): array { $types = $this->string('types'); $array = []; if ('' !== $types) { $array = explode(',', $types); } $limit = $this->integer('limit'); $limit = 0 === $limit ? 10 : $limit; // remove 'initial balance' from allowed types. its internal $array = array_diff($array, [AccountType::INITIAL_BALANCE, AccountType::RECONCILIATION]); return [ 'types' => $array, 'query' => $this->string('query'), 'date' => $this->date('date'), 'limit' => $limit, ]; } /** * @return array */ public function rules(): array { return [ 'limit' => 'min:0|max:1337', ]; } }