import type { WorkspaceId } from "#schema";import * as Effect from "effect/Effect";import { RuntimeLocalWorkspaceMismatchError,} from "../runtime/local-errors";import { requireRuntimeLocalWorkspace } from "../runtime/local-runtime-context";import { ControlPlaneForbiddenError } from "./errors";export const resolveRequestedLocalWorkspace = ( operation: string, workspaceId: WorkspaceId,) => requireRuntimeLocalWorkspace(workspaceId).pipe( Effect.mapError((cause) => new ControlPlaneForbiddenError({ operation, message: "Requested workspace is not the active local workspace", details: cause instanceof RuntimeLocalWorkspaceMismatchError ? `requestedWorkspaceId=${cause.requestedWorkspaceId} activeWorkspaceId=${cause.activeWorkspaceId}` : "Runtime local workspace is unavailable", }) ), );
import type { WorkspaceId } from "#schema";
import * as Effect from "effect/Effect";
import {
RuntimeLocalWorkspaceMismatchError,
} from "../runtime/local-errors";
import { requireRuntimeLocalWorkspace } from "../runtime/local-runtime-context";
import { ControlPlaneForbiddenError } from "./errors";
export const resolveRequestedLocalWorkspace = (
operation: string,
workspaceId: WorkspaceId,
) =>
requireRuntimeLocalWorkspace(workspaceId).pipe(
Effect.mapError((cause) =>
new ControlPlaneForbiddenError({
operation,
message: "Requested workspace is not the active local workspace",
details:
cause instanceof RuntimeLocalWorkspaceMismatchError
? `requestedWorkspaceId=${cause.requestedWorkspaceId} activeWorkspaceId=${cause.activeWorkspaceId}`
: "Runtime local workspace is unavailable",
})
),
);