diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-18 07:52:02 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-18 07:52:02 +0000 |
| commit | 48a2255bfc45ffcfb0b39ffefdd57cbacf8b36df (patch) | |
| tree | 0c88b7c126138233875e8d372a4e999e49c38a62 /app/api/notifications/read-all/route.ts | |
| parent | 2ef02e27dbe639876fa3b90c30307dda183545ec (diff) | |
(대표님) 파일관리변경, 클라IP추적, 실시간알림, 미들웨어변경, 알림API
Diffstat (limited to 'app/api/notifications/read-all/route.ts')
| -rw-r--r-- | app/api/notifications/read-all/route.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/api/notifications/read-all/route.ts b/app/api/notifications/read-all/route.ts new file mode 100644 index 00000000..f53bbbbf --- /dev/null +++ b/app/api/notifications/read-all/route.ts @@ -0,0 +1,26 @@ +// app/api/notifications/read-all/route.ts +import { NextRequest, NextResponse } from 'next/server'; +import { getServerSession } from 'next-auth'; +import { authOptions } from "@/app/api/auth/[...nextauth]/route" + +export async function PATCH(request: NextRequest) { + try { + const session = await getServerSession(authOptions); + if (!session?.user?.id) { + return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); + } + + const notifications = await markAllNotificationsAsRead(session.user.id); + + return NextResponse.json({ + success: true, + updatedCount: notifications.length + }); + } catch (error) { + console.error('Error marking all notifications as read:', error); + return NextResponse.json( + { error: 'Failed to mark all notifications as read' }, + { status: 500 } + ); + } +} |
