json(UnidadeService::list($request), Response::HTTP_OK); } public function create() { $this->auth(__FUNCTION__); return response()->json(UnidadeService::create(), Response::HTTP_OK); } public function store(Request $request) { $this->auth(__FUNCTION__); return response()->json(UnidadeService::store($request), Response::HTTP_CREATED); } public function edit($id) { $this->auth(__FUNCTION__); return response()->json(UnidadeService::edit($id), Response::HTTP_OK); } public function update(Request $request, $id) { $this->auth(__FUNCTION__); return response()->json(UnidadeService::update($request, $id), Response::HTTP_OK); } public function destroy($id) { $this->auth(__FUNCTION__); UnidadeService::destroy($id); return response()->noContent(); } public function datatable() { return datatables() ->of(UnidadeService::datatable()) ->filterColumn('conectasus_centro_custo_descricao', fn ($query, $keyword) => $query ->whereRaw( "CONCAT( conectasus_unidade.nome_fantasia, IF(conectasus_infraestrutura.nome IS NOT NULL, CONCAT(' - ', conectasus_infraestrutura.nome), '' ), ' - ', conectasus_setor.nome ) like ?" , ["%{$keyword}%"]) ) ->filterColumn('is_almoxarifado', fn ($query, $keyword) => $query ->whereRaw("IF (unidade.is_almoxarifado, 'SIM', 'NÃO') like ?", ["%{$keyword}%"]) ) ->skipTotalRecords() ->toJson(); } }