-use BookStack\Repos\EntityRepo;
-use BookStack\Services\AttachmentService;
+use BookStack\Uploads\Attachment;
+use BookStack\Uploads\AttachmentService;
+use Exception;
+use Illuminate\Contracts\Filesystem\FileNotFoundException;
- public function __construct(AttachmentService $attachmentService, Attachment $attachment, EntityRepo $entityRepo)
+ public function __construct(AttachmentService $attachmentService, Attachment $attachment, PageRepo $pageRepo)
- * @param Request $request
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\Response
+ * @throws ValidationException
+ * @throws NotFoundException
$this->checkPermission('attachment-create-all');
$this->checkOwnablePermission('page-update', $page);
$this->checkPermission('attachment-create-all');
$this->checkOwnablePermission('page-update', $page);
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('page-update', $page);
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('page-update', $page);
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('page-update', $page);
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('page-update', $page);
$this->checkPermission('attachment-create-all');
$this->checkOwnablePermission('page-update', $page);
$this->checkPermission('attachment-create-all');
$this->checkOwnablePermission('page-update', $page);
$this->checkOwnablePermission('page-view', $page);
return response()->json($page->attachments);
}
/**
* Update the attachment sorting.
$this->checkOwnablePermission('page-view', $page);
return response()->json($page->attachments);
}
/**
* Update the attachment sorting.
{
$this->validate($request, [
'files' => 'required|array',
'files.*.id' => 'required|integer',
]);
{
$this->validate($request, [
'files' => 'required|array',
'files.*.id' => 'required|integer',
]);
$this->checkOwnablePermission('page-update', $page);
$attachments = $request->get('files');
$this->checkOwnablePermission('page-update', $page);
$attachments = $request->get('files');
{
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('attachment-delete', $attachment);
{
$attachment = $this->attachment->findOrFail($attachmentId);
$this->checkOwnablePermission('attachment-delete', $attachment);