/** * @param Request $request * @return null */ private function getParent(Request $request) { if (!is_null($request->parent_uid)) { return $this->repository->findByUid($request->parent_uid); } return null; }
/** * @param Request $request * @return bool */ private function validatePoolQuota(Request $request) { $pool = $this->poolRepository->findByUid($request->pool); if ($pool->getQuotaUsed() + $request->file('data-binary')->getSize() >= $pool->quota) { throw new \Dingo\Api\Exception\StoreResourceFailedException('Could not create new file.', ['The Pools Quota is exceeded']); } return true; }
/** * @param Request $request * @return mixed */ public function download(ApiRequest $request) { $file = $this->repository->findByUid($request->file); $contents = Storage::disk('storage')->get('documents/' . $file->uid); return (new Response($contents, 200))->header('Content-Type', $file->mimeType)->header('Content-Length', $file->fileSize)->header('Content-Disposition', "attachment; filename='{$file->title}.{$file->fileExtension}'"); }