['nullable', 'integer'], 'keyword' => ['nullable', 'string', 'max:255'], 'ownerType' => ['nullable', 'in:C,T'], 'status' => ['nullable', 'integer', 'in:0,1'], 'action' => ['nullable', 'string', 'max:100'], 'from' => ['nullable', 'integer'], 'to' => ['nullable', 'integer'], 'per_page' => ['nullable', 'integer', 'min:1', 'max:200'], 'page' => ['nullable', 'integer', 'min:1'], 'sort_by' => ['nullable', 'in:id,domainName,registeredDate,expiredDate,actionDate,created_at'], 'sort_dir' => ['nullable', 'in:asc,desc'], ]; } public function toDTO(): DomainFluctuationFilterDTO { return DomainFluctuationFilterDTO::fromArray($this->validated()); } }