X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/3569/head:/app/Http/Controllers/Api/ChapterApiController.php diff --git a/app/Http/Controllers/Api/ChapterApiController.php b/app/Http/Controllers/Api/ChapterApiController.php index e58c1c8e1..8459b8449 100644 --- a/app/Http/Controllers/Api/ChapterApiController.php +++ b/app/Http/Controllers/Api/ChapterApiController.php @@ -1,10 +1,10 @@ - [ - 'book_id' => 'required|integer', - 'name' => 'required|string|max:255', - 'description' => 'string|max:1000', - 'tags' => 'array', + 'book_id' => ['required', 'integer'], + 'name' => ['required', 'string', 'max:255'], + 'description' => ['string', 'max:1000'], + 'tags' => ['array'], ], 'update' => [ - 'book_id' => 'integer', - 'name' => 'string|min:1|max:255', - 'description' => 'string|max:1000', - 'tags' => 'array', + 'book_id' => ['integer'], + 'name' => ['string', 'min:1', 'max:255'], + 'description' => ['string', 'max:1000'], + 'tags' => ['array'], ], ]; @@ -41,6 +41,7 @@ class ChapterApiController extends ApiController public function list() { $chapters = Chapter::visible(); + return $this->apiListingResponse($chapters, [ 'id', 'book_id', 'name', 'slug', 'description', 'priority', 'created_at', 'updated_at', 'created_by', 'updated_by', 'owned_by', @@ -59,6 +60,7 @@ class ChapterApiController extends ApiController $this->checkOwnablePermission('chapter-create', $book); $chapter = $this->chapterRepo->create($request->all(), $book); + return response()->json($chapter->load(['tags'])); } @@ -68,8 +70,9 @@ class ChapterApiController extends ApiController public function read(string $id) { $chapter = Chapter::visible()->with(['tags', 'createdBy', 'updatedBy', 'ownedBy', 'pages' => function (HasMany $query) { - $query->visible()->get(['id', 'name', 'slug']); + $query->scopes('visible')->get(['id', 'name', 'slug']); }])->findOrFail($id); + return response()->json($chapter); } @@ -82,6 +85,7 @@ class ChapterApiController extends ApiController $this->checkOwnablePermission('chapter-update', $chapter); $updatedChapter = $this->chapterRepo->update($chapter, $request->all()); + return response()->json($updatedChapter->load(['tags'])); } @@ -95,6 +99,7 @@ class ChapterApiController extends ApiController $this->checkOwnablePermission('chapter-delete', $chapter); $this->chapterRepo->destroy($chapter); + return response('', 204); } }