2024-10-07 13:45:42 -05:00

26 lines
938 B
TypeScript

"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 });
}
}