geraete/app/api/me/route.ts
2025-11-26 15:00:05 +01:00

43 lines
1.0 KiB
TypeScript

// app/api/me/route.ts
import { NextResponse } from 'next/server';
import { getCurrentUser } from '@/lib/auth';
export async function GET() {
try {
const user = await getCurrentUser();
if (!user) {
return NextResponse.json(
{ user: null },
{ status: 200 },
);
}
// Rollen-Namen aus der Relation ziehen
const roles = (user.roles ?? []).map((ur) => ur.role.name);
// "Anzeigename" zusammenbauen
const fullName = [user.firstName, user.lastName].filter(Boolean).join(' ') || null;
const displayName = user.arbeitsname ?? fullName;
return NextResponse.json(
{
user: {
id: user.nwkennung, // dein Primärschlüssel
email: user.email,
name: displayName, // <-- statt user.name
roles, // string[]
},
},
{ status: 200 },
);
} catch (err) {
console.error('[GET /api/me]', err);
return NextResponse.json(
{ user: null, error: 'INTERNAL_ERROR' },
{ status: 500 },
);
}
}