UNPKG

@vzeta/camunda-api-zod-schemas

Version:

Zod schemas and TypeScript types for Camunda 8 unified API

104 lines (103 loc) 3.52 kB
import { z } from "zod"; import { getQueryRequestBodySchema, getQueryResponseBodySchema, API_VERSION } from "../common.js"; const decisionDefinitionSchema = z.object({ decisionDefinitionId: z.string(), name: z.string(), version: z.number(), decisionRequirementsId: z.string(), tenantId: z.string(), decisionDefinitionKey: z.string(), decisionRequirementsKey: z.string() }); const queryDecisionDefinitionsRequestBodySchema = getQueryRequestBodySchema({ sortFields: [ "decisionDefinitionKey", "decisionDefinitionId", "name", "version", "decisionRequirementsId", "decisionRequirementsKey", "tenantId" ], filter: decisionDefinitionSchema.partial() }); const queryDecisionDefinitionsResponseBodySchema = getQueryResponseBodySchema(decisionDefinitionSchema); const getDecisionDefinitionXmlResponseBodySchema = z.string(); const evaluatedDecisionInputItemSchema = z.object({ inputId: z.string(), inputName: z.string(), inputValue: z.string() }); const evaluatedDecisionOutputItemSchema = z.object({ outputId: z.string(), outputName: z.string(), outputValue: z.string() }); const matchedDecisionRuleItemSchema = z.object({ ruleId: z.string(), ruleIndex: z.number().int(), evaluatedOutputs: z.array(evaluatedDecisionOutputItemSchema) }); const evaluatedDecisionResultSchema = z.object({ decisionDefinitionId: z.string(), decisionDefinitionName: z.string(), decisionDefinitionVersion: z.number().int(), decisionDefinitionType: z.string(), output: z.string(), tenantId: z.string(), matchedRules: z.array(matchedDecisionRuleItemSchema), evaluatedInputs: z.array(evaluatedDecisionInputItemSchema), decisionDefinitionKey: z.string() }); const evaluateDecisionRequestBodySchema = z.object({ decisionDefinitionId: z.string().optional(), variables: z.record(z.string(), z.unknown()).optional(), tenantId: z.string().optional(), decisionDefinitionKey: z.string().optional() }); const evaluateDecisionResponseBodySchema = z.object({ decisionDefinitionId: z.string(), decisionDefinitionName: z.string(), decisionDefinitionVersion: z.number().int(), decisionRequirementsId: z.string(), output: z.string(), failedDecisionDefinitionId: z.string().optional(), failureMessage: z.string().optional(), tenantId: z.string(), decisionDefinitionKey: z.string(), decisionRequirementsKey: z.string(), decisionInstanceKey: z.string(), evaluatedDecisions: z.array(evaluatedDecisionResultSchema) }); const queryDecisionDefinitions = { method: "POST", getUrl: () => `/${API_VERSION}/decision-definitions/search` }; const getDecisionDefinition = { method: "GET", getUrl: ({ decisionDefinitionKey }) => `/${API_VERSION}/decision-definitions/${decisionDefinitionKey}` }; const getDecisionDefinitionXml = { method: "GET", getUrl: ({ decisionDefinitionKey }) => `/${API_VERSION}/decision-definitions/${decisionDefinitionKey}/xml` }; const evaluateDecision = { method: "POST", getUrl: () => `/${API_VERSION}/decision-definitions/evaluation` }; export { decisionDefinitionSchema, evaluateDecision, evaluateDecisionRequestBodySchema, evaluateDecisionResponseBodySchema, evaluatedDecisionInputItemSchema, evaluatedDecisionOutputItemSchema, evaluatedDecisionResultSchema, getDecisionDefinition, getDecisionDefinitionXml, getDecisionDefinitionXmlResponseBodySchema, matchedDecisionRuleItemSchema, queryDecisionDefinitions, queryDecisionDefinitionsRequestBodySchema, queryDecisionDefinitionsResponseBodySchema };