/** * API: Notification Statistics Endpoint * GET /api/notifications/stats - Get notification statistics */ import type { NextApiRequest, NextApiResponse } from 'next'; import { getNotificationService, getNotificationScheduler } from '../../../lib/notifications'; export default async function handler( req: NextApiRequest, res: NextApiResponse ) { if (req.method !== 'GET') { return res.status(405).json({ error: 'Method not allowed' }); } try { const notificationService = getNotificationService(); const scheduler = getNotificationScheduler(); // In production, get userId from session/auth const userId = req.query.userId as string || 'demo-user'; const serviceStats = notificationService.getStats(); const schedulerStats = scheduler.getStats(); const userNotifications = notificationService.getUserNotifications(userId); const unreadCount = notificationService.getUnreadCount(userId); const scheduledForUser = scheduler.getScheduledForUser(userId); return res.status(200).json({ success: true, data: { user: { total: userNotifications.length, unread: unreadCount, scheduled: scheduledForUser.length }, global: serviceStats, scheduler: schedulerStats } }); } catch (error: any) { return res.status(500).json({ success: false, error: error.message }); } }