auth(__FUNCTION__); $pacienteHasAtendimento = RetroativoService::pacienteHasAtendimento(request()->paciente_id ?? null); if($pacienteHasAtendimento != false) { return response()->json($pacienteHasAtendimento, $pacienteHasAtendimento['response']); } return response()->json(RetroativoService::create(), Response::HTTP_OK); } public function index() { $lotacao = $this->getCurrentLotacao(); $permissaoUsuario = ParametrizacaoPermissaoUsuario::where('usuario_id', $lotacao->usuario_id) ->where('infraestrutura_id', $lotacao->infraestrutura_id) ->first(); $countUsuario = ParametrizacaoPermissaoUsuario::count(); $classificacoes = $permissaoUsuario ? PacienteClassificacao::orderBy('descricao') ->get() ->filter(function ($classificacao) use ($permissaoUsuario) { $exibe = false; switch ($classificacao->id) { case Classificacao::MUNICIPE: $exibe = $permissaoUsuario->municipe; break; case Classificacao::PROVISORIO: $exibe = $permissaoUsuario->provisorio; break; case Classificacao::OUTRO_MUNICIPIO: $exibe = $permissaoUsuario->outro_municipio; break; } return $exibe ? [ 'id' => $classificacao->id, 'descricao' => $classificacao->descricao ] : null; }) ->values() : []; return response()->json( [ 'classificacoes' => $classificacoes, 'is_permissao_cadastro' => $countUsuario === 0 ? true : false, ], Response::HTTP_OK ); } public function store() { $this->auth(__FUNCTION__); $pacienteHasAtendimento = RetroativoService::pacienteHasAtendimento(request()->get('paciente')['id'] ?? null); if($pacienteHasAtendimento != false) { return response()->json($pacienteHasAtendimento, $pacienteHasAtendimento['response']); } return response()->json(RetroativoService::store(), Response::HTTP_CREATED); } }