@defra/forms-model 3.0.628 → 3.0.633

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,6 +38,8 @@ export let AuditEventMessageType = /*#__PURE__*/function (AuditEventMessageType)
38
38
  AuditEventMessageType["FORM_DRAFT_DELETED"] = "FORM_DRAFT_DELETED";
39
39
  AuditEventMessageType["FORM_MIGRATED"] = "FORM_MIGRATED";
40
40
  AuditEventMessageType["FORM_UPDATED"] = "FORM_UPDATED";
41
+ AuditEventMessageType["FORM_SECRET_DELETED"] = "FORM_SECRET_DELETED";
42
+ AuditEventMessageType["FORM_SECRET_RENAMED"] = "FORM_SECRET_RENAMED";
41
43
  AuditEventMessageType["FORM_SECRET_SAVED"] = "FORM_SECRET_SAVED";
42
44
  AuditEventMessageType["FORM_SUBMISSION_EXCEL_REQUESTED"] = "FORM_SUBMISSION_EXCEL_REQUESTED";
43
45
  AuditEventMessageType["FORM_CSAT_EXCEL_REQUESTED"] = "FORM_CSAT_EXCEL_REQUESTED";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType"],"sources":["../../../../src/form/form-audit/enums.ts"],"sourcesContent":["export enum AuditEventMessageSchemaVersion {\n V1 = 1\n}\n\nexport enum AuditEventMessageCategory {\n FORM = 'FORM',\n ENTITLEMENT = 'ENTITLEMENT',\n AUTHENTICATION = 'AUTHENTICATION'\n}\n\nexport enum AuditEventMessageSource {\n FORMS_MANAGER = 'FORMS_MANAGER',\n FORMS_DESIGNER = 'FORMS_DESIGNER',\n ENTITLEMENT = 'ENTITLEMENT',\n AUTHENTICATION = 'AUTHENTICATION'\n}\n\nexport enum AuditEventMessageType {\n // FORM message types\n FORM_CREATED = 'FORM_CREATED',\n FORM_TITLE_UPDATED = 'FORM_TITLE_UPDATED',\n FORM_ORGANISATION_UPDATED = 'FORM_ORGANISATION_UPDATED',\n FORM_TEAM_NAME_UPDATED = 'FORM_TEAM_NAME_UPDATED',\n FORM_TEAM_EMAIL_UPDATED = 'FORM_TEAM_EMAIL_UPDATED',\n FORM_SUPPORT_CONTACT_UPDATED = 'FORM_SUPPORT_CONTACT_UPDATED',\n FORM_SUPPORT_PHONE_UPDATED = 'FORM_SUPPORT_PHONE_UPDATED',\n FORM_SUPPORT_EMAIL_UPDATED = 'FORM_SUPPORT_EMAIL_UPDATED',\n FORM_SUPPORT_ONLINE_UPDATED = 'FORM_SUPPORT_ONLINE_UPDATED',\n FORM_PRIVACY_NOTICE_UPDATED = 'FORM_PRIVACY_NOTICE_UPDATED',\n FORM_TERMS_AND_CONDITIONS_AGREED = 'FORM_TERMS_AND_CONDITIONS_AGREED',\n FORM_NOTIFICATION_EMAIL_UPDATED = 'FORM_NOTIFICATION_EMAIL_UPDATED',\n FORM_SUBMISSION_GUIDANCE_UPDATED = 'FORM_SUBMISSION_GUIDANCE_UPDATED',\n FORM_JSON_UPLOADED = 'FORM_JSON_UPLOADED',\n FORM_JSON_DOWNLOADED = 'FORM_JSON_DOWNLOADED',\n FORM_FILE_DOWNLOAD_SUCCESS = 'FORM_FILE_DOWNLOAD_SUCCESS',\n FORM_FILE_DOWNLOAD_FAILURE = 'FORM_FILE_DOWNLOAD_FAILURE',\n FORM_DRAFT_CREATED_FROM_LIVE = 'FORM_DRAFT_CREATED_FROM_LIVE',\n FORM_LIVE_CREATED_FROM_DRAFT = 'FORM_LIVE_CREATED_FROM_DRAFT',\n FORM_DRAFT_DELETED = 'FORM_DRAFT_DELETED',\n FORM_MIGRATED = 'FORM_MIGRATED',\n FORM_UPDATED = 'FORM_UPDATED',\n FORM_SECRET_SAVED = 'FORM_SECRET_SAVED',\n FORM_SUBMISSION_EXCEL_REQUESTED = 'FORM_SUBMISSION_EXCEL_REQUESTED',\n FORM_CSAT_EXCEL_REQUESTED = 'FORM_CSAT_EXCEL_REQUESTED',\n FORMS_BACKUP_REQUESTED = 'FORMS_BACKUP_REQUESTED',\n PLATFORM_CSAT_EXCEL_REQUESTED = 'PLATFORM_CSAT_EXCEL_REQUESTED',\n\n // ENTITLEMENT message types\n ENTITLEMENT_CREATED = 'ENTITLEMENT_CREATED',\n ENTITLEMENT_UPDATED = 'ENTITLEMENT_UPDATED',\n ENTITLEMENT_DELETED = 'ENTITLEMENT_DELETED',\n\n // AUTHENTICATION message types\n AUTHENTICATION_LOGIN = 'AUTHENTICATION_LOGIN',\n AUTHENTICATION_LOGOUT_MANUAL = 'AUTHENTICATION_LOGOUT_MANUAL',\n AUTHENTICATION_LOGOUT_AUTO = 'AUTHENTICATION_LOGOUT_AUTO',\n AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE = 'AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE'\n}\n\nexport enum FormDefinitionRequestType {\n REPLACE_DRAFT = 'REPLACE_DRAFT',\n CREATE_COMPONENT = 'CREATE_COMPONENT',\n UPDATE_COMPONENT = 'UPDATE_COMPONENT',\n DELETE_COMPONENT = 'DELETE_COMPONENT',\n CREATE_CONDITION = 'CREATE_CONDITION',\n UPDATE_CONDITION = 'UPDATE_CONDITION',\n DELETE_CONDITION = 'DELETE_CONDITION',\n REORDER_PAGES = 'REORDER_PAGES',\n REORDER_COMPONENTS = 'REORDER_COMPONENTS',\n REORDER_SECTIONS = 'REORDER_SECTIONS',\n CREATE_LIST = 'CREATE_LIST',\n UPDATE_LIST = 'UPDATE_LIST',\n DELETE_LIST = 'DELETE_LIST',\n CREATE_PAGE = 'CREATE_PAGE',\n UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',\n DELETE_PAGE = 'DELETE_PAGE',\n REPOSITION_SUMMARY = 'REPOSITION_SUMMARY',\n CREATE_SECTION = 'CREATE_SECTION',\n DELETE_SECTION = 'DELETE_SECTION',\n RENAME_SECTION = 'RENAME_SECTION',\n ASSIGN_SECTIONS = 'ASSIGN_SECTIONS',\n UNASSIGN_SECTIONS = 'UNASSIGN_SECTIONS',\n UPDATE_OPTION = 'UPDATE_OPTION'\n}\n"],"mappings":"AAAA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAI1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAMrC,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAOnC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AA0CjC,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType"],"sources":["../../../../src/form/form-audit/enums.ts"],"sourcesContent":["export enum AuditEventMessageSchemaVersion {\n V1 = 1\n}\n\nexport enum AuditEventMessageCategory {\n FORM = 'FORM',\n ENTITLEMENT = 'ENTITLEMENT',\n AUTHENTICATION = 'AUTHENTICATION'\n}\n\nexport enum AuditEventMessageSource {\n FORMS_MANAGER = 'FORMS_MANAGER',\n FORMS_DESIGNER = 'FORMS_DESIGNER',\n ENTITLEMENT = 'ENTITLEMENT',\n AUTHENTICATION = 'AUTHENTICATION'\n}\n\nexport enum AuditEventMessageType {\n // FORM message types\n FORM_CREATED = 'FORM_CREATED',\n FORM_TITLE_UPDATED = 'FORM_TITLE_UPDATED',\n FORM_ORGANISATION_UPDATED = 'FORM_ORGANISATION_UPDATED',\n FORM_TEAM_NAME_UPDATED = 'FORM_TEAM_NAME_UPDATED',\n FORM_TEAM_EMAIL_UPDATED = 'FORM_TEAM_EMAIL_UPDATED',\n FORM_SUPPORT_CONTACT_UPDATED = 'FORM_SUPPORT_CONTACT_UPDATED',\n FORM_SUPPORT_PHONE_UPDATED = 'FORM_SUPPORT_PHONE_UPDATED',\n FORM_SUPPORT_EMAIL_UPDATED = 'FORM_SUPPORT_EMAIL_UPDATED',\n FORM_SUPPORT_ONLINE_UPDATED = 'FORM_SUPPORT_ONLINE_UPDATED',\n FORM_PRIVACY_NOTICE_UPDATED = 'FORM_PRIVACY_NOTICE_UPDATED',\n FORM_TERMS_AND_CONDITIONS_AGREED = 'FORM_TERMS_AND_CONDITIONS_AGREED',\n FORM_NOTIFICATION_EMAIL_UPDATED = 'FORM_NOTIFICATION_EMAIL_UPDATED',\n FORM_SUBMISSION_GUIDANCE_UPDATED = 'FORM_SUBMISSION_GUIDANCE_UPDATED',\n FORM_JSON_UPLOADED = 'FORM_JSON_UPLOADED',\n FORM_JSON_DOWNLOADED = 'FORM_JSON_DOWNLOADED',\n FORM_FILE_DOWNLOAD_SUCCESS = 'FORM_FILE_DOWNLOAD_SUCCESS',\n FORM_FILE_DOWNLOAD_FAILURE = 'FORM_FILE_DOWNLOAD_FAILURE',\n FORM_DRAFT_CREATED_FROM_LIVE = 'FORM_DRAFT_CREATED_FROM_LIVE',\n FORM_LIVE_CREATED_FROM_DRAFT = 'FORM_LIVE_CREATED_FROM_DRAFT',\n FORM_DRAFT_DELETED = 'FORM_DRAFT_DELETED',\n FORM_MIGRATED = 'FORM_MIGRATED',\n FORM_UPDATED = 'FORM_UPDATED',\n FORM_SECRET_DELETED = 'FORM_SECRET_DELETED',\n FORM_SECRET_RENAMED = 'FORM_SECRET_RENAMED',\n FORM_SECRET_SAVED = 'FORM_SECRET_SAVED',\n FORM_SUBMISSION_EXCEL_REQUESTED = 'FORM_SUBMISSION_EXCEL_REQUESTED',\n FORM_CSAT_EXCEL_REQUESTED = 'FORM_CSAT_EXCEL_REQUESTED',\n FORMS_BACKUP_REQUESTED = 'FORMS_BACKUP_REQUESTED',\n PLATFORM_CSAT_EXCEL_REQUESTED = 'PLATFORM_CSAT_EXCEL_REQUESTED',\n\n // ENTITLEMENT message types\n ENTITLEMENT_CREATED = 'ENTITLEMENT_CREATED',\n ENTITLEMENT_UPDATED = 'ENTITLEMENT_UPDATED',\n ENTITLEMENT_DELETED = 'ENTITLEMENT_DELETED',\n\n // AUTHENTICATION message types\n AUTHENTICATION_LOGIN = 'AUTHENTICATION_LOGIN',\n AUTHENTICATION_LOGOUT_MANUAL = 'AUTHENTICATION_LOGOUT_MANUAL',\n AUTHENTICATION_LOGOUT_AUTO = 'AUTHENTICATION_LOGOUT_AUTO',\n AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE = 'AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE'\n}\n\nexport enum FormDefinitionRequestType {\n REPLACE_DRAFT = 'REPLACE_DRAFT',\n CREATE_COMPONENT = 'CREATE_COMPONENT',\n UPDATE_COMPONENT = 'UPDATE_COMPONENT',\n DELETE_COMPONENT = 'DELETE_COMPONENT',\n CREATE_CONDITION = 'CREATE_CONDITION',\n UPDATE_CONDITION = 'UPDATE_CONDITION',\n DELETE_CONDITION = 'DELETE_CONDITION',\n REORDER_PAGES = 'REORDER_PAGES',\n REORDER_COMPONENTS = 'REORDER_COMPONENTS',\n REORDER_SECTIONS = 'REORDER_SECTIONS',\n CREATE_LIST = 'CREATE_LIST',\n UPDATE_LIST = 'UPDATE_LIST',\n DELETE_LIST = 'DELETE_LIST',\n CREATE_PAGE = 'CREATE_PAGE',\n UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',\n DELETE_PAGE = 'DELETE_PAGE',\n REPOSITION_SUMMARY = 'REPOSITION_SUMMARY',\n CREATE_SECTION = 'CREATE_SECTION',\n DELETE_SECTION = 'DELETE_SECTION',\n RENAME_SECTION = 'RENAME_SECTION',\n ASSIGN_SECTIONS = 'ASSIGN_SECTIONS',\n UNASSIGN_SECTIONS = 'UNASSIGN_SECTIONS',\n UPDATE_OPTION = 'UPDATE_OPTION'\n}\n"],"mappings":"AAAA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAI1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAMrC,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAOnC,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AA4CjC,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
@@ -25,6 +25,12 @@ export const formsBackupRequestedMessageData = Joi.object().keys({
25
25
  totalForms: Joi.number().integer().min(0).required(),
26
26
  durationMs: Joi.number().min(0).required()
27
27
  });
28
+ export const formsSecretDeletedMessageData = formMessageDataBase.append({
29
+ secretName: Joi.string().required()
30
+ });
31
+ export const formsSecretRenamedMessageData = formMessageDataBase.append({
32
+ secretName: Joi.string().required()
33
+ });
28
34
  export const formsSecretSavedMessageData = formMessageDataBase.append({
29
35
  secretName: Joi.string().required()
30
36
  });
@@ -187,6 +193,12 @@ export const messageSchema = Joi.object().keys({
187
193
  }, {
188
194
  is: Joi.string().trim().valid(AuditEventMessageType.FORMS_BACKUP_REQUESTED),
189
195
  then: formsBackupRequestedMessageData
196
+ }, {
197
+ is: Joi.string().trim().valid(AuditEventMessageType.FORM_SECRET_DELETED),
198
+ then: formsSecretDeletedMessageData
199
+ }, {
200
+ is: Joi.string().trim().valid(AuditEventMessageType.FORM_SECRET_RENAMED),
201
+ then: formsSecretRenamedMessageData
190
202
  }, {
191
203
  is: Joi.string().trim().valid(AuditEventMessageType.FORM_SECRET_SAVED),
192
204
  then: formsSecretSavedMessageData
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Joi","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType","contactSchema","emailAddressSchema","emailResponseTimeSchema","idSchema","notificationEmailAddressSchema","onlineTextSchema","onlineUrlSchema","organisationSchema","phoneSchema","privacyNoticeTextSchema","privacyNoticeTypeSchema","privacyNoticeUrlSchema","slugSchema","submissionGuidanceSchema","teamEmailSchema","teamNameSchema","termsAndConditionsAgreedSchema","titleSchema","formMessageDataBase","object","formId","slug","payload","optional","required","description","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","string","filename","s3Key","formUpdatedMessageData","requestType","valid","Object","values","s3Meta","formsBackupRequestedMessageData","totalForms","number","integer","min","durationMs","formsSecretSavedMessageData","secretName","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formSupportEmailChanges","address","responseTime","formPrivacyNoticeChanges","privacyNoticeType","privacyNoticeText","when","is","then","otherwise","allow","privacyNoticeUrl","formTermsAndConditionsChanges","termsAndConditionsAgreed","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","entitlementMessageData","userId","displayName","email","roles","array","items","formFileDownloadedMessageData","fileLink","excelGenerationMessageData","formName","authenticationMessageData","auditUserSchema","id","formChangesMessageData","schema","changes","previous","new","messageSchema","schemaVersion","category","source","type","entityId","traceId","createdAt","date","createdBy","data","switch","trim","FORM_CREATED","FORM_TITLE_UPDATED","FORM_ORGANISATION_UPDATED","FORM_TEAM_NAME_UPDATED","FORM_TEAM_EMAIL_UPDATED","FORM_SUPPORT_CONTACT_UPDATED","FORM_SUPPORT_PHONE_UPDATED","FORM_SUPPORT_EMAIL_UPDATED","FORM_SUPPORT_ONLINE_UPDATED","FORM_PRIVACY_NOTICE_UPDATED","FORM_TERMS_AND_CONDITIONS_AGREED","FORM_NOTIFICATION_EMAIL_UPDATED","FORM_SUBMISSION_GUIDANCE_UPDATED","FORM_JSON_UPLOADED","FORM_UPDATED","ENTITLEMENT_CREATED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","FORM_DRAFT_DELETED","FORM_JSON_DOWNLOADED","AUTHENTICATION_LOGIN","AUTHENTICATION_LOGOUT_MANUAL","AUTHENTICATION_LOGOUT_AUTO","AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE","FORM_FILE_DOWNLOAD_SUCCESS","FORM_FILE_DOWNLOAD_FAILURE","FORM_SUBMISSION_EXCEL_REQUESTED","FORM_CSAT_EXCEL_REQUESTED","PLATFORM_CSAT_EXCEL_REQUESTED","FORMS_BACKUP_REQUESTED","FORM_SECRET_SAVED","forbidden","messageCreatedAt","auditEvent","message","auditRecord","messageId","uuid","recordCreatedAt"],"sources":["../../../../src/form/form-audit/index.ts"],"sourcesContent":["import Joi, { type ObjectSchema } from 'joi'\n\nimport {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\n AuditEventMessageSource,\n AuditEventMessageType,\n FormDefinitionRequestType\n} from '~/src/form/form-audit/enums.js'\nimport {\n type AuditEvent,\n type AuditMessage,\n type AuditRecord,\n type AuditUser,\n type AuthenticationMessageData,\n type ChangesMessageData,\n type EntitlementMessageData,\n type ExcelGenerationMessageData,\n type FormCreatedMessageData,\n type FormDefinitionS3Meta,\n type FormFileDownloadedMessageData,\n type FormMessageChangesData,\n type FormMessageDataBase,\n type FormNotificationEmailChanges,\n type FormNotificationEmailUpdatedMessageData,\n type FormOrganisationChanges,\n type FormOrganisationUpdatedMessageData,\n type FormPrivacyNoticeChanges,\n type FormPrivacyNoticeUpdatedMessageData,\n type FormSecretSavedMessageData,\n type FormSubmissionGuidanceChanges,\n type FormSubmissionGuidanceUpdatedMessageData,\n type FormSupportContactChanges,\n type FormSupportContactUpdatedMessageData,\n type FormSupportEmailChanges,\n type FormSupportEmailUpdatedMessageData,\n type FormSupportOnlineChanges,\n type FormSupportOnlineUpdatedMessageData,\n type FormSupportPhoneChanges,\n type FormSupportPhoneUpdatedMessageData,\n type FormTeamEmailChanges,\n type FormTeamEmailUpdatedMessageData,\n type FormTeamNameChanges,\n type FormTeamNameUpdatedMessageData,\n type FormTermsAndConditionsAgreedMessageData,\n type FormTermsAndConditionsChanges,\n type FormTitleChanges,\n type FormTitleUpdatedMessageData,\n type FormUpdatedMessageData,\n type FormUploadedChanges,\n type FormUploadedMessageData,\n type FormsBackupRequestedMessageData\n} from '~/src/form/form-audit/types.js'\nimport {\n contactSchema,\n emailAddressSchema,\n emailResponseTimeSchema,\n idSchema,\n notificationEmailAddressSchema,\n onlineTextSchema,\n onlineUrlSchema,\n organisationSchema,\n phoneSchema,\n privacyNoticeTextSchema,\n privacyNoticeTypeSchema,\n privacyNoticeUrlSchema,\n slugSchema,\n submissionGuidanceSchema,\n teamEmailSchema,\n teamNameSchema,\n termsAndConditionsAgreedSchema,\n titleSchema\n} from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: idSchema,\n slug: slugSchema,\n payload: Joi.object().optional()\n})\n .required()\n .description('The base data object for Form Messages')\n\nexport const formCreatedMessageData = formMessageDataBase\n .append<FormCreatedMessageData>({\n title: titleSchema,\n organisation: organisationSchema,\n teamName: teamNameSchema,\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Message data schema for when a form is created')\n\nexport const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n s3Key: Joi.string().required()\n })\n .description('Schema for form data S3 object in message')\n\nexport const formUpdatedMessageData = formMessageDataBase\n .append<FormUpdatedMessageData>({\n requestType: Joi.string()\n .valid(...Object.values(FormDefinitionRequestType))\n .required(),\n s3Meta: formDefinitionS3Meta.optional()\n })\n .required()\n\nexport const formsBackupRequestedMessageData =\n Joi.object<FormsBackupRequestedMessageData>().keys({\n totalForms: Joi.number().integer().min(0).required(),\n durationMs: Joi.number().min(0).required()\n })\n\nexport const formsSecretSavedMessageData =\n formMessageDataBase.append<FormSecretSavedMessageData>({\n secretName: Joi.string().required()\n })\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: titleSchema\n })\n .required()\n .description('Changes schema for FORM_TITLE_UPDATED event')\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: organisationSchema\n })\n .required()\n .description('Changes schema for FORM_ORGANISATION_UPDATED event')\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: teamNameSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_NAME_UPDATED event')\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_EMAIL_UPDATED event')\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_CONTACT_UPDATED event')\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: phoneSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_PHONE_UPDATED event')\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: onlineUrlSchema.optional(),\n text: onlineTextSchema.optional()\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event')\n\nexport const formSupportEmailChanges = Joi.object<FormSupportEmailChanges>()\n .keys({\n address: emailAddressSchema.optional(),\n responseTime: emailResponseTimeSchema.optional()\n })\n .description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeType: privacyNoticeTypeSchema,\n privacyNoticeText: Joi.when('privacyNoticeType', {\n is: 'text',\n then: privacyNoticeTextSchema,\n otherwise: privacyNoticeTextSchema.allow('')\n }),\n privacyNoticeUrl: Joi.when('privacyNoticeType', {\n is: 'link',\n then: privacyNoticeUrlSchema,\n otherwise: privacyNoticeUrlSchema.allow('')\n })\n })\n .required()\n .description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event')\n\nexport const formTermsAndConditionsChanges =\n Joi.object<FormTermsAndConditionsChanges>()\n .keys({\n termsAndConditionsAgreed: termsAndConditionsAgreedSchema\n })\n .required()\n .description('Changes schema for FORM_TERMS_AND_CONDITIONS_AGREED event')\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: notificationEmailAddressSchema\n })\n .required()\n .description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event')\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: submissionGuidanceSchema\n })\n .required()\n .description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event')\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n .description('Changes schema for FORM_JSON_UPLOADED event')\n\nexport const entitlementMessageData = Joi.object<EntitlementMessageData>().keys(\n {\n userId: Joi.string().required(),\n displayName: Joi.string().required(),\n email: Joi.string().email().required(),\n roles: Joi.array().items(Joi.string())\n }\n)\n\nexport const formFileDownloadedMessageData =\n Joi.object<FormFileDownloadedMessageData>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n fileLink: Joi.string().required()\n })\n .required()\n .description(\n 'Schema for FORM_FILE_DOWNLOAD_SUCCESS and FORM_FILE_DOWNLOAD_FAILURE events'\n )\n\nexport const excelGenerationMessageData =\n Joi.object<ExcelGenerationMessageData>()\n .keys({\n formId: Joi.string().required(),\n formName: Joi.string().required(),\n notificationEmail: Joi.string().email().required()\n })\n .required()\n .description(\n 'Schema for Excel generation audit events (submissions and CSAT)'\n )\n\nexport const authenticationMessageData =\n Joi.object<AuthenticationMessageData>().keys({\n userId: Joi.string().required(),\n displayName: Joi.string().required()\n })\n\nexport const auditUserSchema = Joi.object<AuditUser>()\n .keys({\n id: Joi.string().required(),\n displayName: Joi.string().required()\n })\n .description('Schema for CREATED_BY audit event')\n\nexport function formChangesMessageData<T, U extends FormMessageChangesData>(\n schema: ObjectSchema<T>\n): ObjectSchema<U> {\n return formMessageDataBase.append<U>({\n changes: Joi.object<ChangesMessageData<T>>()\n .keys({\n previous: schema,\n new: schema\n })\n .description('Changes schema')\n })\n}\n\nexport const messageSchema = Joi.object<AuditMessage>()\n .keys({\n schemaVersion: Joi.string()\n .valid(...Object.values(AuditEventMessageSchemaVersion))\n .required()\n .description(\n 'The version of the AuditMessage - bumped with breaking changes'\n ),\n category: Joi.string()\n .valid(...Object.values(AuditEventMessageCategory))\n .required()\n .description('The message category - what does the entityId represent?'),\n source: Joi.string()\n .valid(...Object.values(AuditEventMessageSource))\n .required()\n .description('Source of the message - which service?'),\n type: Joi.string()\n .valid(...Object.values(AuditEventMessageType))\n .description('Event type'),\n entityId: Joi.string()\n .required()\n .description('The id of the entity the category relates to'),\n traceId: Joi.string()\n .optional()\n .description(\n 'Trace id of the event - to link events across multiple services'\n ),\n createdAt: Joi.date()\n .required()\n .description(\n 'The ISO timestamp where the action took place - should be the same as updated_at field in DB'\n ),\n createdBy: auditUserSchema\n .required()\n .description('The user who performed the action being audited'),\n data: Joi.when('type', {\n switch: [\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_CREATED),\n then: formCreatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TITLE_UPDATED),\n then: formChangesMessageData<\n FormTitleChanges,\n FormTitleUpdatedMessageData\n >(formTitleChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_ORGANISATION_UPDATED),\n then: formChangesMessageData<\n FormOrganisationChanges,\n FormOrganisationUpdatedMessageData\n >(formOrganisationChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_NAME_UPDATED),\n then: formChangesMessageData<\n FormTeamNameChanges,\n FormTeamNameUpdatedMessageData\n >(formTeamNameChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormTeamEmailChanges,\n FormTeamEmailUpdatedMessageData\n >(formTeamEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED),\n then: formChangesMessageData<\n FormSupportContactChanges,\n FormSupportContactUpdatedMessageData\n >(formSupportContactChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED),\n then: formChangesMessageData<\n FormSupportPhoneChanges,\n FormSupportPhoneUpdatedMessageData\n >(formSupportPhoneChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormSupportEmailChanges,\n FormSupportEmailUpdatedMessageData\n >(formSupportEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED),\n then: formChangesMessageData<\n FormSupportOnlineChanges,\n FormSupportOnlineUpdatedMessageData\n >(formSupportOnlineChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED),\n then: formChangesMessageData<\n FormPrivacyNoticeChanges,\n FormPrivacyNoticeUpdatedMessageData\n >(formPrivacyNoticeChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TERMS_AND_CONDITIONS_AGREED),\n then: formChangesMessageData<\n FormTermsAndConditionsChanges,\n FormTermsAndConditionsAgreedMessageData\n >(formTermsAndConditionsChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormNotificationEmailChanges,\n FormNotificationEmailUpdatedMessageData\n >(formNotificationEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED),\n then: formChangesMessageData<\n FormSubmissionGuidanceChanges,\n FormSubmissionGuidanceUpdatedMessageData\n >(formSubmissionGuidanceChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_UPLOADED),\n then: formChangesMessageData<\n FormUploadedChanges,\n FormUploadedMessageData\n >(formUploadedChanges)\n },\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_UPDATED),\n then: formUpdatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.ENTITLEMENT_CREATED,\n AuditEventMessageType.ENTITLEMENT_UPDATED,\n AuditEventMessageType.ENTITLEMENT_DELETED\n ),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_DOWNLOADED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.AUTHENTICATION_LOGIN,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n ),\n then: authenticationMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.FORM_FILE_DOWNLOAD_SUCCESS,\n AuditEventMessageType.FORM_FILE_DOWNLOAD_FAILURE\n ),\n then: formFileDownloadedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.FORM_SUBMISSION_EXCEL_REQUESTED,\n AuditEventMessageType.FORM_CSAT_EXCEL_REQUESTED,\n AuditEventMessageType.PLATFORM_CSAT_EXCEL_REQUESTED\n ),\n then: excelGenerationMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORMS_BACKUP_REQUESTED),\n then: formsBackupRequestedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SECRET_SAVED),\n then: formsSecretSavedMessageData\n }\n ],\n otherwise: Joi.forbidden()\n }).description('The data/payload of the audit message'),\n messageCreatedAt: Joi.date()\n .required()\n .description('ISO timestamp when the message was published')\n })\n .required()\n .description('The audit message issued by the publishing service')\n\nexport const auditEvent = Joi.object<AuditEvent>()\n .keys({\n message: messageSchema\n })\n .description('The Body of the audit event')\n\nexport const auditRecord = messageSchema\n .append<AuditRecord>({\n id: idSchema,\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n })\n .description('The audit record persisted into the DB')\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Joi","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType","contactSchema","emailAddressSchema","emailResponseTimeSchema","idSchema","notificationEmailAddressSchema","onlineTextSchema","onlineUrlSchema","organisationSchema","phoneSchema","privacyNoticeTextSchema","privacyNoticeTypeSchema","privacyNoticeUrlSchema","slugSchema","submissionGuidanceSchema","teamEmailSchema","teamNameSchema","termsAndConditionsAgreedSchema","titleSchema","formMessageDataBase","object","formId","slug","payload","optional","required","description","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","string","filename","s3Key","formUpdatedMessageData","requestType","valid","Object","values","s3Meta","formsBackupRequestedMessageData","totalForms","number","integer","min","durationMs","formsSecretDeletedMessageData","secretName","formsSecretRenamedMessageData","formsSecretSavedMessageData","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formSupportEmailChanges","address","responseTime","formPrivacyNoticeChanges","privacyNoticeType","privacyNoticeText","when","is","then","otherwise","allow","privacyNoticeUrl","formTermsAndConditionsChanges","termsAndConditionsAgreed","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","entitlementMessageData","userId","displayName","email","roles","array","items","formFileDownloadedMessageData","fileLink","excelGenerationMessageData","formName","authenticationMessageData","auditUserSchema","id","formChangesMessageData","schema","changes","previous","new","messageSchema","schemaVersion","category","source","type","entityId","traceId","createdAt","date","createdBy","data","switch","trim","FORM_CREATED","FORM_TITLE_UPDATED","FORM_ORGANISATION_UPDATED","FORM_TEAM_NAME_UPDATED","FORM_TEAM_EMAIL_UPDATED","FORM_SUPPORT_CONTACT_UPDATED","FORM_SUPPORT_PHONE_UPDATED","FORM_SUPPORT_EMAIL_UPDATED","FORM_SUPPORT_ONLINE_UPDATED","FORM_PRIVACY_NOTICE_UPDATED","FORM_TERMS_AND_CONDITIONS_AGREED","FORM_NOTIFICATION_EMAIL_UPDATED","FORM_SUBMISSION_GUIDANCE_UPDATED","FORM_JSON_UPLOADED","FORM_UPDATED","ENTITLEMENT_CREATED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","FORM_DRAFT_DELETED","FORM_JSON_DOWNLOADED","AUTHENTICATION_LOGIN","AUTHENTICATION_LOGOUT_MANUAL","AUTHENTICATION_LOGOUT_AUTO","AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE","FORM_FILE_DOWNLOAD_SUCCESS","FORM_FILE_DOWNLOAD_FAILURE","FORM_SUBMISSION_EXCEL_REQUESTED","FORM_CSAT_EXCEL_REQUESTED","PLATFORM_CSAT_EXCEL_REQUESTED","FORMS_BACKUP_REQUESTED","FORM_SECRET_DELETED","FORM_SECRET_RENAMED","FORM_SECRET_SAVED","forbidden","messageCreatedAt","auditEvent","message","auditRecord","messageId","uuid","recordCreatedAt"],"sources":["../../../../src/form/form-audit/index.ts"],"sourcesContent":["import Joi, { type ObjectSchema } from 'joi'\n\nimport {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\n AuditEventMessageSource,\n AuditEventMessageType,\n FormDefinitionRequestType\n} from '~/src/form/form-audit/enums.js'\nimport {\n type AuditEvent,\n type AuditMessage,\n type AuditRecord,\n type AuditUser,\n type AuthenticationMessageData,\n type ChangesMessageData,\n type EntitlementMessageData,\n type ExcelGenerationMessageData,\n type FormCreatedMessageData,\n type FormDefinitionS3Meta,\n type FormFileDownloadedMessageData,\n type FormMessageChangesData,\n type FormMessageDataBase,\n type FormNotificationEmailChanges,\n type FormNotificationEmailUpdatedMessageData,\n type FormOrganisationChanges,\n type FormOrganisationUpdatedMessageData,\n type FormPrivacyNoticeChanges,\n type FormPrivacyNoticeUpdatedMessageData,\n type FormSecretBaseMessageData,\n type FormSubmissionGuidanceChanges,\n type FormSubmissionGuidanceUpdatedMessageData,\n type FormSupportContactChanges,\n type FormSupportContactUpdatedMessageData,\n type FormSupportEmailChanges,\n type FormSupportEmailUpdatedMessageData,\n type FormSupportOnlineChanges,\n type FormSupportOnlineUpdatedMessageData,\n type FormSupportPhoneChanges,\n type FormSupportPhoneUpdatedMessageData,\n type FormTeamEmailChanges,\n type FormTeamEmailUpdatedMessageData,\n type FormTeamNameChanges,\n type FormTeamNameUpdatedMessageData,\n type FormTermsAndConditionsAgreedMessageData,\n type FormTermsAndConditionsChanges,\n type FormTitleChanges,\n type FormTitleUpdatedMessageData,\n type FormUpdatedMessageData,\n type FormUploadedChanges,\n type FormUploadedMessageData,\n type FormsBackupRequestedMessageData\n} from '~/src/form/form-audit/types.js'\nimport {\n contactSchema,\n emailAddressSchema,\n emailResponseTimeSchema,\n idSchema,\n notificationEmailAddressSchema,\n onlineTextSchema,\n onlineUrlSchema,\n organisationSchema,\n phoneSchema,\n privacyNoticeTextSchema,\n privacyNoticeTypeSchema,\n privacyNoticeUrlSchema,\n slugSchema,\n submissionGuidanceSchema,\n teamEmailSchema,\n teamNameSchema,\n termsAndConditionsAgreedSchema,\n titleSchema\n} from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: idSchema,\n slug: slugSchema,\n payload: Joi.object().optional()\n})\n .required()\n .description('The base data object for Form Messages')\n\nexport const formCreatedMessageData = formMessageDataBase\n .append<FormCreatedMessageData>({\n title: titleSchema,\n organisation: organisationSchema,\n teamName: teamNameSchema,\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Message data schema for when a form is created')\n\nexport const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n s3Key: Joi.string().required()\n })\n .description('Schema for form data S3 object in message')\n\nexport const formUpdatedMessageData = formMessageDataBase\n .append<FormUpdatedMessageData>({\n requestType: Joi.string()\n .valid(...Object.values(FormDefinitionRequestType))\n .required(),\n s3Meta: formDefinitionS3Meta.optional()\n })\n .required()\n\nexport const formsBackupRequestedMessageData =\n Joi.object<FormsBackupRequestedMessageData>().keys({\n totalForms: Joi.number().integer().min(0).required(),\n durationMs: Joi.number().min(0).required()\n })\n\nexport const formsSecretDeletedMessageData =\n formMessageDataBase.append<FormSecretBaseMessageData>({\n secretName: Joi.string().required()\n })\n\nexport const formsSecretRenamedMessageData =\n formMessageDataBase.append<FormSecretBaseMessageData>({\n secretName: Joi.string().required()\n })\n\nexport const formsSecretSavedMessageData =\n formMessageDataBase.append<FormSecretBaseMessageData>({\n secretName: Joi.string().required()\n })\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: titleSchema\n })\n .required()\n .description('Changes schema for FORM_TITLE_UPDATED event')\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: organisationSchema\n })\n .required()\n .description('Changes schema for FORM_ORGANISATION_UPDATED event')\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: teamNameSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_NAME_UPDATED event')\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_EMAIL_UPDATED event')\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_CONTACT_UPDATED event')\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: phoneSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_PHONE_UPDATED event')\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: onlineUrlSchema.optional(),\n text: onlineTextSchema.optional()\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event')\n\nexport const formSupportEmailChanges = Joi.object<FormSupportEmailChanges>()\n .keys({\n address: emailAddressSchema.optional(),\n responseTime: emailResponseTimeSchema.optional()\n })\n .description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeType: privacyNoticeTypeSchema,\n privacyNoticeText: Joi.when('privacyNoticeType', {\n is: 'text',\n then: privacyNoticeTextSchema,\n otherwise: privacyNoticeTextSchema.allow('')\n }),\n privacyNoticeUrl: Joi.when('privacyNoticeType', {\n is: 'link',\n then: privacyNoticeUrlSchema,\n otherwise: privacyNoticeUrlSchema.allow('')\n })\n })\n .required()\n .description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event')\n\nexport const formTermsAndConditionsChanges =\n Joi.object<FormTermsAndConditionsChanges>()\n .keys({\n termsAndConditionsAgreed: termsAndConditionsAgreedSchema\n })\n .required()\n .description('Changes schema for FORM_TERMS_AND_CONDITIONS_AGREED event')\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: notificationEmailAddressSchema\n })\n .required()\n .description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event')\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: submissionGuidanceSchema\n })\n .required()\n .description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event')\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n .description('Changes schema for FORM_JSON_UPLOADED event')\n\nexport const entitlementMessageData = Joi.object<EntitlementMessageData>().keys(\n {\n userId: Joi.string().required(),\n displayName: Joi.string().required(),\n email: Joi.string().email().required(),\n roles: Joi.array().items(Joi.string())\n }\n)\n\nexport const formFileDownloadedMessageData =\n Joi.object<FormFileDownloadedMessageData>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n fileLink: Joi.string().required()\n })\n .required()\n .description(\n 'Schema for FORM_FILE_DOWNLOAD_SUCCESS and FORM_FILE_DOWNLOAD_FAILURE events'\n )\n\nexport const excelGenerationMessageData =\n Joi.object<ExcelGenerationMessageData>()\n .keys({\n formId: Joi.string().required(),\n formName: Joi.string().required(),\n notificationEmail: Joi.string().email().required()\n })\n .required()\n .description(\n 'Schema for Excel generation audit events (submissions and CSAT)'\n )\n\nexport const authenticationMessageData =\n Joi.object<AuthenticationMessageData>().keys({\n userId: Joi.string().required(),\n displayName: Joi.string().required()\n })\n\nexport const auditUserSchema = Joi.object<AuditUser>()\n .keys({\n id: Joi.string().required(),\n displayName: Joi.string().required()\n })\n .description('Schema for CREATED_BY audit event')\n\nexport function formChangesMessageData<T, U extends FormMessageChangesData>(\n schema: ObjectSchema<T>\n): ObjectSchema<U> {\n return formMessageDataBase.append<U>({\n changes: Joi.object<ChangesMessageData<T>>()\n .keys({\n previous: schema,\n new: schema\n })\n .description('Changes schema')\n })\n}\n\nexport const messageSchema = Joi.object<AuditMessage>()\n .keys({\n schemaVersion: Joi.string()\n .valid(...Object.values(AuditEventMessageSchemaVersion))\n .required()\n .description(\n 'The version of the AuditMessage - bumped with breaking changes'\n ),\n category: Joi.string()\n .valid(...Object.values(AuditEventMessageCategory))\n .required()\n .description('The message category - what does the entityId represent?'),\n source: Joi.string()\n .valid(...Object.values(AuditEventMessageSource))\n .required()\n .description('Source of the message - which service?'),\n type: Joi.string()\n .valid(...Object.values(AuditEventMessageType))\n .description('Event type'),\n entityId: Joi.string()\n .required()\n .description('The id of the entity the category relates to'),\n traceId: Joi.string()\n .optional()\n .description(\n 'Trace id of the event - to link events across multiple services'\n ),\n createdAt: Joi.date()\n .required()\n .description(\n 'The ISO timestamp where the action took place - should be the same as updated_at field in DB'\n ),\n createdBy: auditUserSchema\n .required()\n .description('The user who performed the action being audited'),\n data: Joi.when('type', {\n switch: [\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_CREATED),\n then: formCreatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TITLE_UPDATED),\n then: formChangesMessageData<\n FormTitleChanges,\n FormTitleUpdatedMessageData\n >(formTitleChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_ORGANISATION_UPDATED),\n then: formChangesMessageData<\n FormOrganisationChanges,\n FormOrganisationUpdatedMessageData\n >(formOrganisationChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_NAME_UPDATED),\n then: formChangesMessageData<\n FormTeamNameChanges,\n FormTeamNameUpdatedMessageData\n >(formTeamNameChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormTeamEmailChanges,\n FormTeamEmailUpdatedMessageData\n >(formTeamEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED),\n then: formChangesMessageData<\n FormSupportContactChanges,\n FormSupportContactUpdatedMessageData\n >(formSupportContactChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED),\n then: formChangesMessageData<\n FormSupportPhoneChanges,\n FormSupportPhoneUpdatedMessageData\n >(formSupportPhoneChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormSupportEmailChanges,\n FormSupportEmailUpdatedMessageData\n >(formSupportEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED),\n then: formChangesMessageData<\n FormSupportOnlineChanges,\n FormSupportOnlineUpdatedMessageData\n >(formSupportOnlineChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED),\n then: formChangesMessageData<\n FormPrivacyNoticeChanges,\n FormPrivacyNoticeUpdatedMessageData\n >(formPrivacyNoticeChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TERMS_AND_CONDITIONS_AGREED),\n then: formChangesMessageData<\n FormTermsAndConditionsChanges,\n FormTermsAndConditionsAgreedMessageData\n >(formTermsAndConditionsChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormNotificationEmailChanges,\n FormNotificationEmailUpdatedMessageData\n >(formNotificationEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED),\n then: formChangesMessageData<\n FormSubmissionGuidanceChanges,\n FormSubmissionGuidanceUpdatedMessageData\n >(formSubmissionGuidanceChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_UPLOADED),\n then: formChangesMessageData<\n FormUploadedChanges,\n FormUploadedMessageData\n >(formUploadedChanges)\n },\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_UPDATED),\n then: formUpdatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.ENTITLEMENT_CREATED,\n AuditEventMessageType.ENTITLEMENT_UPDATED,\n AuditEventMessageType.ENTITLEMENT_DELETED\n ),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_DOWNLOADED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.AUTHENTICATION_LOGIN,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n ),\n then: authenticationMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.FORM_FILE_DOWNLOAD_SUCCESS,\n AuditEventMessageType.FORM_FILE_DOWNLOAD_FAILURE\n ),\n then: formFileDownloadedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.FORM_SUBMISSION_EXCEL_REQUESTED,\n AuditEventMessageType.FORM_CSAT_EXCEL_REQUESTED,\n AuditEventMessageType.PLATFORM_CSAT_EXCEL_REQUESTED\n ),\n then: excelGenerationMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORMS_BACKUP_REQUESTED),\n then: formsBackupRequestedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SECRET_DELETED),\n then: formsSecretDeletedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SECRET_RENAMED),\n then: formsSecretRenamedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SECRET_SAVED),\n then: formsSecretSavedMessageData\n }\n ],\n otherwise: Joi.forbidden()\n }).description('The data/payload of the audit message'),\n messageCreatedAt: Joi.date()\n .required()\n .description('ISO timestamp when the message was published')\n })\n .required()\n .description('The audit message issued by the publishing service')\n\nexport const auditEvent = Joi.object<AuditEvent>()\n .keys({\n message: messageSchema\n })\n .description('The Body of the audit event')\n\nexport const auditRecord = messageSchema\n .append<AuditRecord>({\n id: idSchema,\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n })\n .description('The audit record persisted into the DB')\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-audit/types.ts"],"sourcesContent":["import {\n type AuditEventMessageCategory,\n type AuditEventMessageSchemaVersion,\n type AuditEventMessageSource,\n type AuditEventMessageType,\n type FormDefinitionRequestType\n} from '~/src/form/form-audit/enums.js'\nimport { type FormMetadataContact } from '~/src/form/form-metadata/types.js'\n\nexport interface FormMessageDataBase {\n formId: string\n slug: string\n payload?: unknown\n}\n\nexport interface ChangesMessageData<T> {\n previous: T\n new: T\n}\n\nexport interface FormCreatedMessageData extends FormMessageDataBase {\n title: string\n organisation: string\n teamName: string\n teamEmail: string\n}\n\nexport interface FormTitleChanges {\n title: string\n}\n\nexport interface FormOrganisationChanges {\n organisation: string\n}\n\nexport interface FormTeamNameChanges {\n teamName: string\n}\n\nexport interface FormTeamEmailChanges {\n teamEmail: string\n}\n\nexport interface FormSupportContactChanges {\n contact?: FormMetadataContact\n}\n\nexport interface FormSupportPhoneChanges {\n phone?: string\n}\n\nexport interface FormSupportEmailChanges {\n address?: string\n responseTime?: string\n}\n\nexport interface FormSupportOnlineChanges {\n url?: string\n text?: string\n}\n\nexport interface FormPrivacyNoticeChanges {\n privacyNoticeType?: string\n privacyNoticeText?: string\n privacyNoticeUrl?: string\n}\n\nexport interface FormTermsAndConditionsChanges {\n termsAndConditionsAgreed?: boolean\n}\n\nexport interface FormNotificationEmailChanges {\n notificationEmail?: string\n}\n\nexport interface FormSubmissionGuidanceChanges {\n submissionGuidance?: string\n}\n\nexport interface FormUploadedChanges {\n value: string\n}\n\nexport interface FormTitleUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTitleChanges>\n}\n\nexport interface FormOrganisationUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormOrganisationChanges>\n}\n\nexport interface FormTeamNameUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTeamNameChanges>\n}\n\nexport interface FormTeamEmailUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTeamEmailChanges>\n}\n\nexport interface FormSupportContactUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportContactChanges>\n}\n\nexport interface FormSupportPhoneUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportPhoneChanges>\n}\n\nexport interface FormSupportEmailUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportEmailChanges>\n}\n\nexport interface FormSupportOnlineUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportOnlineChanges>\n}\n\nexport interface FormPrivacyNoticeUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormPrivacyNoticeChanges>\n}\n\nexport interface FormTermsAndConditionsAgreedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormTermsAndConditionsChanges>\n}\n\nexport interface FormNotificationEmailUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormNotificationEmailChanges>\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSubmissionGuidanceChanges>\n}\n\nexport interface FormUploadedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormUploadedChanges>\n}\n\nexport interface FormFileDownloadedMessageData {\n fileId: string\n filename: string\n fileLink: string\n}\n\nexport interface ExcelGenerationMessageData {\n formId: string\n formName: string\n notificationEmail: string\n}\n\nexport interface FormSecretSavedMessageData extends FormMessageDataBase {\n formId: string\n slug: string\n secretName: string\n}\n\nexport interface FormDefinitionS3Meta {\n fileId: string\n filename: string\n s3Key: string\n}\n\nexport interface FormUpdatedMessageData extends FormMessageDataBase {\n requestType: FormDefinitionRequestType\n s3Meta?: FormDefinitionS3Meta\n}\n\nexport type FormMessageChangesData =\n | FormTitleUpdatedMessageData\n | FormOrganisationUpdatedMessageData\n | FormTeamNameUpdatedMessageData\n | FormTeamEmailUpdatedMessageData\n | FormSupportContactUpdatedMessageData\n | FormSupportPhoneUpdatedMessageData\n | FormSupportEmailUpdatedMessageData\n | FormSupportOnlineUpdatedMessageData\n | FormPrivacyNoticeUpdatedMessageData\n | FormTermsAndConditionsAgreedMessageData\n | FormNotificationEmailUpdatedMessageData\n | FormSubmissionGuidanceUpdatedMessageData\n | FormUploadedMessageData\n\nexport type FormMessageActivitiesData =\n | FormCreatedMessageData\n | FormMessageDataBase\n | FormFileDownloadedMessageData\n\nexport interface EntitlementMessageData {\n userId: string\n displayName: string\n email: string\n roles: string[]\n}\n\nexport interface AuthenticationMessageData {\n userId: string\n displayName: string\n}\n\nexport interface AuditUser {\n id: string\n displayName: string\n}\n\nexport interface FormsBackupRequestedMessageData {\n totalForms: number\n durationMs: number\n}\n\nexport type MessageData =\n | FormMessageChangesData\n | FormMessageActivitiesData\n | FormUpdatedMessageData\n | EntitlementMessageData\n | AuthenticationMessageData\n | ExcelGenerationMessageData\n | FormFileDownloadedMessageData\n | FormsBackupRequestedMessageData\n | FormSecretSavedMessageData\n\nexport interface MessageBase {\n schemaVersion: AuditEventMessageSchemaVersion\n category: AuditEventMessageCategory\n source: AuditEventMessageSource\n type: AuditEventMessageType\n entityId: string\n traceId?: string\n createdAt: Date\n createdBy: AuditUser\n data?: MessageData\n messageCreatedAt: Date\n}\n\nexport interface ManagerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_MANAGER\n}\nexport interface DesignerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_DESIGNER\n}\n\nexport interface EntitlementMessageBase extends MessageBase {\n source: AuditEventMessageSource.ENTITLEMENT\n}\n\nexport interface AuthenticationMessageBase extends MessageBase {\n source: AuditEventMessageSource.AUTHENTICATION\n}\n\nexport interface FormCreatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CREATED\n data: FormCreatedMessageData\n}\n\nexport interface FormTitleUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TITLE_UPDATED\n data: FormTitleUpdatedMessageData\n}\n\nexport interface FormOrganisationUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_ORGANISATION_UPDATED\n data: FormOrganisationUpdatedMessageData\n}\n\nexport interface FormTeamNameUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED\n data: FormTeamNameUpdatedMessageData\n}\n\nexport interface FormTeamEmailUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED\n data: FormTeamEmailUpdatedMessageData\n}\n\nexport interface FormSupportContactUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED\n data: FormSupportContactUpdatedMessageData\n}\n\nexport interface FormSupportPhoneUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED\n data: FormSupportPhoneUpdatedMessageData\n}\n\nexport interface FormSupportEmailUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED\n data: FormSupportEmailUpdatedMessageData\n}\n\nexport interface FormSupportOnlineUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED\n data: FormSupportOnlineUpdatedMessageData\n}\n\nexport interface FormPrivacyNoticeUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormPrivacyNoticeUpdatedMessageData\n}\n\nexport interface FormTermsAndConditionsAgreedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TERMS_AND_CONDITIONS_AGREED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormTermsAndConditionsAgreedMessageData\n}\n\nexport interface FormNotificationEmailUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormNotificationEmailUpdatedMessageData\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormSubmissionGuidanceUpdatedMessageData\n}\n\nexport interface FormUploadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_UPLOADED\n data: FormUploadedMessageData\n}\n\nexport interface FormDownloadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_DOWNLOADED\n data: FormMessageDataBase\n}\n\nexport interface FormFileDownloadSuccessMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_FILE_DOWNLOAD_SUCCESS\n data: FormFileDownloadedMessageData\n}\n\nexport interface FormFileDownloadFailureMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_FILE_DOWNLOAD_FAILURE\n data: FormFileDownloadedMessageData\n}\n\nexport interface FormDraftCreatedFromLiveMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE\n}\n\nexport interface FormLiveCreatedFromDraftMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT\n}\n\nexport interface FormDraftDeletedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_DELETED\n}\n\nexport interface FormMigratedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_MIGRATED\n}\n\nexport interface FormUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_UPDATED\n data: FormUpdatedMessageData\n}\n\nexport interface EntitlementCreatedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_CREATED\n data: EntitlementMessageData\n}\n\nexport interface EntitlementUpdatedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_UPDATED\n data: EntitlementMessageData\n}\n\nexport interface EntitlementDeletedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_DELETED\n data: EntitlementMessageData\n}\n\nexport interface AuthenticationLoginMessage extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGIN\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutManualMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutAutoMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutDifferentDeviceMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n data: AuthenticationMessageData\n}\n\nexport interface FormSubmissionExcelRequestedMessage\n extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface FormCsatExcelRequestedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CSAT_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface PlatformCsatExcelRequestedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.PLATFORM_CSAT_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface FormsBackupRequestedMessage extends DesignerMessageBase {\n type: AuditEventMessageType.FORMS_BACKUP_REQUESTED\n data: FormsBackupRequestedMessageData\n}\n\nexport interface FormSecretSavedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SECRET_SAVED\n data: FormSecretSavedMessageData\n}\n\nexport type AuditMessage =\n | FormCreatedMessage\n | FormTitleUpdatedMessage\n | FormOrganisationUpdatedMessage\n | FormTeamNameUpdatedMessage\n | FormTeamEmailUpdatedMessage\n | FormSupportContactUpdatedMessage\n | FormSupportPhoneUpdatedMessage\n | FormSupportEmailUpdatedMessage\n | FormSupportOnlineUpdatedMessage\n | FormPrivacyNoticeUpdatedMessage\n | FormTermsAndConditionsAgreedMessage\n | FormNotificationEmailUpdatedMessage\n | FormSubmissionGuidanceUpdatedMessage\n | FormUploadedMessage\n | FormDownloadedMessage\n | FormFileDownloadSuccessMessage\n | FormFileDownloadFailureMessage\n | FormDraftCreatedFromLiveMessage\n | FormLiveCreatedFromDraftMessage\n | FormDraftDeletedMessage\n | FormMigratedMessage\n | FormUpdatedMessage\n | EntitlementCreatedMessage\n | EntitlementUpdatedMessage\n | EntitlementDeletedMessage\n | AuthenticationLoginMessage\n | AuthenticationLogoutManualMessage\n | AuthenticationLogoutAutoMessage\n | AuthenticationLogoutDifferentDeviceMessage\n | FormSubmissionExcelRequestedMessage\n | FormCsatExcelRequestedMessage\n | PlatformCsatExcelRequestedMessage\n | FormsBackupRequestedMessage\n | FormSecretSavedMessage\n\nexport interface AuditEvent {\n message: AuditMessage\n}\n\nexport interface AuditMetaBase {\n messageId: string\n recordCreatedAt: Date\n}\n\nexport interface AuditInputMeta extends AuditMetaBase {\n id: string\n}\n\nexport type AuditRecordInput = AuditMessage & AuditMetaBase\n\nexport type AuditRecord = AuditMessage & AuditInputMeta\n\nexport interface MessageBody {\n Message: string\n}\n\n/**\n * Consolidated audit record that represents multiple grouped events.\n * Combines AuditRecord with consolidation metadata.\n */\nexport type ConsolidatedAuditRecord = AuditRecord & {\n /** Number of events consolidated into this record */\n consolidatedCount: number\n /** Timestamp of the earliest event in the group */\n consolidatedFrom: Date\n /** Timestamp of the latest event in the group */\n consolidatedTo: Date\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-audit/types.ts"],"sourcesContent":["import {\n type AuditEventMessageCategory,\n type AuditEventMessageSchemaVersion,\n type AuditEventMessageSource,\n type AuditEventMessageType,\n type FormDefinitionRequestType\n} from '~/src/form/form-audit/enums.js'\nimport { type FormMetadataContact } from '~/src/form/form-metadata/types.js'\n\nexport interface FormMessageDataBase {\n formId: string\n slug: string\n payload?: unknown\n}\n\nexport interface ChangesMessageData<T> {\n previous: T\n new: T\n}\n\nexport interface FormCreatedMessageData extends FormMessageDataBase {\n title: string\n organisation: string\n teamName: string\n teamEmail: string\n}\n\nexport interface FormTitleChanges {\n title: string\n}\n\nexport interface FormOrganisationChanges {\n organisation: string\n}\n\nexport interface FormTeamNameChanges {\n teamName: string\n}\n\nexport interface FormTeamEmailChanges {\n teamEmail: string\n}\n\nexport interface FormSupportContactChanges {\n contact?: FormMetadataContact\n}\n\nexport interface FormSupportPhoneChanges {\n phone?: string\n}\n\nexport interface FormSupportEmailChanges {\n address?: string\n responseTime?: string\n}\n\nexport interface FormSupportOnlineChanges {\n url?: string\n text?: string\n}\n\nexport interface FormPrivacyNoticeChanges {\n privacyNoticeType?: string\n privacyNoticeText?: string\n privacyNoticeUrl?: string\n}\n\nexport interface FormTermsAndConditionsChanges {\n termsAndConditionsAgreed?: boolean\n}\n\nexport interface FormNotificationEmailChanges {\n notificationEmail?: string\n}\n\nexport interface FormSubmissionGuidanceChanges {\n submissionGuidance?: string\n}\n\nexport interface FormUploadedChanges {\n value: string\n}\n\nexport interface FormTitleUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTitleChanges>\n}\n\nexport interface FormOrganisationUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormOrganisationChanges>\n}\n\nexport interface FormTeamNameUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTeamNameChanges>\n}\n\nexport interface FormTeamEmailUpdatedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormTeamEmailChanges>\n}\n\nexport interface FormSupportContactUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportContactChanges>\n}\n\nexport interface FormSupportPhoneUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportPhoneChanges>\n}\n\nexport interface FormSupportEmailUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportEmailChanges>\n}\n\nexport interface FormSupportOnlineUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSupportOnlineChanges>\n}\n\nexport interface FormPrivacyNoticeUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormPrivacyNoticeChanges>\n}\n\nexport interface FormTermsAndConditionsAgreedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormTermsAndConditionsChanges>\n}\n\nexport interface FormNotificationEmailUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormNotificationEmailChanges>\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessageData\n extends FormMessageDataBase {\n changes: ChangesMessageData<FormSubmissionGuidanceChanges>\n}\n\nexport interface FormUploadedMessageData extends FormMessageDataBase {\n changes: ChangesMessageData<FormUploadedChanges>\n}\n\nexport interface FormFileDownloadedMessageData {\n fileId: string\n filename: string\n fileLink: string\n}\n\nexport interface ExcelGenerationMessageData {\n formId: string\n formName: string\n notificationEmail: string\n}\n\nexport interface FormSecretBaseMessageData extends FormMessageDataBase {\n formId: string\n slug: string\n secretName: string\n}\n\nexport interface FormDefinitionS3Meta {\n fileId: string\n filename: string\n s3Key: string\n}\n\nexport interface FormUpdatedMessageData extends FormMessageDataBase {\n requestType: FormDefinitionRequestType\n s3Meta?: FormDefinitionS3Meta\n}\n\nexport type FormMessageChangesData =\n | FormTitleUpdatedMessageData\n | FormOrganisationUpdatedMessageData\n | FormTeamNameUpdatedMessageData\n | FormTeamEmailUpdatedMessageData\n | FormSupportContactUpdatedMessageData\n | FormSupportPhoneUpdatedMessageData\n | FormSupportEmailUpdatedMessageData\n | FormSupportOnlineUpdatedMessageData\n | FormPrivacyNoticeUpdatedMessageData\n | FormTermsAndConditionsAgreedMessageData\n | FormNotificationEmailUpdatedMessageData\n | FormSubmissionGuidanceUpdatedMessageData\n | FormUploadedMessageData\n\nexport type FormMessageActivitiesData =\n | FormCreatedMessageData\n | FormMessageDataBase\n | FormFileDownloadedMessageData\n\nexport interface EntitlementMessageData {\n userId: string\n displayName: string\n email: string\n roles: string[]\n}\n\nexport interface AuthenticationMessageData {\n userId: string\n displayName: string\n}\n\nexport interface AuditUser {\n id: string\n displayName: string\n}\n\nexport interface FormsBackupRequestedMessageData {\n totalForms: number\n durationMs: number\n}\n\nexport type MessageData =\n | FormMessageChangesData\n | FormMessageActivitiesData\n | FormUpdatedMessageData\n | EntitlementMessageData\n | AuthenticationMessageData\n | ExcelGenerationMessageData\n | FormFileDownloadedMessageData\n | FormsBackupRequestedMessageData\n | FormSecretBaseMessageData\n\nexport interface MessageBase {\n schemaVersion: AuditEventMessageSchemaVersion\n category: AuditEventMessageCategory\n source: AuditEventMessageSource\n type: AuditEventMessageType\n entityId: string\n traceId?: string\n createdAt: Date\n createdBy: AuditUser\n data?: MessageData\n messageCreatedAt: Date\n}\n\nexport interface ManagerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_MANAGER\n}\nexport interface DesignerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_DESIGNER\n}\n\nexport interface EntitlementMessageBase extends MessageBase {\n source: AuditEventMessageSource.ENTITLEMENT\n}\n\nexport interface AuthenticationMessageBase extends MessageBase {\n source: AuditEventMessageSource.AUTHENTICATION\n}\n\nexport interface FormCreatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CREATED\n data: FormCreatedMessageData\n}\n\nexport interface FormTitleUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TITLE_UPDATED\n data: FormTitleUpdatedMessageData\n}\n\nexport interface FormOrganisationUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_ORGANISATION_UPDATED\n data: FormOrganisationUpdatedMessageData\n}\n\nexport interface FormTeamNameUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED\n data: FormTeamNameUpdatedMessageData\n}\n\nexport interface FormTeamEmailUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED\n data: FormTeamEmailUpdatedMessageData\n}\n\nexport interface FormSupportContactUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED\n data: FormSupportContactUpdatedMessageData\n}\n\nexport interface FormSupportPhoneUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED\n data: FormSupportPhoneUpdatedMessageData\n}\n\nexport interface FormSupportEmailUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED\n data: FormSupportEmailUpdatedMessageData\n}\n\nexport interface FormSupportOnlineUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED\n data: FormSupportOnlineUpdatedMessageData\n}\n\nexport interface FormPrivacyNoticeUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormPrivacyNoticeUpdatedMessageData\n}\n\nexport interface FormTermsAndConditionsAgreedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TERMS_AND_CONDITIONS_AGREED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormTermsAndConditionsAgreedMessageData\n}\n\nexport interface FormNotificationEmailUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormNotificationEmailUpdatedMessageData\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormSubmissionGuidanceUpdatedMessageData\n}\n\nexport interface FormUploadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_UPLOADED\n data: FormUploadedMessageData\n}\n\nexport interface FormDownloadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_DOWNLOADED\n data: FormMessageDataBase\n}\n\nexport interface FormFileDownloadSuccessMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_FILE_DOWNLOAD_SUCCESS\n data: FormFileDownloadedMessageData\n}\n\nexport interface FormFileDownloadFailureMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_FILE_DOWNLOAD_FAILURE\n data: FormFileDownloadedMessageData\n}\n\nexport interface FormDraftCreatedFromLiveMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE\n}\n\nexport interface FormLiveCreatedFromDraftMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT\n}\n\nexport interface FormDraftDeletedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_DELETED\n}\n\nexport interface FormMigratedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_MIGRATED\n}\n\nexport interface FormUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_UPDATED\n data: FormUpdatedMessageData\n}\n\nexport interface EntitlementCreatedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_CREATED\n data: EntitlementMessageData\n}\n\nexport interface EntitlementUpdatedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_UPDATED\n data: EntitlementMessageData\n}\n\nexport interface EntitlementDeletedMessage extends EntitlementMessageBase {\n category: AuditEventMessageCategory.ENTITLEMENT\n type: AuditEventMessageType.ENTITLEMENT_DELETED\n data: EntitlementMessageData\n}\n\nexport interface AuthenticationLoginMessage extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGIN\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutManualMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutAutoMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO\n data: AuthenticationMessageData\n}\n\nexport interface AuthenticationLogoutDifferentDeviceMessage\n extends AuthenticationMessageBase {\n category: AuditEventMessageCategory.AUTHENTICATION\n type: AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n data: AuthenticationMessageData\n}\n\nexport interface FormSubmissionExcelRequestedMessage\n extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface FormCsatExcelRequestedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CSAT_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface PlatformCsatExcelRequestedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.PLATFORM_CSAT_EXCEL_REQUESTED\n data: ExcelGenerationMessageData\n}\n\nexport interface FormsBackupRequestedMessage extends DesignerMessageBase {\n type: AuditEventMessageType.FORMS_BACKUP_REQUESTED\n data: FormsBackupRequestedMessageData\n}\n\nexport interface FormSecretDeletedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SECRET_DELETED\n data: FormSecretBaseMessageData\n}\n\nexport interface FormSecretRenamedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SECRET_RENAMED\n data: FormSecretBaseMessageData\n}\n\nexport interface FormSecretSavedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SECRET_SAVED\n data: FormSecretBaseMessageData\n}\n\nexport type AuditMessage =\n | FormCreatedMessage\n | FormTitleUpdatedMessage\n | FormOrganisationUpdatedMessage\n | FormTeamNameUpdatedMessage\n | FormTeamEmailUpdatedMessage\n | FormSupportContactUpdatedMessage\n | FormSupportPhoneUpdatedMessage\n | FormSupportEmailUpdatedMessage\n | FormSupportOnlineUpdatedMessage\n | FormPrivacyNoticeUpdatedMessage\n | FormTermsAndConditionsAgreedMessage\n | FormNotificationEmailUpdatedMessage\n | FormSubmissionGuidanceUpdatedMessage\n | FormUploadedMessage\n | FormDownloadedMessage\n | FormFileDownloadSuccessMessage\n | FormFileDownloadFailureMessage\n | FormDraftCreatedFromLiveMessage\n | FormLiveCreatedFromDraftMessage\n | FormDraftDeletedMessage\n | FormMigratedMessage\n | FormUpdatedMessage\n | EntitlementCreatedMessage\n | EntitlementUpdatedMessage\n | EntitlementDeletedMessage\n | AuthenticationLoginMessage\n | AuthenticationLogoutManualMessage\n | AuthenticationLogoutAutoMessage\n | AuthenticationLogoutDifferentDeviceMessage\n | FormSubmissionExcelRequestedMessage\n | FormCsatExcelRequestedMessage\n | PlatformCsatExcelRequestedMessage\n | FormsBackupRequestedMessage\n | FormSecretDeletedMessage\n | FormSecretRenamedMessage\n | FormSecretSavedMessage\n\nexport interface AuditEvent {\n message: AuditMessage\n}\n\nexport interface AuditMetaBase {\n messageId: string\n recordCreatedAt: Date\n}\n\nexport interface AuditInputMeta extends AuditMetaBase {\n id: string\n}\n\nexport type AuditRecordInput = AuditMessage & AuditMetaBase\n\nexport type AuditRecord = AuditMessage & AuditInputMeta\n\nexport interface MessageBody {\n Message: string\n}\n\n/**\n * Consolidated audit record that represents multiple grouped events.\n * Combines AuditRecord with consolidation metadata.\n */\nexport type ConsolidatedAuditRecord = AuditRecord & {\n /** Number of events consolidated into this record */\n consolidatedCount: number\n /** Timestamp of the earliest event in the group */\n consolidatedFrom: Date\n /** Timestamp of the latest event in the group */\n consolidatedTo: Date\n}\n"],"mappings":"","ignoreList":[]}
@@ -190,7 +190,7 @@ export const conditionWrapperSchemaV2 = Joi.object().description('Container for
190
190
  is: Joi.exist(),
191
191
  then: conditionDataSchemaV2,
192
192
  otherwise: conditionRefDataSchemaV2
193
- })).min(1).max(15).description('Array of conditions or condition references')
193
+ })).min(1).description('Array of conditions or condition references')
194
194
  }).description('Condition schema for V2 forms');
