@vzeta/camunda-api-zod-schemas
Version:
Zod schemas and TypeScript types for Camunda 8 unified API
42 lines (41 loc) • 1.32 kB
JavaScript
import { z } from "zod";
import { getQueryRequestBodySchema, advancedStringFilterSchema, getQueryResponseBodySchema, API_VERSION } from "../common.js";
const variableSchema = z.object({
name: z.string(),
value: z.string(),
tenantId: z.string(),
isTruncated: z.boolean(),
variableKey: z.string(),
scopeKey: z.string(),
processInstanceKey: z.string()
});
const getVariable = {
method: "GET",
getUrl: ({ variableKey }) => `/${API_VERSION}/variables/${variableKey}`
};
const queryVariablesRequestBodySchema = getQueryRequestBodySchema({
sortFields: ["name", "value", "fullValue", "tenantId", "variableKey", "scopeKey", "processInstanceKey"],
filter: z.object({
name: advancedStringFilterSchema,
value: advancedStringFilterSchema,
variableKey: advancedStringFilterSchema,
scopeKey: advancedStringFilterSchema,
processInstanceKey: advancedStringFilterSchema,
...variableSchema.pick({
tenantId: true,
isTruncated: true
}).shape
}).partial()
});
const queryVariablesResponseBodySchema = getQueryResponseBodySchema(variableSchema);
const queryVariables = {
method: "POST",
getUrl: () => `/${API_VERSION}/variables/search`
};
export {
getVariable,
queryVariables,
queryVariablesRequestBodySchema,
queryVariablesResponseBodySchema,
variableSchema
};