/** * GET /api/workspaces/[slug] — workspace details */ import { NextResponse } from 'next/server'; import { requireWorkspacePrincipal } from '@/lib/auth/workspace-auth'; export async function GET( request: Request, { params }: { params: Promise<{ slug: string }> } ) { const { slug } = await params; const principal = await requireWorkspacePrincipal(request, { targetSlug: slug }); if (principal instanceof NextResponse) return principal; const w = principal.workspace; return NextResponse.json({ id: w.id, slug: w.slug, name: w.name, coolifyProjectUuid: w.coolify_project_uuid, coolifyTeamId: w.coolify_team_id, giteaOrg: w.gitea_org, provisionStatus: w.provision_status, provisionError: w.provision_error, createdAt: w.created_at, updatedAt: w.updated_at, principal: { source: principal.source, apiKeyId: principal.apiKeyId ?? null, }, }); }