Skip to main content

apps/web/app/api/admin/workspace-settings/route.ts

Metadata

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) {