validate([ 'nama' => 'required|string|max:255', 'pesan' => 'required|string', 'status_kehadiran' => 'required|in:hadir,tidak_hadir,mungkin', ]); $guest = Guest::where('kode_invitasi', $kodeInvitasi)->first(); if (!$guest) { return response()->json([ 'success' => false, 'message' => 'Kode invitasi tidak ditemukan.', ], 404); } $rsvp = Rsvp::create([ 'guest_id' => $guest->id, 'pelanggan_id' => $guest -> id_pelanggan, 'nama' => $validated['nama'], 'pesan' => $validated['pesan'], 'status_kehadiran' => $validated['status_kehadiran'], ]); return response()->json([ 'success' => true, 'message' => 'RSVP berhasil disimpan', 'data' => $rsvp, ], 201); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => 'Gagal menyimpan RSVP.', 'error' => $e->getMessage(), ], 500); } } // 🔹 Ambil semua RSVP berdasarkan kode_invitasi (GET) public function index($kodeInvitasi) { $guest = Guest::where('kode_invitasi', $kodeInvitasi)->first(); if (!$guest) { return response()->json([ 'success' => false, 'message' => 'Kode invitasi tidak ditemukan.', ], 404); } $rsvps = Rsvp::where('guest_id', $guest->id)->get(); return response()->json([ 'success' => true, 'message' => 'Data RSVP ditemukan', 'data' => $rsvps, ]); } }