23 lines
620 B
TypeScript
23 lines
620 B
TypeScript
import { NextResponse } from "next/server"
|
|
import { cookies } from "next/headers"
|
|
import {
|
|
ADMIN_SESSION_COOKIE,
|
|
destroyAdminSession,
|
|
} from "@/lib/server/admin-auth"
|
|
|
|
export async function POST(request: Request) {
|
|
const cookieStore = await cookies()
|
|
const rawToken = cookieStore.get(ADMIN_SESSION_COOKIE)?.value || null
|
|
await destroyAdminSession(rawToken)
|
|
|
|
const response = NextResponse.redirect(new URL("/sign-in", request.url))
|
|
response.cookies.set(ADMIN_SESSION_COOKIE, "", {
|
|
httpOnly: true,
|
|
sameSite: "lax",
|
|
secure: true,
|
|
path: "/",
|
|
expires: new Date(0),
|
|
})
|
|
|
|
return response
|
|
}
|