From 2f41f6348d25eda2d2c845621c39b3ec4fc38675 Mon Sep 17 00:00:00 2001 From: Matt Carroll Date: Wed, 6 May 2026 13:25:01 +1000 Subject: [PATCH] AP-8365 # Added approval form prefill mappings --- src/lib/forms-schema/index.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/forms-schema/index.ts b/src/lib/forms-schema/index.ts index ec3ca5d4..45320011 100644 --- a/src/lib/forms-schema/index.ts +++ b/src/lib/forms-schema/index.ts @@ -710,10 +710,28 @@ const approvalStepCommonProps = { clarificationRequestEmailTemplateId: Joi.number(), } +const approvalFormPrefillPathSegmentSchema = Joi.object({ + kind: Joi.string().valid('repeatableSet', 'form').required(), + formElementId: Joi.string().guid().required(), +}) + +const approvalFormPrefillElementPathSchema = Joi.object({ + containers: Joi.array().items(approvalFormPrefillPathSegmentSchema).default([]), + formElementId: Joi.string().guid().required(), +}) + +const approvalFormPrefillMappingRowSchema = Joi.object({ + sourcePath: approvalFormPrefillElementPathSchema.required(), + approvalPath: approvalFormPrefillElementPathSchema.required(), +}) + const approvalStepNodeProps = { label: Joi.string().required(), group: Joi.string().required(), approvalFormId: Joi.number(), + approvalFormPrefillMappings: Joi.array() + .items(approvalFormPrefillMappingRowSchema) + .optional(), isConditional: Joi.boolean().default(false), requiresAllConditionalPredicates: Joi.boolean().default(false), conditionalPredicates: Joi.when('isConditional', {