| 
									
										
										
										
											2019-12-28 22:58:07 +08:00
										 |  |  | <?php namespace BookStack\Http\Controllers\Api; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use BookStack\Api\ListingResponseBuilder; | 
					
						
							|  |  |  | use BookStack\Http\Controllers\Controller; | 
					
						
							|  |  |  | use Illuminate\Database\Eloquent\Builder; | 
					
						
							|  |  |  | use Illuminate\Http\JsonResponse; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-22 22:56:19 +08:00
										 |  |  | abstract class ApiController extends Controller | 
					
						
							| 
									
										
										
										
											2019-12-28 22:58:07 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-12 22:45:54 +08:00
										 |  |  |     protected $rules = []; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-28 22:58:07 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Provide a paginated listing JSON response in a standard format | 
					
						
							|  |  |  |      * taking into account any pagination parameters passed by the user. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     protected function apiListingResponse(Builder $query, array $fields): JsonResponse | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2020-01-02 00:33:47 +08:00
										 |  |  |         $listing = new ListingResponseBuilder($query, request(), $fields); | 
					
						
							| 
									
										
										
										
											2019-12-28 22:58:07 +08:00
										 |  |  |         return $listing->toResponse(); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-01-12 22:45:54 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get the validation rules for this controller. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function getValdationRules(): array | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return $this->rules; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-12-28 22:58:07 +08:00
										 |  |  | } |