78 lines · 3.1 KB · TypeScript
RawDownload
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "@effect/platform";import {  ControlPlaneBadRequestError,  ControlPlaneForbiddenError,  ControlPlaneNotFoundError,  ControlPlaneStorageError,  ControlPlaneUnauthorizedError,} from "@executor/platform-sdk/errors";import {  SourceIdSchema,  SourceInspectionDiscoverPayloadSchema,  SourceInspectionDiscoverResultSchema,  SourceInspectionSchema,  SourceInspectionToolDetailSchema,  SourceSchema,  ScopeIdSchema as WorkspaceIdSchema,} from "@executor/platform-sdk/schema";import * as Schema from "effect/Schema"; const workspaceIdParam = HttpApiSchema.param("workspaceId", WorkspaceIdSchema);const sourceIdParam = HttpApiSchema.param("sourceId", SourceIdSchema);const toolPathParam = HttpApiSchema.param("toolPath", Schema.String); export class SourcesApi extends HttpApiGroup.make("sources")  .add(    HttpApiEndpoint.get("list")`/workspaces/${workspaceIdParam}/sources`      .addSuccess(Schema.Array(SourceSchema))      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.get("get")`/workspaces/${workspaceIdParam}/sources/${sourceIdParam}`      .addSuccess(SourceSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.del("remove")`/workspaces/${workspaceIdParam}/sources/${sourceIdParam}`      .addSuccess(Schema.Struct({ removed: Schema.Boolean }))      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.get("inspection")`/workspaces/${workspaceIdParam}/sources/${sourceIdParam}/inspection`      .addSuccess(SourceInspectionSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.get("inspectionTool")`/workspaces/${workspaceIdParam}/sources/${sourceIdParam}/tools/${toolPathParam}/inspection`      .addSuccess(SourceInspectionToolDetailSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .add(    HttpApiEndpoint.post("inspectionDiscover")`/workspaces/${workspaceIdParam}/sources/${sourceIdParam}/inspection/discover`      .setPayload(SourceInspectionDiscoverPayloadSchema)      .addSuccess(SourceInspectionDiscoverResultSchema)      .addError(ControlPlaneBadRequestError)      .addError(ControlPlaneUnauthorizedError)      .addError(ControlPlaneForbiddenError)      .addError(ControlPlaneNotFoundError)      .addError(ControlPlaneStorageError),  )  .prefix("/v1") {}