195
195
  export const regexCustomValidator = (value, helpers) => {
196
196
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["JoiDate","JoiBase","v4","uuidV4","rtrimOnly","ComponentType","isConditionalType","ConditionType","OperatorName","isConditionListItemRefValueData","isFormDefinition","SchemaVersion","checkErrors","FormDefinitionError","FormDefinitionErrorType","ControllerType","hasComponents","hasComponentsEvenIfNoNext","Joi","extend","idSchemaOptional","string","uuid","idSchema","default","conditionIdRef","ref","in","adjust","conditions","map","condition","id","componentIdRef","pages","flatMap","page","components","filter","component","listIdRef","lists","list","listItemIdValidator","value","helpers","definition","state","ancestors","find","conditionValue","listId","itemIdExists","items","some","item","error","valids","errorType","Ref","errorCode","RefConditionItemId","incompatibleConditionValidator","componentId","foundComponents","comp","undefined","Boolean","foundComponentHandlesConditions","length","type","incompatibleObject","key","valueKey","Incompatible","IncompatibleConditionComponentType","reason","sectionsSchema","object","description","keys","optional","name","trim","required","title","hideTitle","boolean","conditionFieldSchema","display","conditionValueSchema","conditionListItemRefDataSchemaV2","when","is","exist","then","valid","RefConditionListId","itemId","custom","relativeDateValueDataSchemaV2","period","number","integer","positive","unit","direction","relativeDateValueDataSchema","conditionRefSchema","conditionName","conditionDisplayName","coordinator","conditionRefDataSchemaV2","conditionId","RefConditionConditionId","conditionSchema","field","operator","alternatives","try","MIN_NUMBER_OF_REPEAT_ITEMS","MAX_NUMBER_OF_REPEAT_ITEMS","conditionDataSchemaV2","RefConditionComponentId","Object","values","any","switch","BooleanValue","StringValue","NumberValue","DateValue","date","format","raw","ListItemRef","RelativeDate","messages","conditionGroupSchema","array","link","conditionsModelSchema","conditionWrapperSchema","displayName","conditionWrapperSchemaV2","min","conditional","otherwise","max","regexCustomValidator","_regex","RegExp","IncompatibleQuestionRegex","componentSchema","shortDescription","Details","Html","InsetText","Markdown","pattern","allow","hint","options","rows","empty","maxWords","maxDaysInPast","maxDaysInFuture","customValidationMessage","customValidationMessages","unknown","amount","PaymentField","schema","regex","TextField","MultilineTextField","componentSchemaV2","RefPageComponentList","componentPayloadSchemaV2","fileUploadComponentSchema","FileUploadField","contentComponentSchema","List","nextSchema","path","redirect","repeatOptions","repeatSchema","pageRepeatSchema","eventSchema","method","url","uri","scheme","eventsSchema","onLoad","onSave","pageUploadComponentsSchema","unique","ignoreUndefined","pageSchema","disallow","section","controller","repeat","strip","next","events","view","pageSchemaV2","append","FileUpload","UniquePageComponentId","UniquePageComponentName","RefPageCondition","pagePayloadSchemaV2","baseListItemSchema","text","stringListItemSchema","numberListItemSchema","listSchema","UniqueListItemId","UniqueListItemText","UniqueListItemValue","listSchemaV2","sectionsSchemaV2","feedbackSchema","emailAddress","email","tlds","phaseBannerSchema","phase","optionsSchema","showReferenceNumber","disableUserFeedback","outputSchema","audience","version","formDefinitionSchema","engine","V1","feedback","startPage","sections","UniqueSectionName","UniqueSectionTitle","metadata","a","declaration","skipSummary","phaseBanner","outputEmail","output","outputs","formDefinitionV2Schema","V2","UniquePageId","UniquePagePath","UniqueListId","UniqueListName","UniqueListTitle","UniqueConditionId","UniqueConditionDisplayName","UniqueSectionId","Schema"],"sources":["../../../../src/form/form-definition/index.ts"],"sourcesContent":["import JoiDate from '@joi/date'\nimport JoiBase, { type CustomHelpers, type LanguageMessages } from 'joi'\nimport { v4 as uuidV4 } from 'uuid'\n\nimport { rtrimOnly } from '~/src/common/rtrim-only.js'\nimport { ComponentType } from '~/src/components/enums.js'\nimport { isConditionalType } from '~/src/components/helpers.js'\nimport {\n type ComponentDef,\n type ContentComponentsDef,\n type FileUploadFieldComponent\n} from '~/src/components/types.js'\nimport { ConditionType, OperatorName } from '~/src/conditions/enums.js'\nimport {\n type ConditionData,\n type ConditionDataV2,\n type ConditionFieldData,\n type ConditionGroupData,\n type ConditionGroupDataV2,\n type ConditionListItemRefValueDataV2,\n type ConditionRefData,\n type ConditionRefDataV2,\n type ConditionValueData,\n type ConditionsModelData,\n type RelativeDateValueData,\n type RelativeDateValueDataV2\n} from '~/src/conditions/types.js'\nimport {\n isConditionListItemRefValueData,\n isFormDefinition\n} from '~/src/form/form-definition/helpers.js'\nimport {\n SchemaVersion,\n type ConditionWrapper,\n type ConditionWrapperV2,\n type Event,\n type EventOptions,\n type Events,\n type FormDefinition,\n type Item,\n type Link,\n type List,\n type Page,\n type PhaseBanner,\n type Repeat,\n type RepeatOptions,\n type RepeatSchema,\n type Section\n} from '~/src/form/form-definition/types.js'\nimport { checkErrors } from '~/src/form/form-manager/errors.js'\nimport {\n FormDefinitionError,\n FormDefinitionErrorType\n} from '~/src/form/form-manager/types.js'\nimport { ControllerType } from '~/src/pages/enums.js'\nimport {\n hasComponents,\n hasComponentsEvenIfNoNext\n} from '~/src/pages/helpers.js'\n\nconst Joi = JoiBase.extend(JoiDate) as JoiBase.Root\n\nconst idSchemaOptional = Joi.string().uuid()\n\nconst idSchema = idSchemaOptional.default(() => uuidV4())\n\nconst conditionIdRef = Joi.ref('/conditions', {\n in: true,\n adjust: (conditions: ConditionWrapperV2[]) =>\n conditions.map((condition) => condition.id)\n})\n\nconst componentIdRef = Joi.ref('/pages', {\n in: true,\n adjust: (pages: Page[]) =>\n pages.flatMap((page) =>\n hasComponents(page)\n ? page.components\n .filter((component) => component.id)\n .map((component) => component.id)\n : []\n )\n})\n\nconst listIdRef = Joi.ref('/lists', {\n in: true,\n adjust: (lists: List[]) =>\n lists.filter((list) => list.id).map((list) => list.id)\n})\n\nexport const listItemIdValidator = (\n value: string,\n helpers: CustomHelpers<ConditionListItemRefValueDataV2>\n) => {\n const definition = helpers.state.ancestors.find(isFormDefinition) as\n | FormDefinition\n | undefined\n\n // Validation may not have been fired on the full FormDefinition\n // therefore we are unable to verify the list & item combination\n if (!definition) {\n return value\n }\n\n const conditionValue = helpers.state.ancestors[0]\n\n if (!isConditionListItemRefValueData(conditionValue)) {\n return value\n }\n\n const listId = conditionValue.listId\n const list = definition.lists.find((list) => list.id === listId)\n\n // This check is just for type safety. It'll be impossible for the list to not exist here as it will be\n // handled by the `Joi.valid(listIdRef)` applied to the `ConditionListItemRefValueDataV2.listId` schema\n if (!list) {\n return value\n }\n\n const itemIdExists = list.items.some((item) => item.id === value)\n\n return itemIdExists\n ? value\n : helpers.error('any.only', {\n value,\n valids: list.items.map((item) => item.id),\n errorType: FormDefinitionErrorType.Ref,\n errorCode: FormDefinitionError.RefConditionItemId\n })\n}\n\nconst incompatibleConditionValidator = (\n value: ConditionDataV2,\n helpers: CustomHelpers<ConditionDataV2>\n) => {\n const { componentId } = value\n const definition = helpers.state.ancestors.find(isFormDefinition) as\n | FormDefinition\n | undefined\n\n // Validation may not have been fired on the full FormDefinition\n // therefore we are unable to verify at this point, but the 'save'\n // will eventually validate the full FormDefinition\n if (!definition) {\n return value\n }\n\n const foundComponents = definition.pages\n .map((page) =>\n hasComponentsEvenIfNoNext(page)\n ? page.components.find((comp) => comp.id === componentId)\n : undefined\n )\n .filter(Boolean)\n\n const foundComponentHandlesConditions = foundComponents.length\n ? isConditionalType(foundComponents[0]?.type)\n : false\n\n return foundComponentHandlesConditions\n ? value\n : helpers.error('custom.incompatible', {\n incompatibleObject: {\n key: 'type',\n value: foundComponents[0]\n },\n valueKey: 'componentId',\n value: componentId,\n errorType: FormDefinitionErrorType.Incompatible,\n errorCode: FormDefinitionError.IncompatibleConditionComponentType,\n reason: 'does not support conditions'\n })\n}\n\nconst sectionsSchema = Joi.object<Section>()\n .description('A form section grouping related pages together')\n .keys({\n id: Joi.string()\n .uuid()\n .optional()\n .description('Unique identifier for the section (UUID)'),\n name: Joi.string()\n .trim()\n .required()\n .description(\n 'Unique identifier for the section, used in code and page references'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Human-readable section title displayed to users'),\n hideTitle: Joi.boolean()\n .optional()\n .default(false)\n .description(\n 'When true, the section title will not be displayed in the UI'\n )\n })\n\nconst conditionFieldSchema = Joi.object<ConditionFieldData>()\n .description('Field reference used in a condition')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Component name referenced by this condition'),\n type: Joi.string()\n .trim()\n .required()\n .description('Data type of the field (e.g., string, number, date)'),\n display: Joi.string()\n .trim()\n .required()\n .description('Human-readable name of the field for display purposes')\n })\n\nconst conditionValueSchema = Joi.object<ConditionValueData>()\n .description('Value specification for a condition')\n .keys({\n type: Joi.string()\n .trim()\n .required()\n .description('Data type of the value (e.g., string, number, date)'),\n value: Joi.string()\n .trim()\n .required()\n .description('The actual value to compare against'),\n display: Joi.string()\n .trim()\n .required()\n .description('Human-readable version of the value for display purposes')\n })\n\nconst conditionListItemRefDataSchemaV2 =\n Joi.object<ConditionListItemRefValueDataV2>()\n .description('List item ref specification for a condition')\n .keys({\n listId: Joi.string()\n .trim()\n .required()\n .when('/lists', {\n is: Joi.exist(),\n then: Joi.valid(listIdRef)\n })\n .description('The id of the list')\n .error(checkErrors(FormDefinitionError.RefConditionListId)),\n itemId: Joi.string()\n .trim()\n .required()\n .description('The id of the list item')\n .custom(listItemIdValidator)\n })\n\nconst relativeDateValueDataSchemaV2 = Joi.object<RelativeDateValueDataV2>()\n .description('Relative date specification for date-based conditions')\n .keys({\n period: Joi.number()\n .integer()\n .positive()\n .required()\n .description('Numeric amount of the time period, as a string'),\n unit: Joi.string()\n .trim()\n .required()\n .description('Time unit (e.g. days, weeks, months, years)'),\n direction: Joi.string()\n .trim()\n .required()\n .description('Temporal direction, either \"past\" or \"future\"')\n })\n\nconst relativeDateValueDataSchema = Joi.object<RelativeDateValueData>()\n .description('Relative date specification for date-based conditions')\n .keys({\n type: Joi.string()\n .trim()\n .valid('RelativeDate')\n .required()\n .description('Type of the condition value, should be \"RelativeDate\"'),\n period: Joi.string()\n .trim()\n .required()\n .description('Numeric amount of the time period, as a string'),\n unit: Joi.string()\n .trim()\n .required()\n .description('Time unit (e.g. days, weeks, months, years)'),\n direction: Joi.string()\n .trim()\n .required()\n .description('Temporal direction, either \"past\" or \"future\"')\n })\n\nconst conditionRefSchema = Joi.object<ConditionRefData>()\n .description('Reference to a named condition defined elsewhere')\n .keys({\n conditionName: Joi.string()\n .trim()\n .required()\n .description('Name of the referenced condition'),\n conditionDisplayName: Joi.string()\n .trim()\n .required()\n .description('Human-readable name of the condition for display purposes'),\n coordinator: Joi.string()\n .trim()\n .optional()\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n )\n })\n\nconst conditionRefDataSchemaV2 = Joi.object<ConditionRefDataV2>()\n .description('Reference to a named condition defined elsewhere')\n .keys({\n id: idSchema.description('Unique identifier for the referenced condition'),\n conditionId: Joi.string()\n .trim()\n .required()\n .when('/conditions', {\n is: Joi.exist(),\n then: Joi.valid(conditionIdRef)\n })\n .description('Name of the referenced condition')\n .error(checkErrors(FormDefinitionError.RefConditionConditionId))\n })\n\nconst conditionSchema = Joi.object<ConditionData>()\n .description('Condition definition specifying a logical comparison')\n .keys({\n field: conditionFieldSchema.description(\n 'The form field being evaluated in this condition'\n ),\n operator: Joi.string()\n .trim()\n .required()\n .description('Comparison operator (equals, greaterThan, contains, etc.)'),\n value: Joi.alternatives()\n .try(conditionValueSchema, relativeDateValueDataSchema)\n .description(\n 'Value to compare the field against, either fixed or relative date'\n ),\n coordinator: Joi.string()\n .trim()\n .optional()\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n )\n })\n\nexport const MIN_NUMBER_OF_REPEAT_ITEMS = 1\nexport const MAX_NUMBER_OF_REPEAT_ITEMS = 200\n\nexport const conditionDataSchemaV2 = Joi.object<ConditionDataV2>()\n .description('Condition definition')\n .keys({\n id: idSchema.description(\n 'Unique identifier used to reference this condition'\n ),\n componentId: Joi.string()\n .trim()\n .required()\n .when('/pages', {\n is: Joi.exist(),\n then: Joi.valid(componentIdRef)\n })\n .description(\n 'Reference to the component id being evaluated in this condition'\n )\n .error(checkErrors(FormDefinitionError.RefConditionComponentId)),\n operator: Joi.string()\n .trim()\n .valid(...Object.values(OperatorName))\n .required()\n .description('Comparison operator (equals, greaterThan, contains, etc.)'),\n type: Joi.string()\n .trim()\n .valid(...Object.values(ConditionType))\n .required()\n .description('Type of the condition value'),\n value: Joi.any()\n .required()\n .description('The actual value to compare against')\n .when('type', {\n switch: [\n { is: ConditionType.BooleanValue, then: Joi.boolean() },\n { is: ConditionType.StringValue, then: Joi.string() },\n { is: ConditionType.NumberValue, then: Joi.number() },\n {\n is: ConditionType.DateValue,\n then: Joi.date().format('YYYY-MM-DD').raw()\n },\n {\n is: ConditionType.ListItemRef,\n then: conditionListItemRefDataSchemaV2\n },\n {\n is: ConditionType.RelativeDate,\n then: relativeDateValueDataSchemaV2\n }\n ]\n })\n .description(\n 'Value to compare the field against, either fixed or relative date'\n )\n })\n .custom(incompatibleConditionValidator)\n .messages({\n // Custom error types require a corresponding messages\n 'custom.incompatible': 'Incompatible data value'\n })\n\nconst conditionGroupSchema = Joi.object<ConditionGroupData>()\n .description('Group of conditions combined with logical operators')\n .keys({\n conditions: Joi.array()\n .items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n Joi.link('#conditionGroupSchema')\n )\n )\n .description('Array of conditions or condition references in this group')\n })\n .id('conditionGroupSchema')\n\nconst conditionsModelSchema = Joi.object<ConditionsModelData>()\n .description('Complete condition model with name and condition set')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Unique identifier for the condition set'),\n conditions: Joi.array()\n .items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n conditionGroupSchema\n )\n )\n .description(\n 'Array of conditions, condition references, or condition groups'\n )\n })\n\nconst conditionWrapperSchema = Joi.object<ConditionWrapper>()\n .description('Container for a named condition with its definition')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Unique identifier used to reference this condition'),\n displayName: Joi.string()\n .trim()\n .description('Human-readable name for display in the UI'),\n value: conditionsModelSchema\n .required()\n .description('The complete condition definition')\n })\n\nexport const conditionWrapperSchemaV2 = Joi.object<ConditionWrapperV2>()\n .description('Container for a named condition with its definition')\n .keys({\n id: idSchema.description('Unique identifier for the condition'),\n displayName: Joi.string()\n .trim()\n .description('Human-readable name for display in the UI'),\n coordinator: Joi.string()\n .optional()\n .when('items', { is: Joi.array().min(2), then: Joi.required() })\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n ),\n items: Joi.array<ConditionGroupDataV2>()\n .items(\n Joi.alternatives().conditional('.componentId', {\n is: Joi.exist(),\n then: conditionDataSchemaV2,\n otherwise: conditionRefDataSchemaV2\n })\n )\n .min(1)\n .max(15)\n .description('Array of conditions or condition references')\n })\n .description('Condition schema for V2 forms')\n\nexport const regexCustomValidator = (\n value: string,\n helpers: CustomHelpers<string>\n) => {\n try {\n const _regex = new RegExp(value)\n } catch {\n return helpers.error('custom.incompatible', {\n errorType: FormDefinitionErrorType.Incompatible,\n errorCode: FormDefinitionError.IncompatibleQuestionRegex\n })\n }\n return value\n}\n\nexport const componentSchema = Joi.object<ComponentDef>()\n .description('Form component definition specifying UI element behavior')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the component'),\n type: Joi.string<ComponentType>()\n .trim()\n .required()\n .description('Component type (TextField, RadioButtons, DateField, etc.)'),\n shortDescription: Joi.string()\n .custom(rtrimOnly)\n .optional()\n .description('Brief description of the component purpose'),\n name: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.Details,\n ComponentType.Html,\n ComponentType.InsetText,\n ComponentType.Markdown\n ),\n then: Joi.string()\n .trim()\n .pattern(/^[a-zA-Z]+$/)\n .optional()\n .description('Optional identifier for display-only components'),\n otherwise: Joi.string()\n .trim()\n .pattern(/^[a-zA-Z]+$/)\n .required()\n .description('Unique identifier for the component, used in form data')\n }),\n title: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.Details,\n ComponentType.Html,\n ComponentType.InsetText,\n ComponentType.Markdown\n ),\n then: Joi.string()\n .trim()\n .optional()\n .description('Optional title for display-only components'),\n otherwise: Joi.string()\n .trim()\n .allow('')\n .description('Label displayed above the component')\n }),\n hint: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description(\n 'Additional guidance text displayed below the component title'\n ),\n options: Joi.object({\n rows: Joi.number()\n .empty('')\n .description('Number of rows for textarea components'),\n maxWords: Joi.number()\n .empty('')\n .description('Maximum number of words allowed in text inputs'),\n maxDaysInPast: Joi.number()\n .empty('')\n .description('Maximum days in the past allowed for date inputs'),\n maxDaysInFuture: Joi.number()\n .empty('')\n .description('Maximum days in the future allowed for date inputs'),\n customValidationMessage: Joi.string()\n .trim()\n .allow('')\n .description('Custom error message for validation failures'),\n customValidationMessages: Joi.object<LanguageMessages>()\n .unknown(true)\n .optional()\n .description('Custom error messages keyed by validation rule name'),\n amount: Joi.when('type', {\n is: Joi.string().trim().valid(ComponentType.PaymentField).required(),\n then: Joi.number()\n .min(0.3)\n .max(100000)\n .required()\n .description('Payment amount in GBP (£0.30 - £100,000)')\n }).description('Payment amount - for PaymentField only'),\n description: Joi.when('type', {\n is: Joi.string().trim().valid(ComponentType.PaymentField).required(),\n then: Joi.string()\n .max(230)\n .required()\n .description('Payment description (max 230 chars)')\n }).description('Payment description - for PaymentField only')\n })\n .default({})\n .unknown(true)\n .description('Component-specific configuration options'),\n schema: Joi.object({\n min: Joi.number()\n .empty('')\n .description('Minimum value or length for validation'),\n max: Joi.number()\n .empty('')\n .description('Maximum value or length for validation'),\n length: Joi.number()\n .empty('')\n .description('Exact length required for validation'),\n regex: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField\n ),\n then: Joi.string() // NOSONAR\n .trim()\n .optional()\n .description('Regex expression for validation of user field content')\n .custom(regexCustomValidator),\n otherwise: Joi.string().allow('')\n }).messages({ 'custom.incompatible': 'The regex expression is invalid' })\n })\n .unknown(true)\n .default({})\n .description('Validation rules for the component'),\n list: Joi.string()\n .trim()\n .optional()\n .description(\n 'Reference to a predefined list of options for select components'\n )\n })\n .unknown(true)\n\nexport const componentSchemaV2 = componentSchema\n .keys({\n id: idSchema.description('Unique identifier for the component'),\n list: Joi.string()\n .when('/lists', {\n is: Joi.exist(),\n then: Joi.valid(listIdRef)\n })\n .optional()\n .description(\n 'List id reference to a predefined list of options for select components'\n )\n .error(checkErrors(FormDefinitionError.RefPageComponentList))\n })\n .description('Component schema for V2 forms')\n\nexport const componentPayloadSchemaV2 = componentSchema\n .keys({\n id: idSchema.description('Unique identifier for the component'),\n list: Joi.string()\n .optional()\n .description(\n 'List id reference to a predefined list of options for select components'\n )\n })\n .description('Payload schema for component for V2 forms')\n\nexport const fileUploadComponentSchema = componentSchemaV2.keys({\n type: Joi.string<ComponentType.FileUploadField>()\n .trim()\n .valid(ComponentType.FileUploadField)\n .required()\n .description('Component that can only be a FileUploadField')\n})\n\nexport const contentComponentSchema = componentSchemaV2.keys({\n type: Joi.string<ComponentType>()\n .trim()\n .valid(ComponentType.Details)\n .valid(ComponentType.Html)\n .valid(ComponentType.Markdown)\n .valid(ComponentType.InsetText)\n .valid(ComponentType.List)\n .required()\n .description('Content only component type (Details, Html, Markdown, etc.)')\n})\n\nconst nextSchema = Joi.object<Link>()\n .description('Navigation link defining where to go after completing a page')\n .keys({\n path: Joi.string()\n .trim()\n .required()\n .description('The target page path to navigate to'),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description(\n 'Optional condition that determines if this path should be taken'\n ),\n redirect: Joi.string()\n .trim()\n .optional()\n .description(\n 'Optional external URL to redirect to instead of an internal page'\n )\n })\n\nconst repeatOptions = Joi.object<RepeatOptions>()\n .description('Configuration options for a repeatable page section')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description(\n 'Identifier for the repeatable section, used in data structure'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Title displayed for each repeatable item')\n })\n\nconst repeatSchema = Joi.object<RepeatSchema>()\n .description('Validation rules for a repeatable section')\n .keys({\n min: Joi.number()\n .empty('')\n .min(MIN_NUMBER_OF_REPEAT_ITEMS)\n .required()\n .description('Minimum number of repetitions required'),\n max: Joi.number()\n .empty('')\n .min(Joi.ref('min'))\n .max(MAX_NUMBER_OF_REPEAT_ITEMS)\n .required()\n .description('Maximum number of repetitions allowed')\n })\n\nexport const pageRepeatSchema = Joi.object<Repeat>()\n .description('Complete configuration for a repeatable page')\n .keys({\n options: repeatOptions\n .required()\n .description('Display and identification options for the repetition'),\n schema: repeatSchema\n .required()\n .description('Validation constraints for the number of repetitions')\n })\n\nconst eventSchema = Joi.object<Event>()\n .description('Event handler configuration for page lifecycle events')\n .keys({\n type: Joi.string()\n .trim()\n .allow('http')\n .required()\n .description(\n 'Type of the event handler (currently only \"http\" supported)'\n ),\n options: Joi.object<EventOptions>()\n .description('Options specific to the event handler type')\n .keys({\n method: Joi.string()\n .trim()\n .allow('POST')\n .required()\n .description('HTTP method to use for the request'),\n url: Joi.string()\n .trim()\n .uri({ scheme: ['http', 'https'] })\n .required()\n .description('URL endpoint to call when the event fires')\n })\n })\n\nconst eventsSchema = Joi.object<Events>()\n .description(\n 'Collection of event handlers for different page lifecycle events'\n )\n .keys({\n onLoad: eventSchema\n .optional()\n .description('Event handler triggered when the page is loaded'),\n onSave: eventSchema\n .optional()\n .description('Event handler triggered when the page data is saved')\n })\n\nexport const pageUploadComponentsSchema = Joi.array<\n FileUploadFieldComponent | ContentComponentsDef\n>()\n .items(\n fileUploadComponentSchema.required(),\n contentComponentSchema.optional()\n )\n .unique('id')\n .unique('name', { ignoreUndefined: true })\n .min(1)\n .max(2)\n .description('Components allowed on Page Upload schema')\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nexport const pageSchema = Joi.object<Page>()\n .description('Form page definition specifying content and behavior')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the page'),\n path: Joi.string()\n .trim()\n .required()\n .disallow('/status')\n .description(\n 'URL path for this page, must not be the reserved \"/status\" path'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Page title displayed at the top of the page'),\n section: Joi.string().trim().description('Section this page belongs to'),\n controller: Joi.string()\n .trim()\n .optional()\n .description('Custom controller class name for special page behavior'),\n components: Joi.array<ComponentDef>()\n .items(componentSchema)\n .unique('name')\n .description('UI components displayed on this page'),\n repeat: Joi.when('controller', {\n is: Joi.string().trim().valid('RepeatPageController').required(),\n then: pageRepeatSchema\n .required()\n .description(\n 'Configuration for repeatable pages, required when using RepeatPageController'\n ),\n otherwise: Joi.any().strip()\n }),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Optional condition that determines if this page is shown'),\n next: Joi.array<Link>()\n .items(nextSchema)\n .default([])\n .description('Possible navigation paths after this page'),\n events: eventsSchema\n .optional()\n .description('Event handlers for page lifecycle events'),\n view: Joi.string()\n .trim()\n .optional()\n .description(\n 'Optional custom view template to use for rendering this page'\n )\n })\n\n/**\n * V2 engine schema - used with new editor\n */\nexport const pageSchemaV2 = pageSchema\n .append({\n id: idSchema.description('Unique identifier for the page'),\n title: Joi.string()\n .trim()\n .allow('')\n .required()\n .description(\n 'Page title displayed at the top of the page (with support for empty titles in V2)'\n ),\n components: Joi.when('controller', {\n switch: [\n {\n is: Joi.string().trim().valid(ControllerType.FileUpload).required(),\n then: pageUploadComponentsSchema\n }\n ],\n otherwise: Joi.array<ComponentDef>()\n .items(componentSchemaV2)\n .unique('id')\n .unique('name', { ignoreUndefined: true })\n .description('Components schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniquePageComponentId,\n FormDefinitionError.UniquePageComponentName\n ])\n )\n }),\n condition: Joi.string()\n .trim()\n .when('/conditions', {\n is: Joi.exist(),\n then: Joi.valid(conditionIdRef)\n })\n .optional()\n .description('Optional condition that determines if this page is shown')\n .error(checkErrors(FormDefinitionError.RefPageCondition))\n })\n .description('Page schema for V2 forms')\n\nexport const pagePayloadSchemaV2 = pageSchemaV2\n .append({\n components: Joi.when('controller', {\n switch: [\n {\n is: Joi.string().trim().valid(ControllerType.FileUpload).required(),\n then: pageUploadComponentsSchema\n }\n ],\n otherwise: Joi.array<ComponentDef>()\n .items(componentPayloadSchemaV2)\n .unique('id')\n .unique('name')\n .description('Components schema for V2 forms')\n })\n })\n .description('Payload Page schema for V2 forms')\n\nconst baseListItemSchema = Joi.object<Item>()\n .description('Base schema for list items with common properties')\n .keys({\n id: idSchema.description('Unique identifier for the list item'),\n text: Joi.string()\n .trim()\n .allow('')\n .description('Display text shown to the user'),\n description: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Optional additional descriptive text for the item'),\n conditional: Joi.object<Item['conditional']>()\n .description('Optional components to show when this item is selected')\n .keys({\n components: Joi.array<ComponentDef>()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n .description('Components to display conditionally')\n })\n .optional(),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Condition that determines if this item is shown'),\n hint: Joi.object<Item['hint']>()\n .optional()\n .keys({\n id: idSchema,\n text: Joi.string().trim()\n })\n .description('Optional hint text to be shown on list item')\n })\n\nconst stringListItemSchema = baseListItemSchema\n .append({\n value: Joi.string()\n .trim()\n .required()\n .description('String value stored when this item is selected')\n })\n .description('List item with string value')\n\nconst numberListItemSchema = baseListItemSchema\n .append({\n value: Joi.number()\n .required()\n .description('Numeric value stored when this item is selected')\n })\n .description('List item with numeric value')\n\nexport const listSchema = Joi.object<List>()\n .description('Reusable list of options for select components')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the list'),\n name: Joi.string()\n .trim()\n .required()\n .description('Name used to reference this list from components'),\n title: Joi.string()\n .trim()\n .required()\n .description('Human-readable title for the list'),\n type: Joi.string()\n .trim()\n .required()\n .valid('string', 'number')\n .description('Data type for list values (string or number)'),\n items: Joi.when('type', {\n is: 'string',\n then: Joi.array()\n .items(stringListItemSchema)\n .unique('id')\n .unique('text')\n .unique('value')\n .description('Array of items with string values')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListItemId,\n FormDefinitionError.UniqueListItemText,\n FormDefinitionError.UniqueListItemValue\n ])\n ),\n otherwise: Joi.array()\n .items(numberListItemSchema)\n .unique('id')\n .unique('text')\n .unique('value')\n .description('Array of items with numeric values')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListItemId,\n FormDefinitionError.UniqueListItemText,\n FormDefinitionError.UniqueListItemValue\n ])\n )\n })\n })\n\n/**\n * V2 Joi schema for Lists\n */\nexport const listSchemaV2 = listSchema\n .keys({\n id: idSchema.description('Unique identifier for the list')\n })\n .description('List schema for V2 forms')\n\n/**\n * V2 Joi schema for Sections\n */\nexport const sectionsSchemaV2 = sectionsSchema\n .keys({\n id: idSchema.description('Unique identifier for the section')\n })\n .description('Section schema for V2 forms')\n\nconst feedbackSchema = Joi.object<FormDefinition['feedback']>()\n .description('Feedback configuration for the form')\n .keys({\n url: Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'URL to an external feedback form when not using built-in feedback'\n ),\n emailAddress: Joi.string()\n .trim()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n .description('Email address where feedback is sent')\n })\n\nconst phaseBannerSchema = Joi.object<PhaseBanner>()\n .description('Phase banner configuration showing development status')\n .keys({\n phase: Joi.string()\n .trim()\n .valid('alpha', 'beta')\n .description('Development phase of the service (alpha or beta)')\n })\n\nconst optionsSchema = Joi.object({\n showReferenceNumber: Joi.boolean().default(false),\n disableUserFeedback: Joi.boolean().default(false)\n}).description('Options for the form')\n\nconst outputSchema = Joi.object<FormDefinition['output']>()\n .description('Configuration for form submission output')\n .keys({\n audience: Joi.string()\n .trim()\n .valid('human', 'machine')\n .required()\n .description(\n 'Target audience for the output (human readable or machine processable)'\n ),\n version: Joi.string()\n .trim()\n .required()\n .description('Version identifier for the output format')\n })\n\n/**\n * Joi schema for `FormDefinition` interface\n * @see {@link FormDefinition}\n */\nexport const formDefinitionSchema = Joi.object<FormDefinition>()\n .description('Complete form definition describing all aspects of a form')\n .required()\n .keys({\n engine: Joi.string()\n .trim()\n .allow('V1', 'V2')\n .default('V1')\n .description('Form engine version to use (V1 or V2)'),\n schema: Joi.number()\n .integer()\n .valid(SchemaVersion.V1)\n .default(SchemaVersion.V1)\n .description('Form schema version to use (1 or 2)'),\n name: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Unique name identifying the form'),\n feedback: feedbackSchema\n .optional()\n .description('Feedback mechanism configuration'),\n startPage: Joi.string()\n .trim()\n .optional()\n .description('Path of the first page to show when starting the form'),\n pages: Joi.array<Page>()\n .required()\n .items(pageSchema)\n .description('Pages schema for V1 forms')\n .unique('path'),\n sections: Joi.array<Section>()\n .items(sectionsSchema)\n .unique('name')\n .unique('title')\n .required()\n .description('Sections grouping related pages together')\n .error(\n checkErrors([\n FormDefinitionError.UniqueSectionName,\n FormDefinitionError.UniqueSectionTitle\n ])\n ),\n conditions: Joi.array<ConditionWrapper>()\n .items(conditionWrapperSchema)\n .unique('name')\n .unique('displayName')\n .description('Named conditions used for form logic'),\n lists: Joi.array<List>()\n .items(listSchema)\n .unique('name')\n .unique('title')\n .description('Reusable lists of options for select components'),\n metadata: Joi.object({ a: Joi.any() })\n .unknown()\n .optional()\n .description('Custom metadata for the form'),\n declaration: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Declaration text shown on the summary page'),\n skipSummary: Joi.any()\n .strip()\n .description('option to skip the summary page'),\n phaseBanner: phaseBannerSchema\n .optional()\n .description('Phase banner configuration'),\n options: optionsSchema.optional().description('Options for the form'),\n outputEmail: Joi.string()\n .trim()\n .email({ tlds: { allow: ['uk'] } })\n .optional()\n .description('Email address where form submissions are sent'),\n output: outputSchema\n .optional()\n .description('Configuration for submission output format'),\n outputs: Joi.array()\n .items({\n emailAddress: Joi.string()\n .trim()\n .email({ tlds: { allow: ['uk'] } })\n .description('Email address where form submissions are sent'),\n audience: Joi.string()\n .trim()\n .valid('human', 'machine')\n .required()\n .description(\n 'Target audience for the output (human readable or machine processable)'\n ),\n version: Joi.string()\n .trim()\n .required()\n .description('Version identifier for the output format')\n })\n .optional()\n .description('One or more email targets/types for submission emails')\n })\n\nexport const formDefinitionV2Schema = formDefinitionSchema\n .keys({\n schema: Joi.number()\n .integer()\n .valid(SchemaVersion.V2)\n .description('Form schema version to use (2)'),\n pages: Joi.array<Page>()\n .items(pageSchemaV2)\n .required()\n .unique('id')\n .unique('path')\n .description('Pages schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniquePageId,\n FormDefinitionError.UniquePagePath\n ])\n ),\n lists: Joi.array<List>()\n .items(listSchemaV2)\n .unique('id')\n .unique('name')\n .unique('title')\n .description('Lists schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListId,\n FormDefinitionError.UniqueListName,\n FormDefinitionError.UniqueListTitle\n ])\n ),\n conditions: Joi.array<ConditionWrapperV2>()\n .items(conditionWrapperSchemaV2)\n .unique('id')\n .unique('displayName')\n .description('Named conditions used for form logic')\n .error(\n checkErrors([\n FormDefinitionError.UniqueConditionId,\n FormDefinitionError.UniqueConditionDisplayName\n ])\n ),\n sections: Joi.array<Section>()\n .items(sectionsSchemaV2)\n .unique('id')\n .unique('name')\n .unique('title')\n .required()\n .description('Sections schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniqueSectionId,\n FormDefinitionError.UniqueSectionName,\n FormDefinitionError.UniqueSectionTitle\n ])\n )\n })\n .description('Form definition schema for V2')\n\n// Maintain compatibility with legacy named export\n// E.g. `import { Schema } from '@defra/forms-model'`\nexport const Schema = formDefinitionSchema\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["JoiDate","JoiBase","v4","uuidV4","rtrimOnly","ComponentType","isConditionalType","ConditionType","OperatorName","isConditionListItemRefValueData","isFormDefinition","SchemaVersion","checkErrors","FormDefinitionError","FormDefinitionErrorType","ControllerType","hasComponents","hasComponentsEvenIfNoNext","Joi","extend","idSchemaOptional","string","uuid","idSchema","default","conditionIdRef","ref","in","adjust","conditions","map","condition","id","componentIdRef","pages","flatMap","page","components","filter","component","listIdRef","lists","list","listItemIdValidator","value","helpers","definition","state","ancestors","find","conditionValue","listId","itemIdExists","items","some","item","error","valids","errorType","Ref","errorCode","RefConditionItemId","incompatibleConditionValidator","componentId","foundComponents","comp","undefined","Boolean","foundComponentHandlesConditions","length","type","incompatibleObject","key","valueKey","Incompatible","IncompatibleConditionComponentType","reason","sectionsSchema","object","description","keys","optional","name","trim","required","title","hideTitle","boolean","conditionFieldSchema","display","conditionValueSchema","conditionListItemRefDataSchemaV2","when","is","exist","then","valid","RefConditionListId","itemId","custom","relativeDateValueDataSchemaV2","period","number","integer","positive","unit","direction","relativeDateValueDataSchema","conditionRefSchema","conditionName","conditionDisplayName","coordinator","conditionRefDataSchemaV2","conditionId","RefConditionConditionId","conditionSchema","field","operator","alternatives","try","MIN_NUMBER_OF_REPEAT_ITEMS","MAX_NUMBER_OF_REPEAT_ITEMS","conditionDataSchemaV2","RefConditionComponentId","Object","values","any","switch","BooleanValue","StringValue","NumberValue","DateValue","date","format","raw","ListItemRef","RelativeDate","messages","conditionGroupSchema","array","link","conditionsModelSchema","conditionWrapperSchema","displayName","conditionWrapperSchemaV2","min","conditional","otherwise","regexCustomValidator","_regex","RegExp","IncompatibleQuestionRegex","componentSchema","shortDescription","Details","Html","InsetText","Markdown","pattern","allow","hint","options","rows","empty","maxWords","maxDaysInPast","maxDaysInFuture","customValidationMessage","customValidationMessages","unknown","amount","PaymentField","max","schema","regex","TextField","MultilineTextField","componentSchemaV2","RefPageComponentList","componentPayloadSchemaV2","fileUploadComponentSchema","FileUploadField","contentComponentSchema","List","nextSchema","path","redirect","repeatOptions","repeatSchema","pageRepeatSchema","eventSchema","method","url","uri","scheme","eventsSchema","onLoad","onSave","pageUploadComponentsSchema","unique","ignoreUndefined","pageSchema","disallow","section","controller","repeat","strip","next","events","view","pageSchemaV2","append","FileUpload","UniquePageComponentId","UniquePageComponentName","RefPageCondition","pagePayloadSchemaV2","baseListItemSchema","text","stringListItemSchema","numberListItemSchema","listSchema","UniqueListItemId","UniqueListItemText","UniqueListItemValue","listSchemaV2","sectionsSchemaV2","feedbackSchema","emailAddress","email","tlds","phaseBannerSchema","phase","optionsSchema","showReferenceNumber","disableUserFeedback","outputSchema","audience","version","formDefinitionSchema","engine","V1","feedback","startPage","sections","UniqueSectionName","UniqueSectionTitle","metadata","a","declaration","skipSummary","phaseBanner","outputEmail","output","outputs","formDefinitionV2Schema","V2","UniquePageId","UniquePagePath","UniqueListId","UniqueListName","UniqueListTitle","UniqueConditionId","UniqueConditionDisplayName","UniqueSectionId","Schema"],"sources":["../../../../src/form/form-definition/index.ts"],"sourcesContent":["import JoiDate from '@joi/date'\nimport JoiBase, { type CustomHelpers, type LanguageMessages } from 'joi'\nimport { v4 as uuidV4 } from 'uuid'\n\nimport { rtrimOnly } from '~/src/common/rtrim-only.js'\nimport { ComponentType } from '~/src/components/enums.js'\nimport { isConditionalType } from '~/src/components/helpers.js'\nimport {\n type ComponentDef,\n type ContentComponentsDef,\n type FileUploadFieldComponent\n} from '~/src/components/types.js'\nimport { ConditionType, OperatorName } from '~/src/conditions/enums.js'\nimport {\n type ConditionData,\n type ConditionDataV2,\n type ConditionFieldData,\n type ConditionGroupData,\n type ConditionGroupDataV2,\n type ConditionListItemRefValueDataV2,\n type ConditionRefData,\n type ConditionRefDataV2,\n type ConditionValueData,\n type ConditionsModelData,\n type RelativeDateValueData,\n type RelativeDateValueDataV2\n} from '~/src/conditions/types.js'\nimport {\n isConditionListItemRefValueData,\n isFormDefinition\n} from '~/src/form/form-definition/helpers.js'\nimport {\n SchemaVersion,\n type ConditionWrapper,\n type ConditionWrapperV2,\n type Event,\n type EventOptions,\n type Events,\n type FormDefinition,\n type Item,\n type Link,\n type List,\n type Page,\n type PhaseBanner,\n type Repeat,\n type RepeatOptions,\n type RepeatSchema,\n type Section\n} from '~/src/form/form-definition/types.js'\nimport { checkErrors } from '~/src/form/form-manager/errors.js'\nimport {\n FormDefinitionError,\n FormDefinitionErrorType\n} from '~/src/form/form-manager/types.js'\nimport { ControllerType } from '~/src/pages/enums.js'\nimport {\n hasComponents,\n hasComponentsEvenIfNoNext\n} from '~/src/pages/helpers.js'\n\nconst Joi = JoiBase.extend(JoiDate) as JoiBase.Root\n\nconst idSchemaOptional = Joi.string().uuid()\n\nconst idSchema = idSchemaOptional.default(() => uuidV4())\n\nconst conditionIdRef = Joi.ref('/conditions', {\n in: true,\n adjust: (conditions: ConditionWrapperV2[]) =>\n conditions.map((condition) => condition.id)\n})\n\nconst componentIdRef = Joi.ref('/pages', {\n in: true,\n adjust: (pages: Page[]) =>\n pages.flatMap((page) =>\n hasComponents(page)\n ? page.components\n .filter((component) => component.id)\n .map((component) => component.id)\n : []\n )\n})\n\nconst listIdRef = Joi.ref('/lists', {\n in: true,\n adjust: (lists: List[]) =>\n lists.filter((list) => list.id).map((list) => list.id)\n})\n\nexport const listItemIdValidator = (\n value: string,\n helpers: CustomHelpers<ConditionListItemRefValueDataV2>\n) => {\n const definition = helpers.state.ancestors.find(isFormDefinition) as\n | FormDefinition\n | undefined\n\n // Validation may not have been fired on the full FormDefinition\n // therefore we are unable to verify the list & item combination\n if (!definition) {\n return value\n }\n\n const conditionValue = helpers.state.ancestors[0]\n\n if (!isConditionListItemRefValueData(conditionValue)) {\n return value\n }\n\n const listId = conditionValue.listId\n const list = definition.lists.find((list) => list.id === listId)\n\n // This check is just for type safety. It'll be impossible for the list to not exist here as it will be\n // handled by the `Joi.valid(listIdRef)` applied to the `ConditionListItemRefValueDataV2.listId` schema\n if (!list) {\n return value\n }\n\n const itemIdExists = list.items.some((item) => item.id === value)\n\n return itemIdExists\n ? value\n : helpers.error('any.only', {\n value,\n valids: list.items.map((item) => item.id),\n errorType: FormDefinitionErrorType.Ref,\n errorCode: FormDefinitionError.RefConditionItemId\n })\n}\n\nconst incompatibleConditionValidator = (\n value: ConditionDataV2,\n helpers: CustomHelpers<ConditionDataV2>\n) => {\n const { componentId } = value\n const definition = helpers.state.ancestors.find(isFormDefinition) as\n | FormDefinition\n | undefined\n\n // Validation may not have been fired on the full FormDefinition\n // therefore we are unable to verify at this point, but the 'save'\n // will eventually validate the full FormDefinition\n if (!definition) {\n return value\n }\n\n const foundComponents = definition.pages\n .map((page) =>\n hasComponentsEvenIfNoNext(page)\n ? page.components.find((comp) => comp.id === componentId)\n : undefined\n )\n .filter(Boolean)\n\n const foundComponentHandlesConditions = foundComponents.length\n ? isConditionalType(foundComponents[0]?.type)\n : false\n\n return foundComponentHandlesConditions\n ? value\n : helpers.error('custom.incompatible', {\n incompatibleObject: {\n key: 'type',\n value: foundComponents[0]\n },\n valueKey: 'componentId',\n value: componentId,\n errorType: FormDefinitionErrorType.Incompatible,\n errorCode: FormDefinitionError.IncompatibleConditionComponentType,\n reason: 'does not support conditions'\n })\n}\n\nconst sectionsSchema = Joi.object<Section>()\n .description('A form section grouping related pages together')\n .keys({\n id: Joi.string()\n .uuid()\n .optional()\n .description('Unique identifier for the section (UUID)'),\n name: Joi.string()\n .trim()\n .required()\n .description(\n 'Unique identifier for the section, used in code and page references'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Human-readable section title displayed to users'),\n hideTitle: Joi.boolean()\n .optional()\n .default(false)\n .description(\n 'When true, the section title will not be displayed in the UI'\n )\n })\n\nconst conditionFieldSchema = Joi.object<ConditionFieldData>()\n .description('Field reference used in a condition')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Component name referenced by this condition'),\n type: Joi.string()\n .trim()\n .required()\n .description('Data type of the field (e.g., string, number, date)'),\n display: Joi.string()\n .trim()\n .required()\n .description('Human-readable name of the field for display purposes')\n })\n\nconst conditionValueSchema = Joi.object<ConditionValueData>()\n .description('Value specification for a condition')\n .keys({\n type: Joi.string()\n .trim()\n .required()\n .description('Data type of the value (e.g., string, number, date)'),\n value: Joi.string()\n .trim()\n .required()\n .description('The actual value to compare against'),\n display: Joi.string()\n .trim()\n .required()\n .description('Human-readable version of the value for display purposes')\n })\n\nconst conditionListItemRefDataSchemaV2 =\n Joi.object<ConditionListItemRefValueDataV2>()\n .description('List item ref specification for a condition')\n .keys({\n listId: Joi.string()\n .trim()\n .required()\n .when('/lists', {\n is: Joi.exist(),\n then: Joi.valid(listIdRef)\n })\n .description('The id of the list')\n .error(checkErrors(FormDefinitionError.RefConditionListId)),\n itemId: Joi.string()\n .trim()\n .required()\n .description('The id of the list item')\n .custom(listItemIdValidator)\n })\n\nconst relativeDateValueDataSchemaV2 = Joi.object<RelativeDateValueDataV2>()\n .description('Relative date specification for date-based conditions')\n .keys({\n period: Joi.number()\n .integer()\n .positive()\n .required()\n .description('Numeric amount of the time period, as a string'),\n unit: Joi.string()\n .trim()\n .required()\n .description('Time unit (e.g. days, weeks, months, years)'),\n direction: Joi.string()\n .trim()\n .required()\n .description('Temporal direction, either \"past\" or \"future\"')\n })\n\nconst relativeDateValueDataSchema = Joi.object<RelativeDateValueData>()\n .description('Relative date specification for date-based conditions')\n .keys({\n type: Joi.string()\n .trim()\n .valid('RelativeDate')\n .required()\n .description('Type of the condition value, should be \"RelativeDate\"'),\n period: Joi.string()\n .trim()\n .required()\n .description('Numeric amount of the time period, as a string'),\n unit: Joi.string()\n .trim()\n .required()\n .description('Time unit (e.g. days, weeks, months, years)'),\n direction: Joi.string()\n .trim()\n .required()\n .description('Temporal direction, either \"past\" or \"future\"')\n })\n\nconst conditionRefSchema = Joi.object<ConditionRefData>()\n .description('Reference to a named condition defined elsewhere')\n .keys({\n conditionName: Joi.string()\n .trim()\n .required()\n .description('Name of the referenced condition'),\n conditionDisplayName: Joi.string()\n .trim()\n .required()\n .description('Human-readable name of the condition for display purposes'),\n coordinator: Joi.string()\n .trim()\n .optional()\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n )\n })\n\nconst conditionRefDataSchemaV2 = Joi.object<ConditionRefDataV2>()\n .description('Reference to a named condition defined elsewhere')\n .keys({\n id: idSchema.description('Unique identifier for the referenced condition'),\n conditionId: Joi.string()\n .trim()\n .required()\n .when('/conditions', {\n is: Joi.exist(),\n then: Joi.valid(conditionIdRef)\n })\n .description('Name of the referenced condition')\n .error(checkErrors(FormDefinitionError.RefConditionConditionId))\n })\n\nconst conditionSchema = Joi.object<ConditionData>()\n .description('Condition definition specifying a logical comparison')\n .keys({\n field: conditionFieldSchema.description(\n 'The form field being evaluated in this condition'\n ),\n operator: Joi.string()\n .trim()\n .required()\n .description('Comparison operator (equals, greaterThan, contains, etc.)'),\n value: Joi.alternatives()\n .try(conditionValueSchema, relativeDateValueDataSchema)\n .description(\n 'Value to compare the field against, either fixed or relative date'\n ),\n coordinator: Joi.string()\n .trim()\n .optional()\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n )\n })\n\nexport const MIN_NUMBER_OF_REPEAT_ITEMS = 1\nexport const MAX_NUMBER_OF_REPEAT_ITEMS = 200\n\nexport const conditionDataSchemaV2 = Joi.object<ConditionDataV2>()\n .description('Condition definition')\n .keys({\n id: idSchema.description(\n 'Unique identifier used to reference this condition'\n ),\n componentId: Joi.string()\n .trim()\n .required()\n .when('/pages', {\n is: Joi.exist(),\n then: Joi.valid(componentIdRef)\n })\n .description(\n 'Reference to the component id being evaluated in this condition'\n )\n .error(checkErrors(FormDefinitionError.RefConditionComponentId)),\n operator: Joi.string()\n .trim()\n .valid(...Object.values(OperatorName))\n .required()\n .description('Comparison operator (equals, greaterThan, contains, etc.)'),\n type: Joi.string()\n .trim()\n .valid(...Object.values(ConditionType))\n .required()\n .description('Type of the condition value'),\n value: Joi.any()\n .required()\n .description('The actual value to compare against')\n .when('type', {\n switch: [\n { is: ConditionType.BooleanValue, then: Joi.boolean() },\n { is: ConditionType.StringValue, then: Joi.string() },\n { is: ConditionType.NumberValue, then: Joi.number() },\n {\n is: ConditionType.DateValue,\n then: Joi.date().format('YYYY-MM-DD').raw()\n },\n {\n is: ConditionType.ListItemRef,\n then: conditionListItemRefDataSchemaV2\n },\n {\n is: ConditionType.RelativeDate,\n then: relativeDateValueDataSchemaV2\n }\n ]\n })\n .description(\n 'Value to compare the field against, either fixed or relative date'\n )\n })\n .custom(incompatibleConditionValidator)\n .messages({\n // Custom error types require a corresponding messages\n 'custom.incompatible': 'Incompatible data value'\n })\n\nconst conditionGroupSchema = Joi.object<ConditionGroupData>()\n .description('Group of conditions combined with logical operators')\n .keys({\n conditions: Joi.array()\n .items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n Joi.link('#conditionGroupSchema')\n )\n )\n .description('Array of conditions or condition references in this group')\n })\n .id('conditionGroupSchema')\n\nconst conditionsModelSchema = Joi.object<ConditionsModelData>()\n .description('Complete condition model with name and condition set')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Unique identifier for the condition set'),\n conditions: Joi.array()\n .items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n conditionGroupSchema\n )\n )\n .description(\n 'Array of conditions, condition references, or condition groups'\n )\n })\n\nconst conditionWrapperSchema = Joi.object<ConditionWrapper>()\n .description('Container for a named condition with its definition')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description('Unique identifier used to reference this condition'),\n displayName: Joi.string()\n .trim()\n .description('Human-readable name for display in the UI'),\n value: conditionsModelSchema\n .required()\n .description('The complete condition definition')\n })\n\nexport const conditionWrapperSchemaV2 = Joi.object<ConditionWrapperV2>()\n .description('Container for a named condition with its definition')\n .keys({\n id: idSchema.description('Unique identifier for the condition'),\n displayName: Joi.string()\n .trim()\n .description('Human-readable name for display in the UI'),\n coordinator: Joi.string()\n .optional()\n .when('items', { is: Joi.array().min(2), then: Joi.required() })\n .description(\n 'Logical operator connecting this condition with others (AND, OR)'\n ),\n items: Joi.array<ConditionGroupDataV2>()\n .items(\n Joi.alternatives().conditional('.componentId', {\n is: Joi.exist(),\n then: conditionDataSchemaV2,\n otherwise: conditionRefDataSchemaV2\n })\n )\n .min(1)\n .description('Array of conditions or condition references')\n })\n .description('Condition schema for V2 forms')\n\nexport const regexCustomValidator = (\n value: string,\n helpers: CustomHelpers<string>\n) => {\n try {\n const _regex = new RegExp(value)\n } catch {\n return helpers.error('custom.incompatible', {\n errorType: FormDefinitionErrorType.Incompatible,\n errorCode: FormDefinitionError.IncompatibleQuestionRegex\n })\n }\n return value\n}\n\nexport const componentSchema = Joi.object<ComponentDef>()\n .description('Form component definition specifying UI element behavior')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the component'),\n type: Joi.string<ComponentType>()\n .trim()\n .required()\n .description('Component type (TextField, RadioButtons, DateField, etc.)'),\n shortDescription: Joi.string()\n .custom(rtrimOnly)\n .optional()\n .description('Brief description of the component purpose'),\n name: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.Details,\n ComponentType.Html,\n ComponentType.InsetText,\n ComponentType.Markdown\n ),\n then: Joi.string()\n .trim()\n .pattern(/^[a-zA-Z]+$/)\n .optional()\n .description('Optional identifier for display-only components'),\n otherwise: Joi.string()\n .trim()\n .pattern(/^[a-zA-Z]+$/)\n .required()\n .description('Unique identifier for the component, used in form data')\n }),\n title: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.Details,\n ComponentType.Html,\n ComponentType.InsetText,\n ComponentType.Markdown\n ),\n then: Joi.string()\n .trim()\n .optional()\n .description('Optional title for display-only components'),\n otherwise: Joi.string()\n .trim()\n .allow('')\n .description('Label displayed above the component')\n }),\n hint: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description(\n 'Additional guidance text displayed below the component title'\n ),\n options: Joi.object({\n rows: Joi.number()\n .empty('')\n .description('Number of rows for textarea components'),\n maxWords: Joi.number()\n .empty('')\n .description('Maximum number of words allowed in text inputs'),\n maxDaysInPast: Joi.number()\n .empty('')\n .description('Maximum days in the past allowed for date inputs'),\n maxDaysInFuture: Joi.number()\n .empty('')\n .description('Maximum days in the future allowed for date inputs'),\n customValidationMessage: Joi.string()\n .trim()\n .allow('')\n .description('Custom error message for validation failures'),\n customValidationMessages: Joi.object<LanguageMessages>()\n .unknown(true)\n .optional()\n .description('Custom error messages keyed by validation rule name'),\n amount: Joi.when('type', {\n is: Joi.string().trim().valid(ComponentType.PaymentField).required(),\n then: Joi.number()\n .min(0.3)\n .max(100000)\n .required()\n .description('Payment amount in GBP (£0.30 - £100,000)')\n }).description('Payment amount - for PaymentField only'),\n description: Joi.when('type', {\n is: Joi.string().trim().valid(ComponentType.PaymentField).required(),\n then: Joi.string()\n .max(230)\n .required()\n .description('Payment description (max 230 chars)')\n }).description('Payment description - for PaymentField only')\n })\n .default({})\n .unknown(true)\n .description('Component-specific configuration options'),\n schema: Joi.object({\n min: Joi.number()\n .empty('')\n .description('Minimum value or length for validation'),\n max: Joi.number()\n .empty('')\n .description('Maximum value or length for validation'),\n length: Joi.number()\n .empty('')\n .description('Exact length required for validation'),\n regex: Joi.when('type', {\n is: Joi.string().valid(\n ComponentType.TextField,\n ComponentType.MultilineTextField\n ),\n then: Joi.string() // NOSONAR\n .trim()\n .optional()\n .description('Regex expression for validation of user field content')\n .custom(regexCustomValidator),\n otherwise: Joi.string().allow('')\n }).messages({ 'custom.incompatible': 'The regex expression is invalid' })\n })\n .unknown(true)\n .default({})\n .description('Validation rules for the component'),\n list: Joi.string()\n .trim()\n .optional()\n .description(\n 'Reference to a predefined list of options for select components'\n )\n })\n .unknown(true)\n\nexport const componentSchemaV2 = componentSchema\n .keys({\n id: idSchema.description('Unique identifier for the component'),\n list: Joi.string()\n .when('/lists', {\n is: Joi.exist(),\n then: Joi.valid(listIdRef)\n })\n .optional()\n .description(\n 'List id reference to a predefined list of options for select components'\n )\n .error(checkErrors(FormDefinitionError.RefPageComponentList))\n })\n .description('Component schema for V2 forms')\n\nexport const componentPayloadSchemaV2 = componentSchema\n .keys({\n id: idSchema.description('Unique identifier for the component'),\n list: Joi.string()\n .optional()\n .description(\n 'List id reference to a predefined list of options for select components'\n )\n })\n .description('Payload schema for component for V2 forms')\n\nexport const fileUploadComponentSchema = componentSchemaV2.keys({\n type: Joi.string<ComponentType.FileUploadField>()\n .trim()\n .valid(ComponentType.FileUploadField)\n .required()\n .description('Component that can only be a FileUploadField')\n})\n\nexport const contentComponentSchema = componentSchemaV2.keys({\n type: Joi.string<ComponentType>()\n .trim()\n .valid(ComponentType.Details)\n .valid(ComponentType.Html)\n .valid(ComponentType.Markdown)\n .valid(ComponentType.InsetText)\n .valid(ComponentType.List)\n .required()\n .description('Content only component type (Details, Html, Markdown, etc.)')\n})\n\nconst nextSchema = Joi.object<Link>()\n .description('Navigation link defining where to go after completing a page')\n .keys({\n path: Joi.string()\n .trim()\n .required()\n .description('The target page path to navigate to'),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description(\n 'Optional condition that determines if this path should be taken'\n ),\n redirect: Joi.string()\n .trim()\n .optional()\n .description(\n 'Optional external URL to redirect to instead of an internal page'\n )\n })\n\nconst repeatOptions = Joi.object<RepeatOptions>()\n .description('Configuration options for a repeatable page section')\n .keys({\n name: Joi.string()\n .trim()\n .required()\n .description(\n 'Identifier for the repeatable section, used in data structure'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Title displayed for each repeatable item')\n })\n\nconst repeatSchema = Joi.object<RepeatSchema>()\n .description('Validation rules for a repeatable section')\n .keys({\n min: Joi.number()\n .empty('')\n .min(MIN_NUMBER_OF_REPEAT_ITEMS)\n .required()\n .description('Minimum number of repetitions required'),\n max: Joi.number()\n .empty('')\n .min(Joi.ref('min'))\n .max(MAX_NUMBER_OF_REPEAT_ITEMS)\n .required()\n .description('Maximum number of repetitions allowed')\n })\n\nexport const pageRepeatSchema = Joi.object<Repeat>()\n .description('Complete configuration for a repeatable page')\n .keys({\n options: repeatOptions\n .required()\n .description('Display and identification options for the repetition'),\n schema: repeatSchema\n .required()\n .description('Validation constraints for the number of repetitions')\n })\n\nconst eventSchema = Joi.object<Event>()\n .description('Event handler configuration for page lifecycle events')\n .keys({\n type: Joi.string()\n .trim()\n .allow('http')\n .required()\n .description(\n 'Type of the event handler (currently only \"http\" supported)'\n ),\n options: Joi.object<EventOptions>()\n .description('Options specific to the event handler type')\n .keys({\n method: Joi.string()\n .trim()\n .allow('POST')\n .required()\n .description('HTTP method to use for the request'),\n url: Joi.string()\n .trim()\n .uri({ scheme: ['http', 'https'] })\n .required()\n .description('URL endpoint to call when the event fires')\n })\n })\n\nconst eventsSchema = Joi.object<Events>()\n .description(\n 'Collection of event handlers for different page lifecycle events'\n )\n .keys({\n onLoad: eventSchema\n .optional()\n .description('Event handler triggered when the page is loaded'),\n onSave: eventSchema\n .optional()\n .description('Event handler triggered when the page data is saved')\n })\n\nexport const pageUploadComponentsSchema = Joi.array<\n FileUploadFieldComponent | ContentComponentsDef\n>()\n .items(\n fileUploadComponentSchema.required(),\n contentComponentSchema.optional()\n )\n .unique('id')\n .unique('name', { ignoreUndefined: true })\n .min(1)\n .max(2)\n .description('Components allowed on Page Upload schema')\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nexport const pageSchema = Joi.object<Page>()\n .description('Form page definition specifying content and behavior')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the page'),\n path: Joi.string()\n .trim()\n .required()\n .disallow('/status')\n .description(\n 'URL path for this page, must not be the reserved \"/status\" path'\n ),\n title: Joi.string()\n .trim()\n .required()\n .description('Page title displayed at the top of the page'),\n section: Joi.string().trim().description('Section this page belongs to'),\n controller: Joi.string()\n .trim()\n .optional()\n .description('Custom controller class name for special page behavior'),\n components: Joi.array<ComponentDef>()\n .items(componentSchema)\n .unique('name')\n .description('UI components displayed on this page'),\n repeat: Joi.when('controller', {\n is: Joi.string().trim().valid('RepeatPageController').required(),\n then: pageRepeatSchema\n .required()\n .description(\n 'Configuration for repeatable pages, required when using RepeatPageController'\n ),\n otherwise: Joi.any().strip()\n }),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Optional condition that determines if this page is shown'),\n next: Joi.array<Link>()\n .items(nextSchema)\n .default([])\n .description('Possible navigation paths after this page'),\n events: eventsSchema\n .optional()\n .description('Event handlers for page lifecycle events'),\n view: Joi.string()\n .trim()\n .optional()\n .description(\n 'Optional custom view template to use for rendering this page'\n )\n })\n\n/**\n * V2 engine schema - used with new editor\n */\nexport const pageSchemaV2 = pageSchema\n .append({\n id: idSchema.description('Unique identifier for the page'),\n title: Joi.string()\n .trim()\n .allow('')\n .required()\n .description(\n 'Page title displayed at the top of the page (with support for empty titles in V2)'\n ),\n components: Joi.when('controller', {\n switch: [\n {\n is: Joi.string().trim().valid(ControllerType.FileUpload).required(),\n then: pageUploadComponentsSchema\n }\n ],\n otherwise: Joi.array<ComponentDef>()\n .items(componentSchemaV2)\n .unique('id')\n .unique('name', { ignoreUndefined: true })\n .description('Components schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniquePageComponentId,\n FormDefinitionError.UniquePageComponentName\n ])\n )\n }),\n condition: Joi.string()\n .trim()\n .when('/conditions', {\n is: Joi.exist(),\n then: Joi.valid(conditionIdRef)\n })\n .optional()\n .description('Optional condition that determines if this page is shown')\n .error(checkErrors(FormDefinitionError.RefPageCondition))\n })\n .description('Page schema for V2 forms')\n\nexport const pagePayloadSchemaV2 = pageSchemaV2\n .append({\n components: Joi.when('controller', {\n switch: [\n {\n is: Joi.string().trim().valid(ControllerType.FileUpload).required(),\n then: pageUploadComponentsSchema\n }\n ],\n otherwise: Joi.array<ComponentDef>()\n .items(componentPayloadSchemaV2)\n .unique('id')\n .unique('name')\n .description('Components schema for V2 forms')\n })\n })\n .description('Payload Page schema for V2 forms')\n\nconst baseListItemSchema = Joi.object<Item>()\n .description('Base schema for list items with common properties')\n .keys({\n id: idSchema.description('Unique identifier for the list item'),\n text: Joi.string()\n .trim()\n .allow('')\n .description('Display text shown to the user'),\n description: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Optional additional descriptive text for the item'),\n conditional: Joi.object<Item['conditional']>()\n .description('Optional components to show when this item is selected')\n .keys({\n components: Joi.array<ComponentDef>()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n .description('Components to display conditionally')\n })\n .optional(),\n condition: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Condition that determines if this item is shown'),\n hint: Joi.object<Item['hint']>()\n .optional()\n .keys({\n id: idSchema,\n text: Joi.string().trim()\n })\n .description('Optional hint text to be shown on list item')\n })\n\nconst stringListItemSchema = baseListItemSchema\n .append({\n value: Joi.string()\n .trim()\n .required()\n .description('String value stored when this item is selected')\n })\n .description('List item with string value')\n\nconst numberListItemSchema = baseListItemSchema\n .append({\n value: Joi.number()\n .required()\n .description('Numeric value stored when this item is selected')\n })\n .description('List item with numeric value')\n\nexport const listSchema = Joi.object<List>()\n .description('Reusable list of options for select components')\n .keys({\n id: idSchemaOptional.description('Unique identifier for the list'),\n name: Joi.string()\n .trim()\n .required()\n .description('Name used to reference this list from components'),\n title: Joi.string()\n .trim()\n .required()\n .description('Human-readable title for the list'),\n type: Joi.string()\n .trim()\n .required()\n .valid('string', 'number')\n .description('Data type for list values (string or number)'),\n items: Joi.when('type', {\n is: 'string',\n then: Joi.array()\n .items(stringListItemSchema)\n .unique('id')\n .unique('text')\n .unique('value')\n .description('Array of items with string values')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListItemId,\n FormDefinitionError.UniqueListItemText,\n FormDefinitionError.UniqueListItemValue\n ])\n ),\n otherwise: Joi.array()\n .items(numberListItemSchema)\n .unique('id')\n .unique('text')\n .unique('value')\n .description('Array of items with numeric values')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListItemId,\n FormDefinitionError.UniqueListItemText,\n FormDefinitionError.UniqueListItemValue\n ])\n )\n })\n })\n\n/**\n * V2 Joi schema for Lists\n */\nexport const listSchemaV2 = listSchema\n .keys({\n id: idSchema.description('Unique identifier for the list')\n })\n .description('List schema for V2 forms')\n\n/**\n * V2 Joi schema for Sections\n */\nexport const sectionsSchemaV2 = sectionsSchema\n .keys({\n id: idSchema.description('Unique identifier for the section')\n })\n .description('Section schema for V2 forms')\n\nconst feedbackSchema = Joi.object<FormDefinition['feedback']>()\n .description('Feedback configuration for the form')\n .keys({\n url: Joi.string()\n .trim()\n .optional()\n .allow('')\n .description(\n 'URL to an external feedback form when not using built-in feedback'\n ),\n emailAddress: Joi.string()\n .trim()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n .description('Email address where feedback is sent')\n })\n\nconst phaseBannerSchema = Joi.object<PhaseBanner>()\n .description('Phase banner configuration showing development status')\n .keys({\n phase: Joi.string()\n .trim()\n .valid('alpha', 'beta')\n .description('Development phase of the service (alpha or beta)')\n })\n\nconst optionsSchema = Joi.object({\n showReferenceNumber: Joi.boolean().default(false),\n disableUserFeedback: Joi.boolean().default(false)\n}).description('Options for the form')\n\nconst outputSchema = Joi.object<FormDefinition['output']>()\n .description('Configuration for form submission output')\n .keys({\n audience: Joi.string()\n .trim()\n .valid('human', 'machine')\n .required()\n .description(\n 'Target audience for the output (human readable or machine processable)'\n ),\n version: Joi.string()\n .trim()\n .required()\n .description('Version identifier for the output format')\n })\n\n/**\n * Joi schema for `FormDefinition` interface\n * @see {@link FormDefinition}\n */\nexport const formDefinitionSchema = Joi.object<FormDefinition>()\n .description('Complete form definition describing all aspects of a form')\n .required()\n .keys({\n engine: Joi.string()\n .trim()\n .allow('V1', 'V2')\n .default('V1')\n .description('Form engine version to use (V1 or V2)'),\n schema: Joi.number()\n .integer()\n .valid(SchemaVersion.V1)\n .default(SchemaVersion.V1)\n .description('Form schema version to use (1 or 2)'),\n name: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Unique name identifying the form'),\n feedback: feedbackSchema\n .optional()\n .description('Feedback mechanism configuration'),\n startPage: Joi.string()\n .trim()\n .optional()\n .description('Path of the first page to show when starting the form'),\n pages: Joi.array<Page>()\n .required()\n .items(pageSchema)\n .description('Pages schema for V1 forms')\n .unique('path'),\n sections: Joi.array<Section>()\n .items(sectionsSchema)\n .unique('name')\n .unique('title')\n .required()\n .description('Sections grouping related pages together')\n .error(\n checkErrors([\n FormDefinitionError.UniqueSectionName,\n FormDefinitionError.UniqueSectionTitle\n ])\n ),\n conditions: Joi.array<ConditionWrapper>()\n .items(conditionWrapperSchema)\n .unique('name')\n .unique('displayName')\n .description('Named conditions used for form logic'),\n lists: Joi.array<List>()\n .items(listSchema)\n .unique('name')\n .unique('title')\n .description('Reusable lists of options for select components'),\n metadata: Joi.object({ a: Joi.any() })\n .unknown()\n .optional()\n .description('Custom metadata for the form'),\n declaration: Joi.string()\n .trim()\n .allow('')\n .optional()\n .description('Declaration text shown on the summary page'),\n skipSummary: Joi.any()\n .strip()\n .description('option to skip the summary page'),\n phaseBanner: phaseBannerSchema\n .optional()\n .description('Phase banner configuration'),\n options: optionsSchema.optional().description('Options for the form'),\n outputEmail: Joi.string()\n .trim()\n .email({ tlds: { allow: ['uk'] } })\n .optional()\n .description('Email address where form submissions are sent'),\n output: outputSchema\n .optional()\n .description('Configuration for submission output format'),\n outputs: Joi.array()\n .items({\n emailAddress: Joi.string()\n .trim()\n .email({ tlds: { allow: ['uk'] } })\n .description('Email address where form submissions are sent'),\n audience: Joi.string()\n .trim()\n .valid('human', 'machine')\n .required()\n .description(\n 'Target audience for the output (human readable or machine processable)'\n ),\n version: Joi.string()\n .trim()\n .required()\n .description('Version identifier for the output format')\n })\n .optional()\n .description('One or more email targets/types for submission emails')\n })\n\nexport const formDefinitionV2Schema = formDefinitionSchema\n .keys({\n schema: Joi.number()\n .integer()\n .valid(SchemaVersion.V2)\n .description('Form schema version to use (2)'),\n pages: Joi.array<Page>()\n .items(pageSchemaV2)\n .required()\n .unique('id')\n .unique('path')\n .description('Pages schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniquePageId,\n FormDefinitionError.UniquePagePath\n ])\n ),\n lists: Joi.array<List>()\n .items(listSchemaV2)\n .unique('id')\n .unique('name')\n .unique('title')\n .description('Lists schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniqueListId,\n FormDefinitionError.UniqueListName,\n FormDefinitionError.UniqueListTitle\n ])\n ),\n conditions: Joi.array<ConditionWrapperV2>()\n .items(conditionWrapperSchemaV2)\n .unique('id')\n .unique('displayName')\n .description('Named conditions used for form logic')\n .error(\n checkErrors([\n FormDefinitionError.UniqueConditionId,\n FormDefinitionError.UniqueConditionDisplayName\n ])\n ),\n sections: Joi.array<Section>()\n .items(sectionsSchemaV2)\n .unique('id')\n .unique('name')\n .unique('title')\n .required()\n .description('Sections schema for V2 forms')\n .error(\n checkErrors([\n FormDefinitionError.UniqueSectionId,\n FormDefinitionError.UniqueSectionName,\n FormDefinitionError.UniqueSectionTitle\n ])\n )\n })\n .description('Form definition schema for V2')\n\n// Maintain compatibility with legacy named export\n// E.g. `import { Schema } from '@defra/forms-model'`\nexport const Schema = formDefinitionSchema\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormDefinitionErrorType","FormDefinitionError","formDefinitionErrors","UniquePagePath","key","type","Unique","UniquePageId","UniquePageComponentId","UniquePageComponentName","UniqueSectionId","UniqueSectionName","UniqueSectionTitle","UniqueListId","UniqueListTitle","UniqueListName","UniqueConditionDisplayName","UniqueConditionId","UniqueListItemId","UniqueListItemText","UniqueListItemValue","RefPageCondition","Ref","RefConditionComponentId","RefConditionListId","RefConditionItemId","RefConditionConditionId","RefPageComponentList","IncompatibleConditionComponentType","Incompatible","IncompatibleQuestionRegex","Other","Type"],"sources":["../../../../src/form/form-manager/types.ts"],"sourcesContent":["import { type Context } from 'joi'\n\nimport { type Repeat, type Section } from '~/src/form/form-definition/types.js'\nimport { type ControllerType } from '~/src/pages/enums.js'\n\nexport interface PatchPageFields {\n title?: string\n path?: string\n controller?: ControllerType | null\n repeat?: Repeat\n condition?: string | null\n}\n\nexport interface AddComponentQueryOptions {\n prepend?: boolean\n}\n\nexport type SectionAssignmentItem = Omit<Section, 'name'> & {\n name?: string\n pageIds: string[]\n}\n\n// Enum of error types that can be raised through validating the form definition\nexport enum FormDefinitionErrorType {\n Unique = 'unique', // Unique constraint\n Ref = 'ref', // Referential integrity\n Type = 'type', // General schema type error\n Incompatible = 'incompatible' // Data values/types that are not compatible\n}\n\n// Enum for errors that can exist in a form definition\nexport enum FormDefinitionError {\n UniquePageId = 'unique_page_id',\n UniquePagePath = 'unique_page_path',\n UniquePageComponentId = 'unique_page_component_id',\n UniquePageComponentName = 'unique_page_component_name',\n UniqueSectionId = 'unique_section_id',\n UniqueSectionName = 'unique_section_name',\n UniqueSectionTitle = 'unique_section_title',\n UniqueListId = 'unique_list_id',\n UniqueListTitle = 'unique_list_title',\n UniqueListName = 'unique_list_name',\n UniqueConditionId = 'unique_condition_id',\n UniqueConditionDisplayName = 'unique_condition_displayname',\n UniqueListItemId = 'unique_list_item_id',\n UniqueListItemText = 'unique_list_item_text',\n UniqueListItemValue = 'unique_list_item_value',\n RefPageCondition = 'ref_page_condition',\n RefConditionComponentId = 'ref_condition_component_id',\n RefConditionListId = 'ref_condition_list_id',\n RefConditionItemId = 'ref_condition_item_id',\n RefConditionConditionId = 'ref_condition_condition_id',\n RefPageComponentList = 'ref_page_component_list',\n IncompatibleConditionComponentType = 'incompatible_condition_component_type',\n IncompatibleQuestionRegex = 'incompatible_question_regex',\n Other = 'other'\n}\n\nexport interface ErrorMatchValue {\n key: string\n type: FormDefinitionErrorType\n}\n\nexport type FormDefinitionErrors = Record<FormDefinitionError, ErrorMatchValue>\n\n// The errors that can exist in the form definition\nexport const formDefinitionErrors: FormDefinitionErrors = {\n [FormDefinitionError.UniquePagePath]: {\n key: 'path',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageComponentId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageComponentName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionTitle]: {\n key: 'title',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListTitle]: {\n key: 'title',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueConditionDisplayName]: {\n key: 'displayName',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueConditionId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemText]: {\n key: 'text',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemValue]: {\n key: 'value',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.RefPageCondition]: {\n key: 'condition',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionComponentId]: {\n key: 'componentId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionListId]: {\n key: 'listId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionItemId]: {\n key: 'itemId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionConditionId]: {\n key: 'conditionId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefPageComponentList]: {\n key: 'list',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.IncompatibleConditionComponentType]: {\n key: 'componentId',\n type: FormDefinitionErrorType.Incompatible\n },\n [FormDefinitionError.IncompatibleQuestionRegex]: {\n key: 'regex',\n type: FormDefinitionErrorType.Incompatible\n },\n [FormDefinitionError.Other]: {\n key: '',\n type: FormDefinitionErrorType.Type\n }\n}\n\nexport type FormDefinitionErrorCauseDetailPath = (string | number)[]\n\nexport interface FormDefinitionErrorCauseDetailUnique {\n path: FormDefinitionErrorCauseDetailPath\n pos: number\n dupePos: number\n}\n\nexport interface FormDefinitionErrorCauseDetailRef {\n path: FormDefinitionErrorCauseDetailPath\n}\n\nexport interface FormDefinitionErrorCauseDetailIncompatible {\n path: FormDefinitionErrorCauseDetailPath\n valueKey?: string\n incompatibleObject: {\n key?: string\n value?: unknown\n }\n reason: string\n}\n\nexport type FormDefinitionErrorCause =\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Unique\n message: string\n detail: FormDefinitionErrorCauseDetailUnique\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Ref\n message: string\n detail: FormDefinitionErrorCauseDetailRef\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Type\n message: string\n detail: Context | undefined\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Incompatible\n message: string\n detail: FormDefinitionErrorCauseDetailIncompatible\n }\n\nexport interface FormSecret {\n /**\n * The id of the form\n */\n formId: string\n\n /**\n * The name of the secret\n */\n secretName: string\n\n /**\n * The value of the secret\n */\n secretValue: string\n\n /**\n * The date the secret was created\n */\n createdAt: Date\n\n /**\n * The date the secret was last updated\n */\n updatedAt: Date\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["FormDefinitionErrorType","FormDefinitionError","formDefinitionErrors","UniquePagePath","key","type","Unique","UniquePageId","UniquePageComponentId","UniquePageComponentName","UniqueSectionId","UniqueSectionName","UniqueSectionTitle","UniqueListId","UniqueListTitle","UniqueListName","UniqueConditionDisplayName","UniqueConditionId","UniqueListItemId","UniqueListItemText","UniqueListItemValue","RefPageCondition","Ref","RefConditionComponentId","RefConditionListId","RefConditionItemId","RefConditionConditionId","RefPageComponentList","IncompatibleConditionComponentType","Incompatible","IncompatibleQuestionRegex","Other","Type"],"sources":["../../../../src/form/form-manager/types.ts"],"sourcesContent":["import { type Context } from 'joi'\n\nimport { type Repeat, type Section } from '~/src/form/form-definition/types.js'\nimport { type ControllerType } from '~/src/pages/enums.js'\n\nexport interface PatchPageFields {\n title?: string\n path?: string\n controller?: ControllerType | null\n repeat?: Repeat\n condition?: string | null\n}\n\nexport interface AddComponentQueryOptions {\n prepend?: boolean\n}\n\nexport type SectionAssignmentItem = Omit<Section, 'name'> & {\n name?: string\n pageIds: string[]\n}\n\n// Enum of error types that can be raised through validating the form definition\nexport enum FormDefinitionErrorType {\n Unique = 'unique', // Unique constraint\n Ref = 'ref', // Referential integrity\n Type = 'type', // General schema type error\n Incompatible = 'incompatible' // Data values/types that are not compatible\n}\n\n// Enum for errors that can exist in a form definition\nexport enum FormDefinitionError {\n UniquePageId = 'unique_page_id',\n UniquePagePath = 'unique_page_path',\n UniquePageComponentId = 'unique_page_component_id',\n UniquePageComponentName = 'unique_page_component_name',\n UniqueSectionId = 'unique_section_id',\n UniqueSectionName = 'unique_section_name',\n UniqueSectionTitle = 'unique_section_title',\n UniqueListId = 'unique_list_id',\n UniqueListTitle = 'unique_list_title',\n UniqueListName = 'unique_list_name',\n UniqueConditionId = 'unique_condition_id',\n UniqueConditionDisplayName = 'unique_condition_displayname',\n UniqueListItemId = 'unique_list_item_id',\n UniqueListItemText = 'unique_list_item_text',\n UniqueListItemValue = 'unique_list_item_value',\n RefPageCondition = 'ref_page_condition',\n RefConditionComponentId = 'ref_condition_component_id',\n RefConditionListId = 'ref_condition_list_id',\n RefConditionItemId = 'ref_condition_item_id',\n RefConditionConditionId = 'ref_condition_condition_id',\n RefPageComponentList = 'ref_page_component_list',\n IncompatibleConditionComponentType = 'incompatible_condition_component_type',\n IncompatibleQuestionRegex = 'incompatible_question_regex',\n Other = 'other'\n}\n\nexport interface ErrorMatchValue {\n key: string\n type: FormDefinitionErrorType\n}\n\nexport type FormDefinitionErrors = Record<FormDefinitionError, ErrorMatchValue>\n\n// The errors that can exist in the form definition\nexport const formDefinitionErrors: FormDefinitionErrors = {\n [FormDefinitionError.UniquePagePath]: {\n key: 'path',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageComponentId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniquePageComponentName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueSectionTitle]: {\n key: 'title',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListTitle]: {\n key: 'title',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListName]: {\n key: 'name',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueConditionDisplayName]: {\n key: 'displayName',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueConditionId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemId]: {\n key: 'id',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemText]: {\n key: 'text',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.UniqueListItemValue]: {\n key: 'value',\n type: FormDefinitionErrorType.Unique\n },\n [FormDefinitionError.RefPageCondition]: {\n key: 'condition',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionComponentId]: {\n key: 'componentId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionListId]: {\n key: 'listId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionItemId]: {\n key: 'itemId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefConditionConditionId]: {\n key: 'conditionId',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.RefPageComponentList]: {\n key: 'list',\n type: FormDefinitionErrorType.Ref\n },\n [FormDefinitionError.IncompatibleConditionComponentType]: {\n key: 'componentId',\n type: FormDefinitionErrorType.Incompatible\n },\n [FormDefinitionError.IncompatibleQuestionRegex]: {\n key: 'regex',\n type: FormDefinitionErrorType.Incompatible\n },\n [FormDefinitionError.Other]: {\n key: '',\n type: FormDefinitionErrorType.Type\n }\n}\n\nexport type FormDefinitionErrorCauseDetailPath = (string | number)[]\n\nexport interface FormDefinitionErrorCauseDetailUnique {\n path: FormDefinitionErrorCauseDetailPath\n pos: number\n dupePos: number\n}\n\nexport interface FormDefinitionErrorCauseDetailRef {\n path: FormDefinitionErrorCauseDetailPath\n}\n\nexport interface FormDefinitionErrorCauseDetailIncompatible {\n path: FormDefinitionErrorCauseDetailPath\n valueKey?: string\n incompatibleObject: {\n key?: string\n value?: unknown\n }\n reason: string\n}\n\nexport type FormDefinitionErrorCause =\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Unique\n message: string\n detail: FormDefinitionErrorCauseDetailUnique\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Ref\n message: string\n detail: FormDefinitionErrorCauseDetailRef\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Type\n message: string\n detail: Context | undefined\n }\n | {\n id: FormDefinitionError\n type: FormDefinitionErrorType.Incompatible\n message: string\n detail: FormDefinitionErrorCauseDetailIncompatible\n }\n\nexport interface FormSecret {\n /**\n * The id of the form\n */\n formId: string\n\n /**\n * The name of the secret\n */\n secretName: string\n\n /**\n * The value of the secret\n */\n secretValue: string\n\n /**\n * The date the secret was created\n */\n createdAt: Date\n\n /**\n * The date the secret was renamed\n */\n renamedAt?: Date\n\n /**\n * The date the secret was last updated\n */\n updatedAt?: Date\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,8 @@ export declare enum AuditEventMessageType {
35
35
  FORM_DRAFT_DELETED = "FORM_DRAFT_DELETED",
36
36
  FORM_MIGRATED = "FORM_MIGRATED",
37
37
  FORM_UPDATED = "FORM_UPDATED",
38
+ FORM_SECRET_DELETED = "FORM_SECRET_DELETED",
39
+ FORM_SECRET_RENAMED = "FORM_SECRET_RENAMED",
38
40
  FORM_SECRET_SAVED = "FORM_SECRET_SAVED",
39
41
  FORM_SUBMISSION_EXCEL_REQUESTED = "FORM_SUBMISSION_EXCEL_REQUESTED",
40
42
  FORM_CSAT_EXCEL_REQUESTED = "FORM_CSAT_EXCEL_REQUESTED",
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B;IACxC,EAAE,IAAI;CACP;AAED,oBAAY,yBAAyB;IACnC,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;CAClC;AAED,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;CAClC;AAED,oBAAY,qBAAqB;IAE/B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;IACrE,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,+BAA+B,oCAAoC;IACnE,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAG/D,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,sCAAsC,2CAA2C;CAClF;AAED,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B;IACxC,EAAE,IAAI;CACP;AAED,oBAAY,yBAAyB;IACnC,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;CAClC;AAED,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;CAClC;AAED,oBAAY,qBAAqB;IAE/B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IACnD,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;IACrE,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,+BAA+B,oCAAoC;IACnE,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAG/D,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,0BAA0B,+BAA+B;IACzD,sCAAsC,2CAA2C;CAClF;AAED,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC"}
@@ -1,11 +1,13 @@
1
1
  import Joi, { type ObjectSchema } from 'joi';
2
- import { type AuditEvent, type AuditMessage, type AuditRecord, type AuditUser, type AuthenticationMessageData, type EntitlementMessageData, type ExcelGenerationMessageData, type FormCreatedMessageData, type FormDefinitionS3Meta, type FormFileDownloadedMessageData, type FormMessageChangesData, type FormMessageDataBase, type FormNotificationEmailChanges, type FormOrganisationChanges, type FormPrivacyNoticeChanges, type FormSecretSavedMessageData, type FormSubmissionGuidanceChanges, type FormSupportContactChanges, type FormSupportEmailChanges, type FormSupportOnlineChanges, type FormSupportPhoneChanges, type FormTeamEmailChanges, type FormTeamNameChanges, type FormTermsAndConditionsChanges, type FormTitleChanges, type FormUpdatedMessageData, type FormUploadedChanges, type FormsBackupRequestedMessageData } from '../../form/form-audit/types.js';
2
+ import { type AuditEvent, type AuditMessage, type AuditRecord, type AuditUser, type AuthenticationMessageData, type EntitlementMessageData, type ExcelGenerationMessageData, type FormCreatedMessageData, type FormDefinitionS3Meta, type FormFileDownloadedMessageData, type FormMessageChangesData, type FormMessageDataBase, type FormNotificationEmailChanges, type FormOrganisationChanges, type FormPrivacyNoticeChanges, type FormSecretBaseMessageData, type FormSubmissionGuidanceChanges, type FormSupportContactChanges, type FormSupportEmailChanges, type FormSupportOnlineChanges, type FormSupportPhoneChanges, type FormTeamEmailChanges, type FormTeamNameChanges, type FormTermsAndConditionsChanges, type FormTitleChanges, type FormUpdatedMessageData, type FormUploadedChanges, type FormsBackupRequestedMessageData } from '../../form/form-audit/types.js';
3
3
  export declare const formMessageDataBase: Joi.ObjectSchema<FormMessageDataBase>;
4
4
  export declare const formCreatedMessageData: Joi.ObjectSchema<FormCreatedMessageData>;
5
5
  export declare const formDefinitionS3Meta: Joi.ObjectSchema<FormDefinitionS3Meta>;
6
6
  export declare const formUpdatedMessageData: Joi.ObjectSchema<FormUpdatedMessageData>;
7
7
  export declare const formsBackupRequestedMessageData: Joi.ObjectSchema<FormsBackupRequestedMessageData>;
8
- export declare const formsSecretSavedMessageData: Joi.ObjectSchema<FormSecretSavedMessageData>;
8
+ export declare const formsSecretDeletedMessageData: Joi.ObjectSchema<FormSecretBaseMessageData>;
9
+ export declare const formsSecretRenamedMessageData: Joi.ObjectSchema<FormSecretBaseMessageData>;
10
+ export declare const formsSecretSavedMessageData: Joi.ObjectSchema<FormSecretBaseMessageData>;
9
11
  export declare const formTitleChanges: Joi.ObjectSchema<FormTitleChanges>;
10
12
  export declare const formOrganisationChanges: Joi.ObjectSchema<FormOrganisationChanges>;
11
13
  export declare const formTeamNameChanges: Joi.ObjectSchema<FormTeamNameChanges>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AAS5C,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAE9B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAElC,KAAK,yBAAyB,EAE9B,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAGxB,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAExB,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAA;AAsBvC,eAAO,MAAM,mBAAmB,uCAMwB,CAAA;AAExD,eAAO,MAAM,sBAAsB,0CAQ6B,CAAA;AAEhE,eAAO,MAAM,oBAAoB,wCAM0B,CAAA;AAE3D,eAAO,MAAM,sBAAsB,0CAOtB,CAAA;AAEb,eAAO,MAAM,+BAA+B,mDAIxC,CAAA;AAEJ,eAAO,MAAM,2BAA2B,8CAGpC,CAAA;AAEJ,eAAO,MAAM,gBAAgB,oCAKgC,CAAA;AAE7D,eAAO,MAAM,uBAAuB,2CAKgC,CAAA;AAEpE,eAAO,MAAM,mBAAmB,uCAKiC,CAAA;AAEjE,eAAO,MAAM,oBAAoB,wCAKiC,CAAA;AAElE,eAAO,MAAM,yBAAyB,6CAKiC,CAAA;AAEvE,eAAO,MAAM,uBAAuB,2CAKiC,CAAA;AAErE,eAAO,MAAM,wBAAwB,4CAMiC,CAAA;AAEtE,eAAO,MAAM,uBAAuB,2CAKiC,CAAA;AAErE,eAAO,MAAM,wBAAwB,4CAeiC,CAAA;AAEtE,eAAO,MAAM,6BAA6B,iDAMmC,CAAA;AAE7E,eAAO,MAAM,4BAA4B,gDAMmC,CAAA;AAE5E,eAAO,MAAM,6BAA6B,iDAMmC,CAAA;AAE7E,eAAO,MAAM,mBAAmB,uCAK6B,CAAA;AAE7D,eAAO,MAAM,sBAAsB,0CAOlC,CAAA;AAED,eAAO,MAAM,6BAA6B,iDAUrC,CAAA;AAEL,eAAO,MAAM,0BAA0B,8CAUlC,CAAA;AAEL,eAAO,MAAM,yBAAyB,6CAIlC,CAAA;AAEJ,eAAO,MAAM,eAAe,6BAKuB,CAAA;AAEnD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,sBAAsB,EACxE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,CASjB;AAED,eAAO,MAAM,aAAa,gCA0O0C,CAAA;AAEpE,eAAO,MAAM,UAAU,8BAIsB,CAAA;AAE7C,eAAO,MAAM,WAAW,+BAOgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AAS5C,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAE9B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAElC,KAAK,yBAAyB,EAE9B,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAGxB,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAExB,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAA;AAsBvC,eAAO,MAAM,mBAAmB,uCAMwB,CAAA;AAExD,eAAO,MAAM,sBAAsB,0CAQ6B,CAAA;AAEhE,eAAO,MAAM,oBAAoB,wCAM0B,CAAA;AAE3D,eAAO,MAAM,sBAAsB,0CAOtB,CAAA;AAEb,eAAO,MAAM,+BAA+B,mDAIxC,CAAA;AAEJ,eAAO,MAAM,6BAA6B,6CAGtC,CAAA;AAEJ,eAAO,MAAM,6BAA6B,6CAGtC,CAAA;AAEJ,eAAO,MAAM,2BAA2B,6CAGpC,CAAA;AAEJ,eAAO,MAAM,gBAAgB,oCAKgC,CAAA;AAE7D,eAAO,MAAM,uBAAuB,2CAKgC,CAAA;AAEpE,eAAO,MAAM,mBAAmB,uCAKiC,CAAA;AAEjE,eAAO,MAAM,oBAAoB,wCAKiC,CAAA;AAElE,eAAO,MAAM,yBAAyB,6CAKiC,CAAA;AAEvE,eAAO,MAAM,uBAAuB,2CAKiC,CAAA;AAErE,eAAO,MAAM,wBAAwB,4CAMiC,CAAA;AAEtE,eAAO,MAAM,uBAAuB,2CAKiC,CAAA;AAErE,eAAO,MAAM,wBAAwB,4CAeiC,CAAA;AAEtE,eAAO,MAAM,6BAA6B,iDAMmC,CAAA;AAE7E,eAAO,MAAM,4BAA4B,gDAMmC,CAAA;AAE5E,eAAO,MAAM,6BAA6B,iDAMmC,CAAA;AAE7E,eAAO,MAAM,mBAAmB,uCAK6B,CAAA;AAE7D,eAAO,MAAM,sBAAsB,0CAOlC,CAAA;AAED,eAAO,MAAM,6BAA6B,iDAUrC,CAAA;AAEL,eAAO,MAAM,0BAA0B,8CAUlC,CAAA;AAEL,eAAO,MAAM,yBAAyB,6CAIlC,CAAA;AAEJ,eAAO,MAAM,eAAe,6BAKuB,CAAA;AAEnD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,sBAAsB,EACxE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,CASjB;AAED,eAAO,MAAM,aAAa,gCAsP0C,CAAA;AAEpE,eAAO,MAAM,UAAU,8BAIsB,CAAA;AAE7C,eAAO,MAAM,WAAW,+BAOgC,CAAA"}
@@ -107,7 +107,7 @@ export interface ExcelGenerationMessageData {
107
107
  formName: string;
108
108
  notificationEmail: string;
109
109
  }
110
- export interface FormSecretSavedMessageData extends FormMessageDataBase {
110
+ export interface FormSecretBaseMessageData extends FormMessageDataBase {
111
111
  formId: string;
112
112
  slug: string;
113
113
  secretName: string;
@@ -141,7 +141,7 @@ export interface FormsBackupRequestedMessageData {
141
141
  totalForms: number;
142
142
  durationMs: number;
143
143
  }
144
- export type MessageData = FormMessageChangesData | FormMessageActivitiesData | FormUpdatedMessageData | EntitlementMessageData | AuthenticationMessageData | ExcelGenerationMessageData | FormFileDownloadedMessageData | FormsBackupRequestedMessageData | FormSecretSavedMessageData;
144
+ export type MessageData = FormMessageChangesData | FormMessageActivitiesData | FormUpdatedMessageData | EntitlementMessageData | AuthenticationMessageData | ExcelGenerationMessageData | FormFileDownloadedMessageData | FormsBackupRequestedMessageData | FormSecretBaseMessageData;
145
145
  export interface MessageBase {
146
146
  schemaVersion: AuditEventMessageSchemaVersion;
147
147
  category: AuditEventMessageCategory;
@@ -330,12 +330,22 @@ export interface FormsBackupRequestedMessage extends DesignerMessageBase {
330
330
  type: AuditEventMessageType.FORMS_BACKUP_REQUESTED;
331
331
  data: FormsBackupRequestedMessageData;
332
332
  }
333
+ export interface FormSecretDeletedMessage extends ManagerMessageBase {
334
+ category: AuditEventMessageCategory.FORM;
335
+ type: AuditEventMessageType.FORM_SECRET_DELETED;
336
+ data: FormSecretBaseMessageData;
337
+ }
338
+ export interface FormSecretRenamedMessage extends ManagerMessageBase {
339
+ category: AuditEventMessageCategory.FORM;
340
+ type: AuditEventMessageType.FORM_SECRET_RENAMED;
341
+ data: FormSecretBaseMessageData;
342
+ }
333
343
  export interface FormSecretSavedMessage extends ManagerMessageBase {
334
344
  category: AuditEventMessageCategory.FORM;
335
345
  type: AuditEventMessageType.FORM_SECRET_SAVED;
336
- data: FormSecretSavedMessageData;
346
+ data: FormSecretBaseMessageData;
337
347
  }
338
- export type AuditMessage = FormCreatedMessage | FormTitleUpdatedMessage | FormOrganisationUpdatedMessage | FormTeamNameUpdatedMessage | FormTeamEmailUpdatedMessage | FormSupportContactUpdatedMessage | FormSupportPhoneUpdatedMessage | FormSupportEmailUpdatedMessage | FormSupportOnlineUpdatedMessage | FormPrivacyNoticeUpdatedMessage | FormTermsAndConditionsAgreedMessage | FormNotificationEmailUpdatedMessage | FormSubmissionGuidanceUpdatedMessage | FormUploadedMessage | FormDownloadedMessage | FormFileDownloadSuccessMessage | FormFileDownloadFailureMessage | FormDraftCreatedFromLiveMessage | FormLiveCreatedFromDraftMessage | FormDraftDeletedMessage | FormMigratedMessage | FormUpdatedMessage | EntitlementCreatedMessage | EntitlementUpdatedMessage | EntitlementDeletedMessage | AuthenticationLoginMessage | AuthenticationLogoutManualMessage | AuthenticationLogoutAutoMessage | AuthenticationLogoutDifferentDeviceMessage | FormSubmissionExcelRequestedMessage | FormCsatExcelRequestedMessage | PlatformCsatExcelRequestedMessage | FormsBackupRequestedMessage | FormSecretSavedMessage;
348
+ export type AuditMessage = FormCreatedMessage | FormTitleUpdatedMessage | FormOrganisationUpdatedMessage | FormTeamNameUpdatedMessage | FormTeamEmailUpdatedMessage | FormSupportContactUpdatedMessage | FormSupportPhoneUpdatedMessage | FormSupportEmailUpdatedMessage | FormSupportOnlineUpdatedMessage | FormPrivacyNoticeUpdatedMessage | FormTermsAndConditionsAgreedMessage | FormNotificationEmailUpdatedMessage | FormSubmissionGuidanceUpdatedMessage | FormUploadedMessage | FormDownloadedMessage | FormFileDownloadSuccessMessage | FormFileDownloadFailureMessage | FormDraftCreatedFromLiveMessage | FormLiveCreatedFromDraftMessage | FormDraftDeletedMessage | FormMigratedMessage | FormUpdatedMessage | EntitlementCreatedMessage | EntitlementUpdatedMessage | EntitlementDeletedMessage | AuthenticationLoginMessage | AuthenticationLogoutManualMessage | AuthenticationLogoutAutoMessage | AuthenticationLogoutDifferentDeviceMessage | FormSubmissionExcelRequestedMessage | FormCsatExcelRequestedMessage | PlatformCsatExcelRequestedMessage | FormsBackupRequestedMessage | FormSecretDeletedMessage | FormSecretRenamedMessage | FormSecretSavedMessage;
339
349
  export interface AuditEvent {
340
350
  message: AuditMessage;
341
351
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,EAAE,EAAE,KAAK,aAAa,EAAyB,MAAM,KAAK,CAAA;AAMxE,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAEL,KAAK,eAAe,EAIpB,KAAK,+BAA+B,EAOrC,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAGL,KAAK,kBAAkB,EAIvB,KAAK,cAAc,EAGnB,KAAK,IAAI,EACT,KAAK,IAAI,EAET,KAAK,MAAM,EAGX,KAAK,OAAO,EACb,MAAM,qCAAqC,CAAA;AA0C5C,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,SAAS,aAAa,CAAC,+BAA+B,CAAC,iCAqCxD,CAAA;AA6ND,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,eAAO,MAAM,qBAAqB,uCAyD9B,CAAA;AAoDJ,eAAO,MAAM,wBAAwB,0CAyBU,CAAA;AAE/C,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAS,aAAa,CAAC,MAAM,CAAC,iCAW/B,CAAA;AAED,eAAO,MAAM,eAAe,oCA8HZ,CAAA;AAEhB,eAAO,MAAM,iBAAiB,oCAciB,CAAA;AAE/C,eAAO,MAAM,wBAAwB,oCASsB,CAAA;AAE3D,eAAO,MAAM,yBAAyB,oCAMpC,CAAA;AAEF,eAAO,MAAM,sBAAsB,oCAUjC,CAAA;AAuDF,eAAO,MAAM,gBAAgB,8BASzB,CAAA;AAyCJ,eAAO,MAAM,0BAA0B,sEAWmB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,4BAmDnB,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,4BAuCiB,CAAA;AAE1C,eAAO,MAAM,mBAAmB,4BAgBkB,CAAA;AAwDlD,eAAO,MAAM,UAAU,4BA8CnB,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,4BAIiB,CAAA;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAIgB,CAAA;AAqD7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sCAiG7B,CAAA;AAEJ,eAAO,MAAM,sBAAsB,sCAyDY,CAAA;AAI/C,eAAO,MAAM,MAAM,sCAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,EAAE,EAAE,KAAK,aAAa,EAAyB,MAAM,KAAK,CAAA;AAMxE,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAEL,KAAK,eAAe,EAIpB,KAAK,+BAA+B,EAOrC,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAGL,KAAK,kBAAkB,EAIvB,KAAK,cAAc,EAGnB,KAAK,IAAI,EACT,KAAK,IAAI,EAET,KAAK,MAAM,EAGX,KAAK,OAAO,EACb,MAAM,qCAAqC,CAAA;AA0C5C,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,SAAS,aAAa,CAAC,+BAA+B,CAAC,iCAqCxD,CAAA;AA6ND,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,eAAO,MAAM,qBAAqB,uCAyD9B,CAAA;AAoDJ,eAAO,MAAM,wBAAwB,0CAwBU,CAAA;AAE/C,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAS,aAAa,CAAC,MAAM,CAAC,iCAW/B,CAAA;AAED,eAAO,MAAM,eAAe,oCA8HZ,CAAA;AAEhB,eAAO,MAAM,iBAAiB,oCAciB,CAAA;AAE/C,eAAO,MAAM,wBAAwB,oCASsB,CAAA;AAE3D,eAAO,MAAM,yBAAyB,oCAMpC,CAAA;AAEF,eAAO,MAAM,sBAAsB,oCAUjC,CAAA;AAuDF,eAAO,MAAM,gBAAgB,8BASzB,CAAA;AAyCJ,eAAO,MAAM,0BAA0B,sEAWmB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,4BAmDnB,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,4BAuCiB,CAAA;AAE1C,eAAO,MAAM,mBAAmB,4BAgBkB,CAAA;AAwDlD,eAAO,MAAM,UAAU,4BA8CnB,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,4BAIiB,CAAA;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAIgB,CAAA;AAqD7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sCAiG7B,CAAA;AAEJ,eAAO,MAAM,sBAAsB,sCAyDY,CAAA;AAI/C,eAAO,MAAM,MAAM,sCAAuB,CAAA"}
@@ -109,9 +109,13 @@ export interface FormSecret {
109
109
  * The date the secret was created
110
110
  */
111
111
  createdAt: Date;
112
+ /**
113
+ * The date the secret was renamed
114
+ */
115
+ renamedAt?: Date;
112
116
  /**
113
117
  * The date the secret was last updated
114
118
  */
115
- updatedAt: Date;
119
+ updatedAt?: Date;
116
120
  }
117
121
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-manager/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-manager/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.628",
3
+ "version": "3.0.633",
4
4
  "description": "A hapi plugin providing the model for Defra forms",
5
5
  "homepage": "https://github.com/DEFRA/forms-designer/tree/main/model#readme",
6
6
  "types": "dist/types/index.d.ts",
@@ -1758,7 +1758,6 @@
1758
1758
  "type": "array",
1759
1759
  "description": "Array of conditions or condition references",
1760
1760
  "minItems": 1,
1761
- "maxItems": 15,
1762
1761
  "items": {
1763
1762
  "oneOf": [
1764
1763
  {
@@ -39,6 +39,8 @@ export enum AuditEventMessageType {
39
39
  FORM_DRAFT_DELETED = 'FORM_DRAFT_DELETED',
40
40
  FORM_MIGRATED = 'FORM_MIGRATED',
41
41
  FORM_UPDATED = 'FORM_UPDATED',
42
+ FORM_SECRET_DELETED = 'FORM_SECRET_DELETED',
43
+ FORM_SECRET_RENAMED = 'FORM_SECRET_RENAMED',
42
44
  FORM_SECRET_SAVED = 'FORM_SECRET_SAVED',
43
45
  FORM_SUBMISSION_EXCEL_REQUESTED = 'FORM_SUBMISSION_EXCEL_REQUESTED',
44
46
  FORM_CSAT_EXCEL_REQUESTED = 'FORM_CSAT_EXCEL_REQUESTED',
@@ -27,7 +27,7 @@ import {
27
27
  type FormOrganisationUpdatedMessageData,
28
28
  type FormPrivacyNoticeChanges,
29
29
  type FormPrivacyNoticeUpdatedMessageData,
30
- type FormSecretSavedMessageData,
30
+ type FormSecretBaseMessageData,
31
31
  type FormSubmissionGuidanceChanges,
32
32
  type FormSubmissionGuidanceUpdatedMessageData,
33
33
  type FormSupportContactChanges,
@@ -113,8 +113,18 @@ export const formsBackupRequestedMessageData =
113
113
  durationMs: Joi.number().min(0).required()
114
114
  })
115
115
 
116
+ export const formsSecretDeletedMessageData =
117
+ formMessageDataBase.append<FormSecretBaseMessageData>({
118
+ secretName: Joi.string().required()
119
+ })
120
+
121
+ export const formsSecretRenamedMessageData =
122
+ formMessageDataBase.append<FormSecretBaseMessageData>({
123
+ secretName: Joi.string().required()
124
+ })
125
+
116
126
  export const formsSecretSavedMessageData =
117
- formMessageDataBase.append<FormSecretSavedMessageData>({
127
+ formMessageDataBase.append<FormSecretBaseMessageData>({
118
128
  secretName: Joi.string().required()
119
129
  })
120
130
 
@@ -502,6 +512,18 @@ export const messageSchema = Joi.object<AuditMessage>()
502
512
  .valid(AuditEventMessageType.FORMS_BACKUP_REQUESTED),
503
513
  then: formsBackupRequestedMessageData
504
514
  },
515
+ {
516
+ is: Joi.string()
517
+ .trim()
518
+ .valid(AuditEventMessageType.FORM_SECRET_DELETED),
519
+ then: formsSecretDeletedMessageData
520
+ },
521
+ {
522
+ is: Joi.string()
523
+ .trim()
524
+ .valid(AuditEventMessageType.FORM_SECRET_RENAMED),
525
+ then: formsSecretRenamedMessageData
526
+ },
505
527
  {
506
528
  is: Joi.string()
507
529
  .trim()
@@ -154,7 +154,7 @@ export interface ExcelGenerationMessageData {
154
154
  notificationEmail: string
155
155
  }
156
156
 
157
- export interface FormSecretSavedMessageData extends FormMessageDataBase {
157
+ export interface FormSecretBaseMessageData extends FormMessageDataBase {
158
158
  formId: string
159
159
  slug: string
160
160
  secretName: string
@@ -222,7 +222,7 @@ export type MessageData =
222
222
  | ExcelGenerationMessageData
223
223
  | FormFileDownloadedMessageData
224
224
  | FormsBackupRequestedMessageData
225
- | FormSecretSavedMessageData
225
+ | FormSecretBaseMessageData
226
226
 
227
227
  export interface MessageBase {
228
228
  schemaVersion: AuditEventMessageSchemaVersion
@@ -456,10 +456,22 @@ export interface FormsBackupRequestedMessage extends DesignerMessageBase {
456
456
  data: FormsBackupRequestedMessageData
457
457
  }
458
458
 
459
+ export interface FormSecretDeletedMessage extends ManagerMessageBase {
460
+ category: AuditEventMessageCategory.FORM
461
+ type: AuditEventMessageType.FORM_SECRET_DELETED
462
+ data: FormSecretBaseMessageData
463
+ }
464
+
465
+ export interface FormSecretRenamedMessage extends ManagerMessageBase {
466
+ category: AuditEventMessageCategory.FORM
467
+ type: AuditEventMessageType.FORM_SECRET_RENAMED
468
+ data: FormSecretBaseMessageData
469
+ }
470
+
459
471
  export interface FormSecretSavedMessage extends ManagerMessageBase {
460
472
  category: AuditEventMessageCategory.FORM
461
473
  type: AuditEventMessageType.FORM_SECRET_SAVED
462
- data: FormSecretSavedMessageData
474
+ data: FormSecretBaseMessageData
463
475
  }
464
476
 
465
477
  export type AuditMessage =
@@ -496,6 +508,8 @@ export type AuditMessage =
496
508
  | FormCsatExcelRequestedMessage
497
509
  | PlatformCsatExcelRequestedMessage
498
510
  | FormsBackupRequestedMessage
511
+ | FormSecretDeletedMessage
512
+ | FormSecretRenamedMessage
499
513
  | FormSecretSavedMessage
500
514
 
501
515
  export interface AuditEvent {
@@ -482,7 +482,6 @@ export const conditionWrapperSchemaV2 = Joi.object<ConditionWrapperV2>()
482
482
  })
483
483
  )
484
484
  .min(1)
485
- .max(15)
486
485
  .description('Array of conditions or condition references')
487
486
  })
488
487
  .description('Condition schema for V2 forms')
@@ -232,8 +232,13 @@ export interface FormSecret {
232
232
  */
233
233
  createdAt: Date
234
234
 
235
+ /**
236
+ * The date the secret was renamed
237
+ */
238
+ renamedAt?: Date
239
+
235
240
  /**
236
241
  * The date the secret was last updated
237
242
  */
238
- updatedAt: Date
243
+ updatedAt?: Date
239
244
  }