diff --git a/app/api/me/route.ts b/app/api/me/route.ts new file mode 100644 index 00000000..5f649157 --- /dev/null +++ b/app/api/me/route.ts @@ -0,0 +1,22 @@ +// app/api/me/route.ts +import { NextResponse } from "next/server"; +import { requireBearer } from "@/app/api/_lib/auth"; +import { dxGET } from "@/lib/directus"; + +export const dynamic = "force-dynamic"; + +export async function GET(req: Request) { + try { + const bearer = requireBearer(req); + // Return only safe fields the UI needs + const res = await dxGET( + "/users/me?fields=id,username,display_name,first_name,last_name,email", + bearer + ); + const me = res?.data ?? res; + return NextResponse.json(me); + } catch (e: any) { + const status = e?.status ?? 500; + return NextResponse.json({ error: e?.message || "Failed to load user" }, { status }); + } +}