29 lines
640 B
TypeScript
29 lines
640 B
TypeScript
import { NextResponse } from 'next/server';
|
|
import { extractAdminState, fetchBackendSession } from '../../_utils/backendAuth';
|
|
|
|
export const runtime = 'nodejs';
|
|
|
|
export async function GET(request: Request) {
|
|
const session = await fetchBackendSession(request);
|
|
|
|
if (!session.ok) {
|
|
return NextResponse.json(
|
|
{
|
|
ok: false,
|
|
authenticated: false,
|
|
isAdmin: false,
|
|
user: null,
|
|
message: session.message ?? 'Unauthorized.',
|
|
},
|
|
{ status: session.status }
|
|
);
|
|
}
|
|
|
|
const state = extractAdminState(session.payload);
|
|
|
|
return NextResponse.json({
|
|
ok: true,
|
|
...state,
|
|
});
|
|
}
|