]> BookStack Code Mirror - bookstack/commitdiff
Queries: Moved out or removed some class-level items
authorDan Brown <redacted>
Wed, 7 Feb 2024 22:41:45 +0000 (22:41 +0000)
committerDan Brown <redacted>
Wed, 7 Feb 2024 22:41:45 +0000 (22:41 +0000)
Also ran auto-removal of unused imports across app folder.

29 files changed:
app/Activity/Controllers/CommentController.php
app/Api/ApiDocsGenerator.php
app/App/HomeController.php
app/App/Providers/ThemeServiceProvider.php
app/Console/Commands/CopyShelfPermissionsCommand.php
app/Entities/Controllers/BookController.php
app/Entities/Controllers/ChapterExportApiController.php
app/Entities/Controllers/PageController.php
app/Entities/Controllers/PageExportApiController.php
app/Entities/Models/BookChild.php
app/Entities/Models/Chapter.php
app/Entities/Models/Page.php
app/Entities/Queries/BookQueries.php
app/Entities/Queries/BookshelfQueries.php
app/Entities/Queries/ChapterQueries.php
app/Entities/Queries/EntityQueries.php
app/Entities/Queries/PageQueries.php
app/Entities/Queries/ProvidesEntityQueries.php
app/Entities/Repos/BaseRepo.php
app/Permissions/JointPermissionBuilder.php
app/References/ReferenceController.php
app/Search/SearchController.php
app/Search/SearchRunner.php
app/Uploads/AttachmentService.php
app/Uploads/Controllers/AttachmentApiController.php
app/Uploads/Controllers/GalleryImageController.php
app/Uploads/Controllers/ImageGalleryApiController.php
app/Uploads/ImageRepo.php
app/Uploads/ImageService.php

index 0e8db9eaf3c58a7c03adcce0ab9cc8848a2e9461..52ccc823864e9e6e3221580b080aa0019968eb40 100644 (file)
@@ -3,7 +3,6 @@
 namespace BookStack\Activity\Controllers;
 
 use BookStack\Activity\CommentRepo;
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Http\Controller;
 use Illuminate\Http\Request;
index bffc38623bfa75e0dfeea3f51f696e7413116b18..9cae80617e5ae2a44c76003f50a0bd32b6744a61 100644 (file)
@@ -7,7 +7,6 @@ use Exception;
 use Illuminate\Contracts\Container\BindingResolutionException;
 use Illuminate\Support\Collection;
 use Illuminate\Support\Facades\Cache;
-use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Route;
 use Illuminate\Support\Str;
 use Illuminate\Validation\Rules\Password;
index 6a4cb017669225e92c1467d59c0e0c273c191b52..56f3d81a8db9d686e2a1a8729414ae4f576cdd34 100644 (file)
@@ -3,7 +3,6 @@
 namespace BookStack\App;
 
 use BookStack\Activity\ActivityQueries;
-use BookStack\Entities\Models\Book;
 use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\EntityQueries;
 use BookStack\Entities\Queries\RecentlyViewed;
index c15b43a6b4cdfe11002450717da9ef3b64a25fa5..4c657d9123208dca5f7aaae592e3f1cfc152fb32 100644 (file)
@@ -4,7 +4,6 @@ namespace BookStack\App\Providers;
 
 use BookStack\Theming\ThemeEvents;
 use BookStack\Theming\ThemeService;
-use Illuminate\Support\Facades\Route;
 use Illuminate\Support\ServiceProvider;
 
 class ThemeServiceProvider extends ServiceProvider
index 8463ccd03f8ee9b66e5a6fd5aa0899556dd668e1..c5e2d504e759bea142749aba89c6c8a53a378853 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Console\Commands;
 
-use BookStack\Entities\Models\Bookshelf;
 use BookStack\Entities\Queries\BookshelfQueries;
 use BookStack\Entities\Tools\PermissionsUpdater;
 use Illuminate\Console\Command;
index a0b98636fc8a089ec208a01ead162f61339d0f27..a1c586f47e7ce9fca429fca433f1e41de07872f2 100644 (file)
@@ -6,7 +6,6 @@ use BookStack\Activity\ActivityQueries;
 use BookStack\Activity\ActivityType;
 use BookStack\Activity\Models\View;
 use BookStack\Activity\Tools\UserEntityWatchOptions;
