public function rules(): array 	{ 		return [ 			'sort_by' => ['nullable', 'string', 'in:asc,desc'], 			'sort_by_field' => ['nullable', 'string', 'in:name,price,created_at'], 			'price_min' => ['nullable', 'required_with:price_max', 'integer', 'lt:price_max', 'min:1'], 			'price_max' => ['nullable', 'required_with:price_min', 'integer', 'gt:price_min', 'min:1'], 			'search' => ['nullable', 'string', 'max:50'], 			'lang' => ['nullable', 'string', 'size:2', 'in:hr,en'], 			'per_page' => ['nullable', 'integer', 'min:1'], 			'filters' => ['array'], 			'filters.*' => ['nullable', 'bail', new ValidateFilter], 			'adult_only' => ['boolean'],  		]; 	}