- $sortedBooks = [];
- $updatedModels = collect();
- $sortMap = json_decode($request->get('sort-tree'));
- $defaultBookId = $book->id;
-
- $permissionsList = [$book->id];
-
- // Loop through contents of provided map and update entities accordingly
- foreach ($sortMap as $bookChild) {
- $priority = $bookChild->sort;
- $id = intval($bookChild->id);
- $isPage = $bookChild->type == 'page';
- $bookId = $defaultBookId;
- $targetBook = $this->entityRepo->getById('book', $bookChild->book);
-
- // Check permission for target book
- if (!empty($targetBook)) {
- $bookId = $targetBook->id;
- if (!in_array($bookId, $permissionsList)) {
- $this->checkOwnablePermission('book-update', $targetBook);
- // cache the permission for future use.
- $permissionsList[] = $bookId;
- }
- }