import { NextRequest } from 'next/server'; import { authenticateRequest } from '@/lib/auth'; import { getUserNotifications } from '@/lib/cms/notifications'; import { success, unauthorized, validationError, internalError } from '@/lib/api-response'; // GET /api/admin/notifications - 获取当前用户通知列表 export async function GET(request: NextRequest) { const user = authenticateRequest(request); if (!user) return unauthorized(); try { const { searchParams } = new URL(request.url); const page = parseInt(searchParams.get('page') || '1', 10); const pageSize = parseInt(searchParams.get('pageSize') || '20', 10); const unreadOnly = searchParams.get('unreadOnly') === 'true'; if (Number.isNaN(page) || page < 1) { return validationError('page 参数非法'); } if (Number.isNaN(pageSize) || pageSize < 1 || pageSize > 100) { return validationError('pageSize 参数非法'); } const result = await getUserNotifications(user.userId, { page, pageSize, unreadOnly }); return success(result); } catch (error) { console.error('Get notifications error:', error); return internalError(); } }