user() !== null; } public function rules(): array { return [ 'status' => ['nullable', 'string', 'in:' . implode(',', [ Refund::STATUS_PENDING, Refund::STATUS_APPROVED, Refund::STATUS_PARTIAL, Refund::STATUS_PAID, Refund::STATUS_REJECTED, Refund::STATUS_CANCELED, ])], 'request' => ['nullable', 'string', 'in:tuition,overpayment,duplicate,extra'], 'parent_id' => ['nullable', 'integer', 'min:1'], 'invoice_id' => ['nullable', 'integer', 'min:1'], 'school_year' => ['nullable', 'string', 'max:20'], 'semester' => ['nullable', 'string', 'max:20'], 'q' => ['nullable', 'string', 'max:200'], 'page' => ['nullable', 'integer', 'min:1'], 'per_page' => ['nullable', 'integer', 'min:1', 'max:200'], 'sort_by' => ['nullable', 'string', 'in:created_at,updated_at,refund_amount,status,parent_id,invoice_id'], 'sort_dir' => ['nullable', 'string', 'in:asc,desc'], ]; } }