]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/AttachmentController.php
Rewrote book children query
[bookstack] / app / Http / Controllers / AttachmentController.php
index e61a488ce9e3b2d56a4887cb533dd465c8f07053..715cd2bd8af66565c1c700fe8ffe458b8a0c85c3 100644 (file)
@@ -2,6 +2,7 @@
 
 use BookStack\Exceptions\FileUploadException;
 use BookStack\Attachment;
+use BookStack\Repos\EntityRepo;
 use BookStack\Repos\PageRepo;
 use BookStack\Services\AttachmentService;
 use Illuminate\Http\Request;
@@ -11,6 +12,7 @@ class AttachmentController extends Controller
     protected $attachmentService;
     protected $attachment;
     protected $pageRepo;
+    protected $entityRepo;
 
     /**
      * AttachmentController constructor.
@@ -18,11 +20,13 @@ class AttachmentController extends Controller
      * @param Attachment $attachment
      * @param PageRepo $pageRepo
      */
-    public function __construct(AttachmentService $attachmentService, Attachment $attachment, PageRepo $pageRepo)
+    public function __construct(AttachmentService $attachmentService, Attachment $attachment, EntityRepo $entityRepo, PageRepo $pageRepo)
     {
         $this->attachmentService = $attachmentService;
         $this->attachment = $attachment;
+        // TODO - Remove this
         $this->pageRepo = $pageRepo;
+        $this->entityRepo = $entityRepo;
         parent::__construct();
     }
 
@@ -40,7 +44,7 @@ class AttachmentController extends Controller
         ]);
 
         $pageId = $request->get('uploaded_to');
-        $page = $this->pageRepo->getById($pageId, true);
+        $page = $this->entityRepo->getById('page', $pageId, true);
 
         $this->checkPermission('attachment-create-all');
         $this->checkOwnablePermission('page-update', $page);
@@ -70,7 +74,7 @@ class AttachmentController extends Controller
         ]);
 
         $pageId = $request->get('uploaded_to');
-        $page = $this->pageRepo->getById($pageId, true);
+        $page = $this->entityRepo->getById('page', $pageId, true);
         $attachment = $this->attachment->findOrFail($attachmentId);
 
         $this->checkOwnablePermission('page-update', $page);
@@ -106,7 +110,7 @@ class AttachmentController extends Controller
         ]);
 
         $pageId = $request->get('uploaded_to');
-        $page = $this->pageRepo->getById($pageId, true);
+        $page = $this->entityRepo->getById('page', $pageId, true);
         $attachment = $this->attachment->findOrFail($attachmentId);
 
         $this->checkOwnablePermission('page-update', $page);
@@ -117,7 +121,7 @@ class AttachmentController extends Controller
         }
 
         $attachment = $this->attachmentService->updateFile($attachment, $request->all());
-        return $attachment;
+        return response()->json($attachment);
     }
 
     /**
@@ -134,7 +138,7 @@ class AttachmentController extends Controller
         ]);
 
         $pageId = $request->get('uploaded_to');
-        $page = $this->pageRepo->getById($pageId, true);
+        $page = $this->entityRepo->getById('page', $pageId, true);
 
         $this->checkPermission('attachment-create-all');
         $this->checkOwnablePermission('page-update', $page);
@@ -153,7 +157,7 @@ class AttachmentController extends Controller
      */
     public function listForPage($pageId)
     {
-        $page = $this->pageRepo->getById($pageId, true);
+        $page = $this->entityRepo->getById('page', $pageId, true);
         $this->checkOwnablePermission('page-view', $page);
         return response()->json($page->attachments);
     }
@@ -170,7 +174,7 @@ class AttachmentController extends Controller
             'files' => 'required|array',
             'files.*.id' => 'required|integer',
         ]);
-        $page = $this->pageRepo->getById($pageId);
+        $page = $this->entityRepo->getById('page', $pageId);
         $this->checkOwnablePermission('page-update', $page);
 
         $attachments = $request->get('files');
@@ -186,7 +190,7 @@ class AttachmentController extends Controller
     public function get($attachmentId)
     {
         $attachment = $this->attachment->findOrFail($attachmentId);
-        $page = $this->pageRepo->getById($attachment->uploaded_to);
+        $page = $this->entityRepo->getById('page', $attachment->uploaded_to);
         $this->checkOwnablePermission('page-view', $page);
 
         if ($attachment->external) {