where('id', $id) ->first(); if (!$data) { $apiResp = Responses::error("Sites labeling not found"); return new Response($apiResp, $apiResp["meta"]["code"]); } $apiResp = [ "meta" => [ "code" => 200, "type" => "success", "message" => "success", ], "data" => $data, ]; return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } /** * View */ public function view_trips_label(Request $req) { $data = []; $log = [ "module" => "Trips Label", "action" => "View", "desc" => "Open Trips Label", ]; UserLogs::insert(Auth::user()->id, $log); return view("menu_v1.configs.trips_label", $data); } /** * API */ public function api_list_trips_label(Request $req) { try { $datas = DB::table('t_sites_label') ->where('isdeleted', 0) ->get(); foreach ($datas as $key => $row) { $datas[$key]->DT_RowIndex = $key + 1; $datas[$key]->action = "-"; } $apiResp = Responses::success("success list sites labeling"); $apiResp["count"] = count($datas); $apiResp["data"] = $datas; return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } /** * Show the form for creating a new resource. * * @return Response */ public function api_add_trips_label(Request $req) { try { $now = time(); $input = [ "address" => $req->address, "lat" => $req->lat, "lng" => $req->lng, "radius" => $req->radius ]; $rulesInput = [ "address" => "required|string", "lat" => "required|numeric|between:-90,90", "lng" => "required|numeric|between:-180,180", "radius" => "required|integer|min:0", ]; // validasi input $isValidInput = Validator::make($input, $rulesInput); if (!$isValidInput->passes()) { $apiResp = Responses::bad_input($isValidInput->messages()->first()); return new Response($apiResp, $apiResp["meta"]["code"]); } DB::beginTransaction(); $insert = [ "address" => $req->address, "lat" => $req->lat, "lng" => $req->lng, "radius" => $req->radius, // "created_at" => date("Y-m-d H:i:s", $now), // "udt" => date("Y-m-d H:i:s", $now), // "created_by" => Auth::user()->id, // "uby" => Auth::user()->id ]; DB::table('t_sites_label')->insert($insert); $apiResp = Responses::created("success add new trips label"); DB::commit(); $log = [ "module" => "Trips Label", "action" => "Create", "desc" => "Add new trips label: " . $req->address, ]; UserLogs::insert(Auth::user()->id, $log); return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { DB::rollBack(); $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } /** * Update the specified resource in storage. * * @param Request $req * @param int $id * @return Response */ public function api_edit_trips_label(Request $req, $id) { try { $now = time(); $input = [ "address" => $req->address, "lat" => $req->lat, "lng" => $req->lng, "radius" => $req->radius ]; $rulesInput = [ "address" => "required|string", "lat" => "required|numeric|between:-90,90", "lng" => "required|numeric|between:-180,180", "radius" => "required|integer|min:0", ]; // validasi input $isValidInput = Validator::make($input, $rulesInput); if (!$isValidInput->passes()) { $apiResp = Responses::bad_input($isValidInput->messages()->first()); return new Response($apiResp, $apiResp["meta"]["code"]); } DB::beginTransaction(); $update = [ "address" => $req->address, "lat" => $req->lat, "lng" => $req->lng, "radius" => $req->radius, ]; DB::table('t_sites_label')->where('id', $id)->update($update); $apiResp = Responses::created("success update trips label"); DB::commit(); $log = [ "module" => "Trips Label", "action" => "Update", "desc" => "Update trips label: " . $req->address, ]; UserLogs::insert(Auth::user()->id, $log); return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { DB::rollBack(); $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } /** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function api_del_trips_label($id) { try { DB::beginTransaction(); DB::table('t_sites_label')->where('id', $id)->update([ 'isdeleted' => 1, // 'ddt' => date("Y-m-d H:i:s", time()), // 'dby' => Auth::user()->id ]); DB::commit(); $apiResp = Responses::success("success delete trips label"); $log = [ "module" => "Trips Label", "action" => "Delete", "desc" => "Delete trips label: " . $id, ]; UserLogs::insert(Auth::user()->id, $log); return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { DB::rollBack(); $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } }