import { NextResponse } from "next/server"; import { cookies } from "next/headers"; import { revalidatePath } from "next/cache"; export async function GET() { if (!process.env.SECNEX_API_HOST || !process.env.SECNEX_API_KEY) { return NextResponse.json({ success: false, message: "SecNex API host or key is not set" }); } const cookieStore = await cookies(); const token = cookieStore.get("token"); if (!token) { return NextResponse.json({ success: false, message: "No token found" }); } try { const response = await fetch(`${process.env.SECNEX_API_HOST}/session/info`, { method: "POST", body: JSON.stringify({ token: token.value }), headers: { "Content-Type": "application/json", "Authorization": `Bearer ${process.env.SECNEX_API_KEY}`, }, }); if (!response.ok) { cookieStore.delete("token"); revalidatePath("/", "layout"); return NextResponse.json({ success: false, message: "Token is invalid" }); } const dataResponse = await response.json(); const body = dataResponse.body.session; return NextResponse.json({ success: true, message: body.message, sessionInfo: body }); } catch (error) { console.error(error); cookieStore.delete("token"); revalidatePath("/", "layout"); return NextResponse.json({ success: false, message: "Failed to get session info" }); } }