auth(__FUNCTION__); return response()->json(SalaVacinacaoService::create(), Response::HTTP_OK); } public function store(Request $request) { $this->auth(__FUNCTION__); return response()->json(SalaVacinacaoService::store($request), Response::HTTP_CREATED); } public function edit($id) { $this->auth(__FUNCTION__); return response()->json(SalaVacinacaoService::edit($id), Response::HTTP_OK); } public function update(Request $request, $id) { $this->auth(__FUNCTION__); return response()->json(SalaVacinacaoService::update($request, $id), Response::HTTP_OK); } public function destroy($id) { $this->auth(__FUNCTION__); return response()->json(SalaVacinacaoService::destroy($id), Response::HTTP_NO_CONTENT); } public function datatable() { return datatables() ->of(SalaVacinacaoService::datatable()) ->filterColumn('imunizacao_sala_vacinacao.responsavel', function ($query, $keyword) { $query->whereRaw("CASE WHEN imunizacao_sala_vacinacao.responsavel THEN 'Sim' ELSE 'Não' END LIKE ?", ["%{$keyword}%"]); }) ->filterColumn('imunizacao_sala_vacinacao.permite_aplicacao', function ($query, $keyword) { $query->whereRaw("CASE WHEN imunizacao_sala_vacinacao.permite_aplicacao THEN 'Sim' ELSE 'Não' END LIKE ?", ["%{$keyword}%"]); }) ->filterColumn('imunizacao_sala_vacinacao.cria_ficha_ab', function ($query, $keyword) { $query->whereRaw("CASE WHEN imunizacao_sala_vacinacao.cria_ficha_ab THEN 'Sim' ELSE 'Não' END LIKE ?", ["%{$keyword}%"]); }) ->filterColumn('cadastro_infraestrutura.nome', function ($query, $keyword) { $query->whereRaw("COALESCE(cadastro_infraestrutura.nome, cadastro_unidade.nome_fantasia) like ?", ["%{$keyword}%"]); }) ->skipTotalRecords() ->make(true); } public function list() { return response()->json(SalaVacinacaoService::list(), Response::HTTP_OK); } }