import { NextRequest } from "next/server"; import { auth } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; const CORS_HEADERS = { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Authorization", "X-API-Version": "1.0", }; export async function OPTIONS() { return new Response(null, { status: 204, headers: CORS_HEADERS }); } export async function GET(request: NextRequest) { const session = await auth.api.getSession({ headers: request.headers }); if (!session) { return Response.json( { error: "Unauthorized" }, { status: 401, headers: CORS_HEADERS }, ); } const user = await prisma.user.findUnique({ where: { id: session.user.id }, select: { id: true, name: true, email: true, role: true, xp: true, level: true, banned: true, bannedReason: true, createdAt: true, }, }); if (!user) { return Response.json( { error: "User not found" }, { status: 404, headers: CORS_HEADERS }, ); } return Response.json({ user }, { headers: CORS_HEADERS }); }