E2E CI / Check Duplicate Run (push) Failing after 3s
🔄 Branch Synchronization / sync-branches (push) Failing after 3s
Test CI / Check Duplicate Run (push) Failing after 3s
E2E CI / Test Web App (push) Has been skipped
Test CI / Test App (shard 1/3) (push) Has been skipped
Test CI / Test Packages (push) Has been skipped
Test CI / Test App (shard 3/3) (push) Has been skipped
Test CI / Test App (shard 2/3) (push) Has been skipped
Test CI / Test Database (push) Has been skipped
Test CI / Test Desktop App (push) Has been skipped
Test CI / Merge and Upload App Coverage (push) Has been skipped
41 lines
1011 B
TypeScript
41 lines
1011 B
TypeScript
import { NextRequest, NextResponse } from 'next/server';
|
|
|
|
import { auth } from '@/auth';
|
|
import {
|
|
isModelAdmin,
|
|
resolveEnterpriseRoles,
|
|
} from '@/server/services/enterpriseIdentity';
|
|
|
|
export const runtime = 'nodejs';
|
|
export const dynamic = 'force-dynamic';
|
|
|
|
export const GET = async (req: NextRequest) => {
|
|
try {
|
|
const session = await auth.api.getSession({ headers: req.headers });
|
|
const email = session?.user?.email ?? null;
|
|
|
|
if (!email) {
|
|
return NextResponse.json(
|
|
{ email: null, enterprise_roles: [], is_admin: false },
|
|
{ status: 200 },
|
|
);
|
|
}
|
|
|
|
const roles = await resolveEnterpriseRoles(email);
|
|
return NextResponse.json(
|
|
{
|
|
email,
|
|
enterprise_roles: roles,
|
|
is_admin: isModelAdmin(roles),
|
|
},
|
|
{ status: 200 },
|
|
);
|
|
} catch (err) {
|
|
console.error('[enterprise/me] error', err);
|
|
return NextResponse.json(
|
|
{ email: null, enterprise_roles: [], is_admin: false },
|
|
{ status: 200 },
|
|
);
|
|
}
|
|
};
|