|
| 1 | +<?php |
| 2 | + |
| 3 | +namespace CSlant\Blog\Api\Http\Requests\Post; |
| 4 | + |
| 5 | +use CSlant\Blog\Api\Http\Requests\JsonFormRequest; |
| 6 | + |
| 7 | +class PostGetFiltersRequest extends JsonFormRequest |
| 8 | +{ |
| 9 | + /** |
| 10 | + * Determine if the user is authorized to make this request. |
| 11 | + * |
| 12 | + * @return bool |
| 13 | + */ |
| 14 | + public function authorize(): bool |
| 15 | + { |
| 16 | + return true; |
| 17 | + } |
| 18 | + |
| 19 | + /** |
| 20 | + * Get the validation rules that apply to the request. |
| 21 | + * |
| 22 | + * @return array<string, mixed> |
| 23 | + */ |
| 24 | + public function rules(): array |
| 25 | + { |
| 26 | + return [ |
| 27 | + 'tags' => 'nullable|array', |
| 28 | + 'tags.*' => 'nullable|integer|exists:tags,id', |
| 29 | + |
| 30 | + 'categories' => 'nullable|array', |
| 31 | + 'categories.*' => 'nullable|integer|exists:categories,id', |
| 32 | + 'categories_exclude' => 'nullable|array', |
| 33 | + 'categories_exclude.*' => 'nullable|integer|exists:categories,id', |
| 34 | + |
| 35 | + 'exclude' => 'nullable|array', |
| 36 | + 'exclude.*' => 'nullable|integer|exists:posts,id', |
| 37 | + 'include' => 'nullable|array', |
| 38 | + 'include.*' => 'nullable|integer|exists:posts,id', |
| 39 | + |
| 40 | + 'author' => 'nullable|array', |
| 41 | + 'author.*' => 'nullable|integer|exists:users,id', |
| 42 | + 'author_exclude' => 'nullable|array', |
| 43 | + 'author_exclude.*' => 'nullable|integer|exists:users,id', |
| 44 | + |
| 45 | + 'featured' => 'nullable|numeric|in:0,1', |
| 46 | + 'search' => 'nullable|string|max:255', |
| 47 | + 'order_by' => 'nullable|string', |
| 48 | + 'order' => 'nullable|string|in:asc,desc,ASC,DESC', |
| 49 | + 'page' => 'nullable|numeric', |
| 50 | + 'per_page' => 'nullable|numeric|between:1,100', |
| 51 | + ]; |
| 52 | + } |
| 53 | +} |
0 commit comments