diff --git a/app/Facade/Filters/Filter.php b/app/Facade/Filters/Filter.php index ffb88f2..067c784 100644 --- a/app/Facade/Filters/Filter.php +++ b/app/Facade/Filters/Filter.php @@ -6,5 +6,5 @@ class Filter { public FilterTypeEnum $type; public string $column; - public string $filter; + public mixed $filter; } \ No newline at end of file diff --git a/app/Facade/Filters/Filters.php b/app/Facade/Filters/Filters.php index ba6b77b..4810dbb 100644 --- a/app/Facade/Filters/Filters.php +++ b/app/Facade/Filters/Filters.php @@ -9,17 +9,20 @@ use JsonMapper; class Filters { - public const FILTERS_VALIDATION = []; - // 'filters.*.column' => [ 'required', 'string' ], - // 'filters.*.type' => [ 'required', Rule::enum(FilterTypeEnum::class) ], - // 'filters.*.filter' => [ 'required', 'string' ], + public static function rules() + { + return [ + 'filters.*.column' => [ 'required', 'string' ], + 'filters.*.type' => [ 'required', Rule::enum(FilterTypeEnum::class) ], + 'filters.*.filter' => [ 'required', 'nullable', 'string' ], - // 'orders.*.by' => [ 'required', 'string' ], - // 'orders.*.sort' => [ 'required', Rule::enum(OrderTypeEnum::class) ], + 'orders.*.by' => [ 'required', 'string' ], + 'orders.*.sort' => [ 'required', Rule::enum(OrderTypeEnum::class) ], - // 'pagination.size' => 'number', - // 'pagination.page' => 'number', - // ]; + 'pagination.size' => 'number', + 'pagination.page' => 'number', + ]; + } /** * @var Filter[] diff --git a/app/Http/Requests/AuthorizedFilterListRequest.php b/app/Http/Requests/AuthorizedFilterListRequest.php index 5a64a64..6542749 100644 --- a/app/Http/Requests/AuthorizedFilterListRequest.php +++ b/app/Http/Requests/AuthorizedFilterListRequest.php @@ -7,6 +7,6 @@ class AuthorizedFilterListRequest extends AuthorizedRequest { public function rules() { - return Filters::FILTERS_VALIDATION; + return Filters::rules(); } } \ No newline at end of file