@vzeta/camunda-api-zod-schemas
Version:
Zod schemas and TypeScript types for Camunda 8 unified API
74 lines (73 loc) • 2.01 kB
JavaScript
import { z } from "zod";
import { getQueryRequestBodySchema, getQueryResponseBodySchema, API_VERSION } from "../common.js";
const mappingRuleSchema = z.object({
mappingId: z.string(),
claimName: z.string(),
claimValue: z.string(),
name: z.string()
});
const createMappingRuleRequestBodySchema = mappingRuleSchema;
const createMappingRuleResponseBodySchema = mappingRuleSchema;
const updateMappingRuleRequestBodySchema = mappingRuleSchema.pick({
claimName: true,
claimValue: true,
name: true
});
const updateMappingRuleResponseBodySchema = mappingRuleSchema;
const queryMappingRulesRequestBodySchema = getQueryRequestBodySchema({
sortFields: ["mappingId", "claimName", "claimValue", "name"],
filter: mappingRuleSchema.pick({
mappingId: true,
claimName: true,
claimValue: true,
name: true
}).partial()
});
const queryMappingRulesResponseBodySchema = getQueryResponseBodySchema(mappingRuleSchema);
const createMappingRule = {
method: "POST",
getUrl() {
return `/${API_VERSION}/mapping-rules`;
}
};
const updateMappingRule = {
method: "PUT",
getUrl(params) {
const { mappingId } = params;
return `/${API_VERSION}/mapping-rules/${mappingId}`;
}
};
const deleteMappingRule = {
method: "DELETE",
getUrl(params) {
const { mappingId } = params;
return `/${API_VERSION}/mapping-rules/${mappingId}`;
}
};
const getMappingRule = {
method: "GET",
getUrl(params) {
const { mappingId } = params;
return `/${API_VERSION}/mapping-rules/${mappingId}`;
}
};
const queryMappingRules = {
method: "POST",
getUrl() {
return `/${API_VERSION}/mapping-rules/search`;
}
};
export {
createMappingRule,
createMappingRuleRequestBodySchema,
createMappingRuleResponseBodySchema,
deleteMappingRule,
getMappingRule,
mappingRuleSchema,
queryMappingRules,
queryMappingRulesRequestBodySchema,
queryMappingRulesResponseBodySchema,
updateMappingRule,
updateMappingRuleRequestBodySchema,
updateMappingRuleResponseBodySchema
};