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]; */ }
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 showFile($id, $idFile) { if ($this->projectService->checkProjectPermissions($id) == false) { return ['error' => 'Access Forbidden']; } $model = $this->repository->skipPresenter()->find($idFile); $filePath = $this->service->getFilePath($idFile); $fileContent = file_get_contents($filePath); $file64 = base64_encode($fileContent); return ['file' => $file64, 'size' => filesize($filePath), 'name' => $this->service->getFileName($idFile), 'mime_type' => $this->storage->mimeType($model->getFileName())]; }
public function destroy($id, $fileId) { $projectFile = $this->repository->skipPresenter()->findWhere(['project_id' => $id, 'id' => $fileId])->first(); try { if ($projectFile->delete($fileId)) { $this->storage->delete($projectFile->id . '.' . $projectFile->extension); } } catch (ErrorException $e) { return ['error' => true, 'message' => $e->getMessage()]; } }
public function download($project_id, $file_id) { /*if( $this->service->checkProjectPermissions($project_id) == false ){ return ['error' => 'Acesso negado']; }*/ #return response()->download($this->service->show($file_id)); $model = $this->repository->skipPresenter()->find($file_id); $file_path = $this->service->show($file_id); $file_content = file_get_contents($file_path); $file64 = base64_encode($file_content); return ['file' => $file64, 'size' => filesize($file_path), 'name' => $this->service->getFileName($file_id), 'mime_type' => $this->storage->mimeType($this->service->getFileName($file_id))]; }
public function getFileName($id) { $projectFile = $this->repository->skipPresenter()->find($id); return $projectFile->getFileName(); }
public function checkProjectMember($projectFileId) { $userId = \Authorizer::getResourceOwnerId(); $projectId = $this->repository->skipPresenter()->find($projectFileId)->project_id; return $this->projectRepository->hasMember($projectId, $userId); }