-use BookStack\Entities\Models\Bookshelf;
 use BookStack\Entities\Queries\BookQueries;
 use BookStack\Entities\Queries\BookshelfQueries;
 use BookStack\Entities\Repos\BookRepo;
index 08aa959b3eb97d151e4b4c1bb87a0ec56d07603f..ceb2522b2118212657a9a1bbab666fe42c28581c 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Entities\Controllers;
 
-use BookStack\Entities\Models\Chapter;
 use BookStack\Entities\Queries\ChapterQueries;
 use BookStack\Entities\Tools\ExportFormatter;
 use BookStack\Http\ApiController;
index 44ba999e807212789bead04823819d633ccb6950..eab53bb2510c361a0b849eee542f2eb8214326bc 100644 (file)
@@ -7,7 +7,6 @@ use BookStack\Activity\Tools\CommentTree;
 use BookStack\Activity\Tools\UserEntityWatchOptions;
 use BookStack\Entities\Models\Book;
 use BookStack\Entities\Models\Chapter;
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\EntityQueries;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Entities\Repos\PageRepo;
index 8737f2f3ebab9da8018ff125989cb61701d3ef45..693760bc8e727ddb6ce13a8c004f3a808f816670 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Entities\Controllers;
 
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Entities\Tools\ExportFormatter;
 use BookStack\Http\ApiController;
index d19a2466a406ba668c623e9751ec4550cf9482ad..ad54fb926a9edb1158b5e07cfec62ea00af76306 100644 (file)
@@ -13,24 +13,9 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
  * @property int    $priority
  * @property string $book_slug
  * @property Book   $book
- *
- * @method Builder whereSlugs(string $bookSlug, string $childSlug)
  */
 abstract class BookChild extends Entity
 {
-    /**
-     * Scope a query to find items where the child has the given childSlug
-     * where its parent has the bookSlug.
-     */
-    public function scopeWhereSlugs(Builder $query, string $bookSlug, string $childSlug)
-    {
-        return $query->with('book')
-            ->whereHas('book', function (Builder $query) use ($bookSlug) {
-                $query->where('slug', '=', $bookSlug);
-            })
-            ->where('slug', '=', $childSlug);
-    }
-
     /**
      * Get the book this page sits in.
      */
index 422c82442fe8d203ed63cffd404eefa03af96c92..c926aaa647a7d75501b55880e1cd2c834990f8fc 100644 (file)
@@ -69,13 +69,4 @@ class Chapter extends BookChild
         ->orderBy('priority', 'asc')
         ->get();
     }
-
-    /**
-     * Get a visible chapter by its book and page slugs.
-     * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
-     */
-    public static function getBySlugs(string $bookSlug, string $chapterSlug): self
-    {
-        return static::visible()->whereSlugs($bookSlug, $chapterSlug)->firstOrFail();
-    }
 }
index 17d6f9a016f59e7805f7743a98fb41f38e140e75..3a433338bfe18cf052bf83fdde78ae279d5d9635 100644 (file)
@@ -32,9 +32,6 @@ class Page extends BookChild
 {
     use HasFactory;
 
-    public static $listAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'text', 'created_at', 'updated_at', 'priority'];
-    public static $contentAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'html', 'text', 'created_at', 'updated_at', 'priority'];
-
     protected $fillable = ['name', 'priority'];
 
     public string $textField = 'text';
@@ -145,13 +142,4 @@ class Page extends BookChild
 
         return $refreshed;
     }
-
-    /**
-     * Get a visible page by its book and page slugs.
-     * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
-     */
-    public static function getBySlugs(string $bookSlug, string $pageSlug): self
-    {
-        return static::visible()->whereSlugs($bookSlug, $pageSlug)->firstOrFail();
-    }
 }
