"use server"; import { NextResponse } from "next/server"; import type { NextRequest } from "next/server"; import { logout } from "~/server/functions"; import { middleware } from "~/middleware"; export const POST = async (request: NextRequest) => { const middlewareResponse = await middleware(request); if (middlewareResponse) return middlewareResponse; try { const { refreshToken } = await request.json() as { refreshToken: string }; if (!refreshToken) return NextResponse.json({ message: "Refresh token is required" }, { status: 400 }); await logout(refreshToken); return NextResponse.json({ message: "Logged out successfully" }); } catch (error) { console.error('Logout error:', error); if (error instanceof Error) return NextResponse.json({ message: error.message }, { status: 400 }); else return NextResponse.json({ message: "Unknown error occurred" }, { status: 500 }); } }