public function delete($task_id) { $task = ProjectTask::find($task_id); if (is_null($task)) { return Errors::invalidId($task_id); } $user_id = \Authorizer::getResourceOwnerId(); if (!$this->projectRepository->isMember($task->project_id, $user_id)) { return Errors::basic('Acesso negado. Você não é membro do projeto desta tarefa.'); } $this->repository->delete($task_id); return ['message' => "Registro deletado!"]; }
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.'); } $nome = $projectFile->id . '.' . $projectFile->extension; $this->repository->delete($file_id); $this->storage->delete($nome); return ['message' => "Registro e arquivo deletados!"]; }
public function addMember($data, $project_id) { $project = Project::find($project_id); if (is_null($project)) { return Errors::invalidId($project_id); } if (!array_key_exists('user_id', $data)) { return Errors::basic("Campo user_id obrigatorio"); } $user_id = $data['user_id']; // Como o create ja insere o dono como membro, nao haveria necessidade desta verificacao if ($user_id == $project->owner_id) { return Errors::basic("Este usuario ja eh o dono do projeto"); } if ($this->repository->isMember($project_id, $user_id)) { return Errors::basic("Este usuario ja eh membro do projeto"); } $data['project_id'] = $project_id; return $this->projectMemberService->create($data); }
public function update(array $data, $file_id) { $file = ProjectFile::find($file_id); if (is_null($file)) { return Errors::invalidId($file_id); } try { $this->validator->with($data)->passesOrFail(ValidatorInterface::RULE_UPDATE); if ($data['project_id'] != $file->project_id) { return Errors::basic('Você não pode alterar o projeto do arquivo.'); } if ($data['extension'] != $file->extension) { return Errors::basic('Você não pode alterar a extensão do arquivo.'); } $user_id = \Authorizer::getResourceOwnerId(); if (!$this->projectRepository->isMember($file->project_id, $user_id)) { return Errors::basic('Acesso negado. Você não é membro do projeto selecionado.'); } return $this->repository->update($data, $file_id); } catch (ValidatorException $e) { return Errors::basic($e->getMessageBag()); } }
private function checkProjectMember($projectId) { return $this->repository->isMember($projectId, Authorizer::getResourceOwnerId()); }
/** * @param $project_id * @return array */ public function checkProjectMember($project_id) { $user_id = \Authorizer::getResourceOwnerId(); return $this->repository->isMember($project_id, $user_id); }
public function isMember($projectId, $userId) { return $this->repository->isMember($projectId, $userId); }