input('deleted'); $orderBy = $request->input('sortBy','nombre'); $order = $request->input('order','asc'); $queryBuilder = CatServicio::orderBy($orderBy,$order); if($query = $request->get('query',false)){ $queryBuilder->where(function($q) use ($query){ $q->where('nombre','like','%' .$query.'%'); }); } if($deleted) { $queryBuilder->onlyTrashed(); } if($perPage = $request->input('perPage',false)){ $servicios = $queryBuilder->paginate($perPage); }else{ $servicios = ['data'=>$queryBuilder->get()]; } return response()->success($servicios); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(ServiciosRequest $request) { $data = $request->all(); try { $servicios = CatServicio::create($data); return response()->success($servicios); } catch (\Exception $e) { return response()->unprocessable('Error', ['Error al guardar el Estatus de Servicio.']); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $servicios = CatServicio::where('id', $id) ->withTrashed() ->firstOrFail(); return response()->success($servicios); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(ServiciosRequest $request, $id) { $data = $request->all(); try { $servicios = CatServicio::where('id',$id) ->withTrashed() ->firstOrFail(); $servicios->update($data); return response()->success($servicios); } catch (\Exception $e) { return response()->unprocessable('Error', ['Error al actualizar el Estatus de Servicio.']); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id, Request $request) { $deleted = $request->input('deleted'); if($deleted){ $servicios = CatServicio::where('id',$id) ->onlyTrashed() ->first(); $servicios->restore(); }else{ $servicios = CatServicio::findOrFail($id); $servicios->delete(); } return response()->success(['result' => 'ok']); } }