apps/web/app/api/admin/workspace-settings/route.ts
Metadata
- Purpose: Web app route or page component for operator/client experience.
- Domain:
applications - Language:
ts - Bytes: 1407
- Lines: 39
- Content hash (short):
7a1ba52b - Source (start): apps/web/app/api/admin/workspace-settings/route.ts:1
- Source (end): apps/web/app/api/admin/workspace-settings/route.ts:39
Indexed Symbols
getWorkspaceIdOrError(line 5, function) - Implements get workspace id or error for module behavior.GET(line 13, function) - Implements get for module behavior.PUT(line 23, function) - Implements put for module behavior.
Markdown Headings (if applicable)
No markdown headings detected.
Source Preview
import { NextResponse } from "next/server";
import { idempotencyHeaders, proxyGatewayJson } from "../../../../lib/admin-api";
import { assertWorkspaceIdFromSearchParams } from "../../../../lib/workspace-context";
function getWorkspaceIdOrError(request: Request): { workspaceId?: string; error?: string } {
try {
return { workspaceId: assertWorkspaceIdFromSearchParams(new URL(request.url).searchParams) };
} catch (error) {
return { error: error instanceof Error ? error.message : "Workspace context is required" };
}
}
export async function GET(request: Request) {
const { workspaceId, error } = getWorkspaceIdOrError(request);
if (!workspaceId) {
return NextResponse.json({ error }, { status: 400 });
}
const result = await proxyGatewayJson("/api/v1/workspace/settings", workspaceId);
return NextResponse.json(result.data, { status: result.status });
}
export async function PUT(request: Request) {
const { workspaceId, error } = getWorkspaceIdOrError(request);
if (!workspaceId) {