]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/Api/ApiController.php
Fix timestamp in API docs example response
[bookstack] / app / Http / Controllers / Api / ApiController.php
index 3f049a08c8afaba8523448137624b80dc078a0d1..5c448e49f4fbb66594eded24216c4eaa859b12b1 100644 (file)
@@ -15,10 +15,14 @@ abstract class ApiController extends Controller
      * 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
+    protected function apiListingResponse(Builder $query, array $fields, array $modifiers = []): JsonResponse
     {
         $listing = new ListingResponseBuilder($query, request(), $fields);
 
+        foreach ($modifiers as $modifier) {
+            $listing->modifyResults($modifier);
+        }
+
         return $listing->toResponse();
     }
 
@@ -26,12 +30,17 @@ abstract class ApiController extends Controller
      * Get the validation rules for this controller.
      * Defaults to a $rules property but can be a rules() method.
      */
-    public function getValdationRules(): array
+    public function getValidationRules(): array
     {
-        if (method_exists($this, 'rules')) {
-            return $this->rules();
-        }
+        return $this->rules();
+    }
 
+    /**
+     * Get the validation rules for the actions in this controller.
+     * Defaults to a $rules property but can be a rules() method.
+     */
+    protected function rules(): array
+    {
         return $this->rules;
     }
 }