import axios from 'axios' const API_BASE_URL = window.ENV?.VITE_API_URL || import.meta.env.VITE_API_URL || 'http://localhost:8000' const api = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/json', }, }) // Guest API calls export const getGuests = async () => { const response = await api.get('/guests/') return response.data } export const getGuest = async (id) => { const response = await api.get(`/guests/${id}`) return response.data } export const createGuest = async (guest) => { const response = await api.post('/guests/', guest) return response.data } export const updateGuest = async (id, guest) => { const response = await api.put(`/guests/${id}`, guest) return response.data } export const deleteGuest = async (id) => { const response = await api.delete(`/guests/${id}`) return response.data } export const deleteGuestsBulk = async (guestIds) => { const response = await api.post('/guests/bulk-delete', guestIds) return response.data } export const undoImport = async (owner) => { const response = await api.delete(`/guests/undo-import/${encodeURIComponent(owner)}`) return response.data } export const getOwners = async () => { const response = await api.get('/guests/owners/') return response.data } export const searchGuests = async ({ query = '', rsvpStatus = '', mealPreference = '', owner = '' }) => { const params = new URLSearchParams() if (query) params.append('query', query) if (rsvpStatus) params.append('rsvp_status', rsvpStatus) if (mealPreference) params.append('meal_preference', mealPreference) if (owner) params.append('owner', owner) const response = await api.get(`/guests/search/?${params.toString()}`) return response.data } export const importGoogleContacts = async (accessToken) => { const response = await api.post('/import/google', null, { params: { access_token: accessToken } }) return response.data } // Public endpoints for guest self-service export const getGuestByPhone = async (phoneNumber) => { const response = await api.get(`/public/guest/${encodeURIComponent(phoneNumber)}`) return response.data } export const updateGuestByPhone = async (phoneNumber, guestData) => { const response = await api.put(`/public/guest/${encodeURIComponent(phoneNumber)}`, guestData) return response.data } export default api