index 2ffff5eca2e95fe11103bff719ca39c1ad554917..8f62e513c7c9d9ff4f90dcbfc37aaca9d40be26a 100644 (file)
@@ -8,6 +8,10 @@ use Illuminate\Database\Eloquent\Builder;
 
 class BookQueries implements ProvidesEntityQueries
 {
+    protected static array $listAttributes = [
+        'id', 'slug', 'name', 'description', 'created_at', 'updated_at', 'image_id'
+    ];
+
     public function start(): Builder
     {
         return Book::query();
@@ -40,7 +44,8 @@ class BookQueries implements ProvidesEntityQueries
 
     public function visibleForList(): Builder
     {
-        return $this->start()->scopes('visible');
+        return $this->start()->scopes('visible')
+            ->select(static::$listAttributes);
     }
 
     public function visibleForListWithCover(): Builder
index f2fe5053143a090211e318ecb6343f9a29185e3f..47ff068a93b4024d62495dfb43ad065462190a49 100644 (file)
@@ -8,6 +8,10 @@ use Illuminate\Database\Eloquent\Builder;
 
 class BookshelfQueries implements ProvidesEntityQueries
 {
+    protected static array $listAttributes = [
+        'id', 'slug', 'name', 'description', 'created_at', 'updated_at', 'image_id'
+    ];
+
     public function start(): Builder
     {
         return Bookshelf::query();
@@ -46,7 +50,7 @@ class BookshelfQueries implements ProvidesEntityQueries
 
     public function visibleForList(): Builder
     {
-        return $this->start()->scopes('visible');
+        return $this->start()->scopes('visible')->select(static::$listAttributes);
     }
 
     public function visibleForListWithCover(): Builder
index 31193c7ea73db33490e1b1dd2c33d0cb6ed7ce2a..34f762a158106f916abaea6a30789cce489f7736 100644 (file)
@@ -10,8 +10,7 @@ class ChapterQueries implements ProvidesEntityQueries
 {
     protected static array $listAttributes = [
         'id', 'slug', 'name', 'description', 'priority',
-        'created_at', 'updated_at',
-        'created_by', 'updated_by', 'owned_by',
+        'created_at', 'updated_at'
     ];
 
     public function start(): Builder
index 31e5b913ad10fd5c6e53cf5a328ff297cb34c7cc..36dc6c0bc8ac04b2408eaf6a9074b32b44f99dfd 100644 (file)
@@ -3,6 +3,8 @@
 namespace BookStack\Entities\Queries;
 
 use BookStack\Entities\Models\Entity;
+use Illuminate\Database\Eloquent\Builder;
+use InvalidArgumentException;
 
 class EntityQueries
 {
@@ -25,9 +27,25 @@ class EntityQueries
         $explodedId = explode(':', $identifier);
         $entityType = $explodedId[0];
         $entityId = intval($explodedId[1]);
+        $queries = $this->getQueriesForType($entityType);
 
+        return $queries->findVisibleById($entityId);
+    }
+
+    /**
+     * Start a query of visible entities of the given type,
+     * suitable for listing display.
+     */
+    public function visibleForList(string $entityType): Builder
+    {
+        $queries = $this->getQueriesForType($entityType);
+        return $queries->visibleForList();
+    }
+
+    protected function getQueriesForType(string $type): ProvidesEntityQueries
+    {
         /** @var ?ProvidesEntityQueries $queries */
-        $queries = match ($entityType) {
+        $queries = match ($type) {
             'page' => $this->pages,
             'chapter' => $this->chapters,
             'book' => $this->books,
@@ -36,9 +54,9 @@ class EntityQueries
         };
 
         if (is_null($queries)) {
-            return null;
+            throw new InvalidArgumentException("No entity query class configured for {$type}");
         }
 
-        return $queries->findVisibleById($entityId);
+        return $queries;
     }
 }
index e22769c3af6915b9ae601708dcf74d3826dcd322..ec27ba4aa6e3e6302d511c0eefe43b9c1d4c8622 100644 (file)
@@ -8,6 +8,15 @@ use Illuminate\Database\Eloquent\Builder;
 
 class PageQueries implements ProvidesEntityQueries
 {
+    protected static array $contentAttributes = [
+        'name', 'id', 'slug', 'book_id', 'chapter_id', 'draft',
+        'template', 'html', 'text', 'created_at', 'updated_at', 'priority'
+    ];
+    protected static array $listAttributes = [
+        'name', 'id', 'slug', 'book_id', 'chapter_id', 'draft',
+        'template', 'text', 'created_at', 'updated_at', 'priority'
+    ];
+
     public function start(): Builder
     {
         return Page::query();
@@ -60,22 +69,14 @@ class PageQueries implements ProvidesEntityQueries
     {
         return $this->start()
             ->scopes('visible')
-            ->select(array_merge(Page::$listAttributes, ['book_slug' => function ($builder) {
-                $builder->select('slug')
-                    ->from('books')
-                    ->whereColumn('books.id', '=', 'pages.book_id');
-            }]));
+            ->select($this->mergeBookSlugForSelect(static::$listAttributes));
     }
 
     public function visibleWithContents(): Builder
     {
         return $this->start()
             ->scopes('visible')
-            ->select(array_merge(Page::$contentAttributes, ['book_slug' => function ($builder) {
-                $builder->select('slug')
-                    ->from('books')
-                    ->whereColumn('books.id', '=', 'pages.book_id');
-            }]));
+            ->select($this->mergeBookSlugForSelect(static::$contentAttributes));
     }
 
     public function currentUserDraftsForList(): Builder
@@ -90,4 +91,13 @@ class PageQueries implements ProvidesEntityQueries
         return $this->visibleForList()
             ->where('template', '=', true);
     }
+
+    protected function mergeBookSlugForSelect(array $columns): array
+    {
+        return array_merge($columns, ['book_slug' => function ($builder) {
+            $builder->select('slug')
+                ->from('books')
+                ->whereColumn('books.id', '=', 'pages.book_id');
+        }]);
+    }
 }
index 1033522447a602393d0dc6afa8798272a65033cc..611d0ae526bb24bd0804964818e05ae36076266d 100644 (file)
@@ -16,6 +16,19 @@ use Illuminate\Database\Eloquent\Builder;
  */
 interface ProvidesEntityQueries
 {
+    /**
+     * Start a new query for this entity type.
+     */
     public function start(): Builder;
+
+    /**
+     * Find the entity of the given ID, or return null if not found.
+     */
     public function findVisibleById(int $id): ?Entity;
+
+    /**
+     * Start a query for items that are visible, with selection
+     * configured for list display of this item.
+     */
+    public function visibleForList(): Builder;
 }
index 6674f559a2e4c95e832828a3eb8d0295262f2568..033350743e0dd824bc259254d67e80edee3c187c 100644 (file)
@@ -8,7 +8,6 @@ use BookStack\Entities\Models\Chapter;
 use BookStack\Entities\Models\Entity;
 use BookStack\Entities\Models\HasCoverImage;
 use BookStack\Entities\Models\HasHtmlDescription;
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Exceptions\ImageUploadException;
 use BookStack\References\ReferenceStore;
index 49eaf0774f1ef8daefe10bb4ef64752b6e84b959..c2922cdc9611481b1ba58a64d968f6e9d6dd18a8 100644 (file)
@@ -4,7 +4,6 @@ namespace BookStack\Permissions;
 
 use BookStack\Entities\Models\Book;
 use BookStack\Entities\Models\BookChild;
-use BookStack\Entities\Models\Bookshelf;
 use BookStack\Entities\Models\Chapter;
 use BookStack\Entities\Models\Entity;
 use BookStack\Entities\Models\Page;
index 57dbcce3c5129763a5a9d43a6966f293cc2c8585..2fe86fd594b9c8a95cf692401074b13839395175 100644 (file)
@@ -2,10 +2,6 @@
 
 namespace BookStack\References;
 
-use BookStack\Entities\Models\Book;
-use BookStack\Entities\Models\Bookshelf;
-use BookStack\Entities\Models\Chapter;
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\EntityQueries;
 use BookStack\Http\Controller;
 
index 08f0826dd608f2872f75fa0d3b31f3988e945ecf..b94ec1ec7cefcca9b77acccf0821c97e1032d95f 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Search;
 
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Entities\Queries\Popular;
 use BookStack\Entities\Tools\SiblingFetcher;
index aac9d10005b64f23768961356890e21ea37cde35..94518dbf7b263d0594e6427a413702b063c82de2 100644 (file)
@@ -3,9 +3,9 @@
 namespace BookStack\Search;
 
 use BookStack\Entities\EntityProvider;
-use BookStack\Entities\Models\BookChild;
 use BookStack\Entities\Models\Entity;
 use BookStack\Entities\Models\Page;
+use BookStack\Entities\Queries\EntityQueries;
 use BookStack\Permissions\PermissionApplicator;
 use BookStack\Users\Models\User;
 use Illuminate\Database\Connection;
@@ -20,9 +20,6 @@ use SplObjectStorage;
 
 class SearchRunner
 {
-    protected EntityProvider $entityProvider;
-    protected PermissionApplicator $permissions;
-
     /**
      * Acceptable operators to be used in a query.
      *
@@ -38,10 +35,11 @@ class SearchRunner
      */
     protected $termAdjustmentCache;
 
-    public function __construct(EntityProvider $entityProvider, PermissionApplicator $permissions)
-    {
-        $this->entityProvider = $entityProvider;
-        $this->permissions = $permissions;
+    public function __construct(
+        protected EntityProvider $entityProvider,
+        protected PermissionApplicator $permissions,
+        protected EntityQueries $entityQueries,
+    ) {
         $this->termAdjustmentCache = new SplObjectStorage();
     }
 
@@ -72,10 +70,9 @@ class SearchRunner
                 continue;
             }
 
-            $entityModelInstance = $this->entityProvider->get($entityType);
-            $searchQuery = $this->buildQuery($searchOpts, $entityModelInstance);
+            $searchQuery = $this->buildQuery($searchOpts, $entityType);
             $entityTotal = $searchQuery->count();
-            $searchResults = $this->getPageOfDataFromQuery($searchQuery, $entityModelInstance, $page, $count);
+            $searchResults = $this->getPageOfDataFromQuery($searchQuery, $entityType, $page, $count);
 
             if ($entityTotal > ($page * $count)) {
                 $hasMore = true;
@@ -108,8 +105,7 @@ class SearchRunner
                 continue;
             }
 
-            $entityModelInstance = $this->entityProvider->get($entityType);
-            $search = $this->buildQuery($opts, $entityModelInstance)->where('book_id', '=', $bookId)->take(20)->get();
+            $search = $this->buildQuery($opts, $entityType)->where('book_id', '=', $bookId)->take(20)->get();
             $results = $results->merge($search);
         }
 
@@ -122,8 +118,7 @@ class SearchRunner
     public function searchChapter(int $chapterId, string $searchString): Collection
     {
         $opts = SearchOptions::fromString($searchString);
-        $entityModelInstance = $this->entityProvider->get('page');
-        $pages = $this->buildQuery($opts, $entityModelInstance)->where('chapter_id', '=', $chapterId)->take(20)->get();
+        $pages = $this->buildQuery($opts, 'page')->where('chapter_id', '=', $chapterId)->take(20)->get();
 
         return $pages->sortByDesc('score');
     }
@@ -131,17 +126,17 @@ class SearchRunner
     /**
      * Get a page of result data from the given query based on the provided page parameters.
      */
-    protected function getPageOfDataFromQuery(EloquentBuilder $query, Entity $entityModelInstance, int $page = 1, int $count = 20): EloquentCollection
+    protected function getPageOfDataFromQuery(EloquentBuilder $query, string $entityType, int $page = 1, int $count = 20): EloquentCollection
     {
         $relations = ['tags'];
 
-        if ($entityModelInstance instanceof BookChild) {
+        if ($entityType === 'page' || $entityType === 'chapter') {
             $relations['book'] = function (BelongsTo $query) {
                 $query->scopes('visible');
             };
         }
 
-        if ($entityModelInstance instanceof Page) {
+        if ($entityType === 'page') {
             $relations['chapter'] = function (BelongsTo $query) {
                 $query->scopes('visible');
             };
@@ -157,18 +152,13 @@ class SearchRunner
     /**
      * Create a search query for an entity.
      */
-    protected function buildQuery(SearchOptions $searchOpts, Entity $entityModelInstance): EloquentBuilder
+    protected function buildQuery(SearchOptions $searchOpts, string $entityType): EloquentBuilder
     {
-        $entityQuery = $entityModelInstance->newQuery()->scopes('visible');
-
-        if ($entityModelInstance instanceof Page) {
-            $entityQuery->select(array_merge($entityModelInstance::$listAttributes, ['owned_by']));
-        } else {
-            $entityQuery->select(['*']);
-        }
+        $entityModelInstance = $this->entityProvider->get($entityType);
+        $entityQuery = $this->entityQueries->visibleForList($entityType);
 
         // Handle normal search terms
-        $this->applyTermSearch($entityQuery, $searchOpts, $entityModelInstance);
+        $this->applyTermSearch($entityQuery, $searchOpts, $entityType);
 
         // Handle exact term matching
         foreach ($searchOpts->exacts as $inputTerm) {
@@ -198,7 +188,7 @@ class SearchRunner
     /**
      * For the given search query, apply the queries for handling the regular search terms.
      */
-    protected function applyTermSearch(EloquentBuilder $entityQuery, SearchOptions $options, Entity $entity): void
+    protected function applyTermSearch(EloquentBuilder $entityQuery, SearchOptions $options, string $entityType): void
     {
         $terms = $options->searches;
         if (count($terms) === 0) {
@@ -216,7 +206,7 @@ class SearchRunner
 
         $subQuery->addBinding($scoreSelect['bindings'], 'select');
 
-        $subQuery->where('entity_type', '=', $entity->getMorphClass());
+        $subQuery->where('entity_type', '=', $entityType);
         $subQuery->where(function (Builder $query) use ($terms) {
             foreach ($terms as $inputTerm) {
                 $inputTerm = str_replace('\\', '\\\\', $inputTerm);
index 72f78e347bf54cd61d5f084d3fd7a456e6d07c0d..bd319fbd795af717c4c026d63b9b8bc58ea7fabd 100644 (file)
@@ -4,7 +4,6 @@ namespace BookStack\Uploads;
 
 use BookStack\Exceptions\FileUploadException;
 use Exception;
-use Illuminate\Contracts\Filesystem\FileNotFoundException;
 use Illuminate\Contracts\Filesystem\Filesystem as Storage;
 use Illuminate\Filesystem\FilesystemManager;
 use Illuminate\Support\Facades\Log;
index 2832fa8e1725852301b75a8508dcb5f83ae8c6d2..9040ba6d3a98003b550301f248632c62327d6a92 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Uploads\Controllers;
 
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Exceptions\FileUploadException;
 use BookStack\Http\ApiController;
index 258f2bef6bda19c48e58a12b9d46280084d9997e..1bc9da2d7245ac1be0f3f9a8bf180db7d973db2b 100644 (file)
@@ -8,8 +8,6 @@ use BookStack\Uploads\ImageRepo;
 use BookStack\Uploads\ImageResizer;
 use BookStack\Util\OutOfMemoryHandler;
 use Illuminate\Http\Request;
-use Illuminate\Support\Facades\App;
-use Illuminate\Support\Facades\Log;
 use Illuminate\Validation\ValidationException;
 
 class GalleryImageController extends Controller
index cec47feb01685b3b17ac4ad69349b5a066fb38d7..6d4657a7a5a10f1e202c2d02dab5a1dc6a0b3c8e 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Uploads\Controllers;
 
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Http\ApiController;
 use BookStack\Uploads\Image;
index 160a02fa11c94f57aa315422e10a9698214552b1..1e58816a4f3fc0b2da387896f78e558d1be87fde 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Uploads;
 
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\PageQueries;
 use BookStack\Exceptions\ImageUploadException;
 use BookStack\Permissions\PermissionApplicator;
index ee2cb8a3533988cb3e352158bfcfc519d69a8ad1..8d8da61ec185b42691fde6bd1673abeb44a307ad 100644 (file)
@@ -2,9 +2,6 @@
 
 namespace BookStack\Uploads;
 
-use BookStack\Entities\Models\Book;
-use BookStack\Entities\Models\Bookshelf;
-use BookStack\Entities\Models\Page;
 use BookStack\Entities\Queries\EntityQueries;
 use BookStack\Exceptions\ImageUploadException;
 use Exception;
Morty Proxy This is a proxified and sanitized view of the page, visit original site.