62 lines · 2.1 KB · TypeScript
RawDownload
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "@effect/platform";import {  CreateExecutionPayloadSchema,  ResumeExecutionPayloadSchema,} from "@executor/platform-sdk/contracts";export type {  CreateExecutionPayload,  ResumeExecutionPayload,} from "@executor/platform-sdk/contracts";import {  ExecutionIdSchema,  ExecutionEnvelopeSchema,  ScopeIdSchema as WorkspaceIdSchema,} from "@executor/platform-sdk/schema"; import {  ControlPlaneBadRequestError,  ControlPlaneForbiddenError,  ControlPlaneNotFoundError,  ControlPlaneStorageError,  ControlPlaneUnauthorizedError,} from "@executor/platform-sdk/errors"; export {  CreateExecutionPayloadSchema,  ResumeExecutionPayloadSchema,}; const workspaceIdParam = HttpApiSchema.param("workspaceId", WorkspaceIdSchema);const executionIdParam = HttpApiSchema.param("executionId", ExecutionIdSchema); export class ExecutionsApi extends HttpApiGroup.make("executions")  .add(    HttpApiEndpoint.post("create")`/workspaces/${workspaceIdParam}/executions`      .setPayload(CreateExecutionPayloadSchema)      .addSuccess(ExecutionEnvelopeSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.get("get")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}`      .addSuccess(ExecutionEnvelopeSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.post("resume")`/workspaces/${workspaceIdParam}/executions/${executionIdParam}/resume`      .setPayload(ResumeExecutionPayloadSchema)      .addSuccess(ExecutionEnvelopeSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .prefix("/v1") {}