. */ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\TransactionCurrency; use FireflyIII\Rules\IsBoolean; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; /** * Class StoreRequest * * @codeCoverageIgnore */ class StoreRequest extends FormRequest { use ConvertsDataTypes, ChecksLogin; /** * Get all data from the request. * * @return array */ public function getAll(): array { $enabled = true; $default = false; if (null !== $this->get('enabled')) { $enabled = $this->boolean('enabled'); } if (null !== $this->get('default')) { $default = $this->boolean('default'); } return [ 'name' => $this->convertString('name'), 'code' => $this->convertString('code'), 'symbol' => $this->convertString('symbol'), 'decimal_places' => $this->integer('decimal_places'), 'default' => $default, 'enabled' => $enabled, ]; } /** * The rules that the incoming request must be matched against. * * @return array */ public function rules(): array { return [ 'name' => 'required|between:1,255|unique:transaction_currencies,name', 'code' => 'required|between:3,51|unique:transaction_currencies,code', 'symbol' => 'required|between:1,51|unique:transaction_currencies,symbol', 'decimal_places' => 'between:0,20|numeric|min:0|max:20', 'enabled' => [new IsBoolean()], 'default' => [new IsBoolean()], ]; } }