where("id_mobil", (string) $id)->first(); if (!$vehicleRates) { return response()->json(['status' => false, 'message' => 'Tarif kendaraan tidak ditemukan.'], 404); } return response()->json($vehicleRates); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $dataQuery = MasterTarif::find($id); if (!$dataQuery) { return response()->json(['status' => false, 'message' => 'Tarif kendaraan tidak ditemukan.'], 404); } $validated = $request->validate([ 'waktu_gratis' => 'nullable|integer|min:0', 'tarif_period' => 'nullable|numeric|min:0', 'frek_interval' => 'nullable|integer|min:1', 'interval' => 'nullable|integer|min:1', 'tarif_interval' => 'nullable|numeric|min:0', 'bayar_dimuka' => 'nullable|boolean', 'asuransi_incl' => 'nullable|numeric|min:0', 'frek_waktu2' => 'nullable|integer|min:1', 'waktu2' => 'nullable|integer|min:1', 'tarif2' => 'nullable|numeric|min:0', 'tarif' => 'required|numeric|min:0', 'waktu_tarif' => 'nullable|integer|min:1', 'maksimum' => 'nullable|numeric|min:0', 'maksimum_mode' => 'required|in:hour,day', 'maksimum_hour' => 'nullable|integer|min:1', 'maksimum_day_minute' => 'nullable|integer|min:0', 'denda' => 'nullable|numeric|min:0', 'denda_member' => 'nullable|integer|min:0', 'denda_only_casual' => 'nullable|boolean', 'denda_only' => 'nullable|boolean', ]); try { $data = collect($validated)->except(['maksimum_mode', 'maksimum_hour', 'maksimum_day_minute'])->all(); $data['time_base'] = $validated['maksimum_mode'] === 'hour' ? 1 : 0; $data['time_base_maks'] = $validated['maksimum_mode'] === 'hour' ? $validated['maksimum_hour'] : null; $data['min_per_hari'] = $validated['maksimum_mode'] === 'day' ? $validated['maksimum_day_minute'] : null; $data['denda_only_casual'] = $request->boolean('denda_only_casual') ? 1 : 0; $data['denda_only'] = $request->boolean('denda_only') ? 1 : 0; $dataQuery->fill($data); $dataQuery->save(); return response()->json([ "status" => true, "message" => "Data berhasil di ubah", ]); } catch (\Throwable $th) { Log::error('Gagal memperbarui tarif kendaraan', ['id_mobil' => $id, 'error' => $th->getMessage()]); return response()->json([ "status" => false, "message" => "Gagal menyimpan data " . $th->getMessage(), ]); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }