UNPKG

@vzeta/camunda-api-zod-schemas

Version:

Zod schemas and TypeScript types for Camunda 8 unified API

97 lines (96 loc) 3.3 kB
import { z } from "zod"; import { getQueryRequestBodySchema, getQueryResponseBodySchema, API_VERSION } from "../common.js"; const batchOperationTypeSchema = z.enum([ "CANCEL_PROCESS_INSTANCE", "RESOLVE_INCIDENT", "MIGRATE_PROCESS_INSTANCE", "MODIFY_PROCESS_INSTANCE" ]); const batchOperationStateSchema = z.enum([ "CREATED", "ACTIVE", "SUSPENDED", "COMPLETED", "COMPLETED_WITH_ERRORS", "CANCELED", "INCOMPLETED" ]); const batchOperationItemStateSchema = z.enum(["ACTIVE", "COMPLETED", "CANCELED", "FAILED"]); const batchOperationSchema = z.object({ batchOperationKey: z.string(), state: batchOperationStateSchema, batchOperationType: batchOperationTypeSchema, startDate: z.string(), endDate: z.string().optional(), operationsTotalCount: z.number().int(), operationsFailedCount: z.number().int(), operationsCompletedCount: z.number().int() }); const batchOperationItemSchema = z.object({ batchOperationKey: z.string(), itemKey: z.string(), processInstanceKey: z.string(), state: batchOperationItemStateSchema, processedDate: z.string().optional(), errorMessage: z.string().optional() }); const queryBatchOperationsRequestBodySchema = getQueryRequestBodySchema({ sortFields: ["batchOperationKey", "operationType", "state", "startDate", "endDate"], filter: z.object({ batchOperationKey: z.string(), operationType: batchOperationTypeSchema, state: batchOperationStateSchema }).partial() }); const queryBatchOperationsResponseBodySchema = getQueryResponseBodySchema(batchOperationSchema); const queryBatchOperationItemsRequestBodySchema = getQueryRequestBodySchema({ sortFields: ["batchOperationKey", "itemKey", "processInstanceKey", "state"], filter: z.object({ batchOperationKey: z.string(), itemKey: z.string(), processInstanceKey: z.string(), state: batchOperationItemStateSchema }).partial() }); const queryBatchOperationItemsResponseBodySchema = getQueryResponseBodySchema(batchOperationItemSchema); const getBatchOperation = { method: "GET", getUrl: ({ batchOperationKey }) => `/${API_VERSION}/batch-operations/${batchOperationKey}` }; const queryBatchOperations = { method: "POST", getUrl: () => `/${API_VERSION}/batch-operations/search` }; const cancelBatchOperation = { method: "PUT", getUrl: ({ batchOperationKey }) => `/${API_VERSION}/batch-operations/${batchOperationKey}/cancellation` }; const suspendBatchOperation = { method: "PUT", getUrl: ({ batchOperationKey }) => `/${API_VERSION}/batch-operations/${batchOperationKey}/suspension` }; const resumeBatchOperation = { method: "PUT", getUrl: ({ batchOperationKey }) => `/${API_VERSION}/batch-operations/${batchOperationKey}/resumption` }; const queryBatchOperationItems = { method: "POST", getUrl: () => `/${API_VERSION}/batch-operation-items/search` }; export { batchOperationItemSchema, batchOperationItemStateSchema, batchOperationSchema, batchOperationStateSchema, batchOperationTypeSchema, cancelBatchOperation, getBatchOperation, queryBatchOperationItems, queryBatchOperationItemsRequestBodySchema, queryBatchOperationItemsResponseBodySchema, queryBatchOperations, queryBatchOperationsRequestBodySchema, queryBatchOperationsResponseBodySchema, resumeBatchOperation, suspendBatchOperation };