diff --git a/Backend/peepal_backend/app/Http/Controllers/WcController.php b/Backend/peepal_backend/app/Http/Controllers/WcController.php index 8470852..ba3b195 100644 --- a/Backend/peepal_backend/app/Http/Controllers/WcController.php +++ b/Backend/peepal_backend/app/Http/Controllers/WcController.php @@ -13,6 +13,65 @@ class WcController extends Controller return response()->json($mosdok); } + public function store(Request $request) + { + $validatedData = $request->validate([ + 'nev' => 'required|string', + 'kerulet_id' => 'required|integer|exists:keruletek,id', + 'kozeli_megall' => 'required|string', + 'akadalym' => 'nullable|boolean', + 'ar' => 'nullable|numeric', + 'nyitva' => 'nullable|string', + 'utvonal' => 'required|string', + 'koordinatak' => 'required|string', + 'felhasznalo_id' => 'nullable|numeric' + ]); + + try { + $szelesseg = null; + $hosszusag = null; + + if (!empty($validatedData['koordinatak'])) { + $koordinatak = explode(',', $validatedData['koordinatak']); + + if (count($koordinatak) == 2) { + $hosszusag = trim($koordinatak[0]); + $szelesseg = trim($koordinatak[1]); + + if (!is_numeric($szelesseg) || !is_numeric($hosszusag)) { + return response()->json([ + 'message' => 'Érvénytelen a koordináták formátuma' + ], 422); + } + } + } + + $mosdo = WcAdatok::create([ + 'nev' => $validatedData['nev'], + 'kerulet_id' => $validatedData['kerulet_id'], + 'kozeli_megall' => $validatedData['kozeli_megall'], + 'akadalym' => $validatedData['akadalym'], + 'ar' => $validatedData['ar'], + 'nyitva' => $validatedData['nyitva'], + 'utvonal' => $validatedData['utvonal'], + 'szel_koord' => $szelesseg, + 'hossz_koord' => $hosszusag, + 'felhasznalo_id' => $validatedData['felhasznalo_id'] + ]); + + return response()->json([ + 'message' => 'Sikeres rögzítés', + 'data' => $mosdo + ], 201); + } catch (\Exception $e) { + return response()->json([ + 'message' => 'Hiba történt a mentés során', + 'error' => $e->getMessage() + ], 500); + } + } + + public function show($id) { $wc = WcAdatok::find($id); diff --git a/Backend/peepal_backend/routes/api.php b/Backend/peepal_backend/routes/api.php index 5a7db2c..e962695 100644 --- a/Backend/peepal_backend/routes/api.php +++ b/Backend/peepal_backend/routes/api.php @@ -1,6 +1,5 @@ response.json()) .then((newWC) => { setNev(""); - setKerulet(""); + setKeruletId(""); setKozeli(""); setAkadalym(false); setAr(""); @@ -82,10 +82,15 @@ export default function HozzaadForm() { /> + + + setKerulet(event.target.value)} placeholder="Kerület" className="w-full px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"