import { api } from './api'; import { API_ENDPOINTS } from '@/utils/constants'; export interface NewsletterSubscribeData { email: string; } export interface ApiResponse { success: boolean; message?: string; data?: T; count?: number; } export const newsletterService = { // Subscribe to newsletter subscribe: async (data: NewsletterSubscribeData): Promise => { // Newsletter subscription doesn't require authentication const response = await api.post( API_ENDPOINTS.NEWSLETTER.SUBSCRIBE, data, { token: '' } // No token needed for public endpoint ); return response; }, // Unsubscribe from newsletter unsubscribe: async (email: string): Promise => { const response = await api.post( API_ENDPOINTS.NEWSLETTER.UNSUBSCRIBE, { email }, { token: '' } // No token needed for public endpoint ); return response; }, // Get all subscribers (Admin only) getSubscribers: async (): Promise => { const response = await api.get( API_ENDPOINTS.NEWSLETTER.SUBSCRIBERS ); return response; }, // Get active subscriber count (Admin only) getActiveCount: async (): Promise => { const response = await api.get( API_ENDPOINTS.NEWSLETTER.COUNT ); return response.count || 0; }, };