import { NextRequest, NextResponse } from 'next/server'; import { getServerSession } from 'next-auth'; import { authOptions } from "@/app/api/auth/[...nextauth]/route" import realtimeNotificationService from '@/lib/realtime/RealtimeNotificationService'; import notificationManager from '@/lib/realtime/NotificationManager'; export async function GET(request: NextRequest) { try { const session = await getServerSession(authOptions); if (!session?.user?.roles || !session.user.roles.includes('admin')) { return NextResponse.json({ error: 'Forbidden' }, { status: 403 }); } const stats = { connectedClients: realtimeNotificationService.getConnectedClientCount(), dbConnectionStatus: notificationManager.getConnectionStatus(), timestamp: new Date().toISOString() }; return NextResponse.json(stats); } catch (error) { console.error('Error fetching notification stats:', error); return NextResponse.json( { error: 'Failed to fetch stats' }, { status: 500 } ); } }