import requestUtil from '../utils/RequestUtil'; class CalendarService { constructor() { this.endpoint = '/api/calendar'; } // Get all calendar users async getUsers() { return requestUtil.get(`${this.endpoint}/users`); } // Get calendar events for a specific month async getEventsForMonth(year, month, user = null, type = 'family') { let url = `${this.endpoint}/events/${year}/${month}?type=${type}`; if (user && type === 'individual') { url += `&user=${encodeURIComponent(user)}`; } return requestUtil.get(url); } // Create a new calendar event async createEvent(event) { return requestUtil.post(`${this.endpoint}/events`, event); } // Update a calendar event async updateEvent(eventId, event) { return requestUtil.put(`${this.endpoint}/events/${eventId}`, event); } // Delete a calendar event async deleteEvent(eventId, user) { return requestUtil.delete(`${this.endpoint}/events/${eventId}`, { user }); } // Get contact birthdays for a specific month async getContactBirthdaysForMonth(year, month, user) { let url = `${this.endpoint}/birthdays/${year}/${month}`; if (user) { url += `?user=${encodeURIComponent(user)}`; } return requestUtil.get(url); } // Health check async healthCheck() { return requestUtil.get('/api/health'); } } // Create and export a singleton instance const calendarService = new CalendarService(); export default calendarService;