public function update($projectId, $fileId, $file, array $data)
 {
     try {
         if (is_null($file)) {
             $this->validator->setRules(['name' => 'required|max:255', 'description' => 'required']);
             $this->validator->with($data)->passesOrFail();
             $fileUpdate = $this->repository->findWhere(['project_id' => $projectId, 'id' => $fileId])->first();
             $fileUpdate->update($data, $fileId);
             return $this->find($projectId, $fileUpdate->id);
         }
         $this->validator->with($data)->passesOrFail();
         $fileUpdate = $this->repository->findWhere(['project_id' => $projectId, 'id' => $fileId])->first();
         $data['extension'] = $file->getClientOriginalExtension();
         $data['file'] = md5(date('Y-m-d H:i:s')) . "." . $data['extension'];
         $this->storage->put($data['file'], $this->filesystem->get($file));
         if ($this->storage->exists($fileUpdate->file)) {
             $this->storage->delete($fileUpdate->file);
         }
         $fileUpdate->update($data, $fileId);
         return $this->find($projectId, $fileUpdate->id);
     } catch (ValidatorException $e) {
         return ['error' => true, 'message' => $e->getMessageBag()];
     } catch (\Exception $e) {
         return ['error' => true, 'message' => $e->getMessage()];
     }
 }
 public function delete($id)
 {
     $projectFile = $this->repository->skipPresenter()->find($id);
     if ($this->storage->exists($projectFile->getFileName())) {
         $this->storage->delete($projectFile->getFileName());
         return $projectFile->delete();
     }
 }
 public function delete($id)
 {
     $projectFile = $this->repository->skipPresenter()->find($id);
     if ($this->storage->exists($projectFile->id . '.' . $projectFile->extension)) {
         $this->storage->delete($projectFile->id . '.' . $projectFile->extension);
         $projectFile->delete();
     }
 }
 public function delete($id)
 {
     $projectFile = $this->repository->skipPresenter()->find($id);
     if ($this->storage->exists($projectFile->getFileName())) {
         $this->storage->delete($projectFile->getFileName());
         return $projectFile->delete();
     }
     /*
     // recupera somente os Files
     $files = $this->repository->skipPresenter()->find($projectId)->files;
     //dd($files);
     $deletar = [];
     foreach ($files as $file) {
         $path = $file->id . '.' . $file->extension;
         // deletar da bd
         if($file->delete($file->id))
             $deletar[] = $path;
     }
     //dd($deletar);
     $r = $this->storage->delete($deletar);
     if($r)
         return ['error' => false];
     else
         return ['error' => true];
     */
 }
Esempio n. 5
0
 public function fetchFile(Storage $storage, $file)
 {
     if (!$storage->exists($file)) {
         return abort(404);
     }
     $locationRoot = $storage->getDriver()->getAdapter()->getPathPrefix();
     return response()->download($locationRoot . $file);
 }
 public function deleteFile($projectId)
 {
     $project = $this->repository->skipPresenter()->find($projectId);
     foreach ($project->files as $file) {
         if ($this->storage->exists($project->id . "." . $file->extension)) {
             $this->storage->delete($project->id . "." . $file->extension);
         }
         $file->delete();
     }
 }
 public function forceDelete($id, Filesystem $storage)
 {
     $photo = Photo::find($id);
     if ($storage->exists("uploads/photos/deleted/" . $photo->filename)) {
         $storage->delete("uploads/photos/deleted/" . $photo->filename);
     } else {
         $storage->delete("uploads/photos/" . $photo->filename);
     }
     return $photo->forceDelete();
 }
Esempio n. 8
0
 /**
  * Download a file.
  */
 public function downloadFile($path)
 {
     $path = $this->cleanFolder($path);
     $parts = explode('/', $path);
     $filename = array_pop($parts);
     $content = $this->fileSystem->get($path);
     $mime = $this->fileSystem->mimeType($path);
     if (!$this->fileSystem->exists($path)) {
         throw new FileDoesNotExist('File does not exist.');
     }
     return response($content, 200)->header('Content-Type', $mime)->header('Content-Disposition', 'attachment; filename="' . $filename . '"');
 }
 public function deleteFile($id)
 {
     try {
         $projectFile = $this->projectFileRepository->skipPresenter()->find($id);
         if ($this->storage->exists($projectFile->getFileName())) {
             $this->storage->delete($projectFile->getFilename());
             $this->projectFileRepository->delete($id);
         }
         return ["error" => false, "message" => "Arquivo deletado."];
     } catch (ValidatorException $e) {
         return ["sucess" => false, "message" => $e->getMessageBag()];
     }
 }
 public function delete($id)
 {
     try {
         $file = $this->repository->skipPresenter()->find($id);
         if ($this->storage->exists($file->id . '.' . $file->extension)) {
             $this->storage->delete($file->id . '.' . $file->extension);
         }
         $file->delete();
         return ['success' => true, 'message' => 'File removido'];
     } catch (ModelNotFoundException $e) {
         return ['error' => true, 'message' => 'File não localizado'];
     }
 }
 /**
  * @param $fileId
  * @return array
  */
 public function destroy($fileId)
 {
     try {
         $file = $this->repository->skipPresenter()->find($fileId);
         $fileName = $file->getFileName();
         if ($this->storage->exists($fileName)) {
             $this->storage->delete($fileName);
         }
         if ($file->delete()) {
             return ["success" => true];
         }
         return ['error' => true, 'message' => 'Erro desconhecido ao tentar excluir o registro'];
     } catch (\Exception $e) {
         return ["error" => true, "message" => $e->getMessage()];
     }
 }
 public function delete($file_id)
 {
     $projectFile = ProjectFile::find($file_id);
     if (is_null($projectFile)) {
         return Errors::invalidId($file_id);
     }
     $user_id = \Authorizer::getResourceOwnerId();
     if (!$this->projectRepository->isMember($projectFile->project_id, $user_id)) {
         return Errors::basic('Acesso negado. Você não é membro do projeto deste arquivo.');
     }
     $this->repository->delete($file_id);
     $nome = $projectFile->id . '.' . $projectFile->extension;
     if ($this->storage->exists($nome)) {
         $this->storage->delete($nome);
     }
     return ['message' => "Registro e arquivo deletados!"];
 }
 public function createFile(array $data)
 {
     try {
         //$this->fileValidator->with($data)->passesOrFail();
         //utilizando o mesmo repository do project
         //utilizando o skipPresenter ele retorna o array
         $project = $this->repository->skipPresenter()->find($data['project_id']);
         // dd($project);
         $projectFile = $project->files()->create($data);
         //Storeage facede que executa o metodo put, cria o arquivo com o nome e extensiion
         //File face que faz upload
         $this->storage->put($projectFile->id . "." . $data['extension'], $this->filesystem->get($data['file']));
         if ($this->storage->exists($projectFile->id . "." . $data['extension'])) {
             return response()->json($projectFile->name . " up success !!");
         }
     } catch (ValidatorException $e) {
         return response()->json(['error' => true, 'message' => $e->getMessageBag()]);
     }
 }