Files
cjyyzx/src/app/(backend)/webapi/enterprise/me/route.ts
T
xiaohei c3210b2eec
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
LobeChat deep customization: welcome tagline / example prompts / default agent / model-admin lock / enterprise identity bridge
2026-04-21 20:34:20 +08:00

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 },
);
}
};