@defra/forms-model 3.0.523 → 3.0.525

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.
@@ -7,11 +7,11 @@ export let AuditEventMessageCategory = /*#__PURE__*/function (AuditEventMessageC
7
7
  AuditEventMessageCategory["ENTITLEMENT"] = "ENTITLEMENT";
8
8
  return AuditEventMessageCategory;
9
9
  }({});
10
- export let AuditEventMessageSubCategory = /*#__PURE__*/function (AuditEventMessageSubCategory) {
11
- AuditEventMessageSubCategory["FORM_METADATA"] = "FORM_METADATA";
12
- AuditEventMessageSubCategory["FORM_DEFINITION"] = "FORM_DEFINITION";
13
- AuditEventMessageSubCategory["FORM_SUBMISSION"] = "FORM_SUBMISSION";
14
- return AuditEventMessageSubCategory;
10
+ export let AuditEventMessageSource = /*#__PURE__*/function (AuditEventMessageSource) {
11
+ AuditEventMessageSource["FORMS_MANAGER"] = "FORMS_MANAGER";
12
+ AuditEventMessageSource["FORMS_DESIGNER"] = "FORMS_DESIGNER";
13
+ AuditEventMessageSource["ENTITLEMENT"] = "ENTITLEMENT";
14
+ return AuditEventMessageSource;
15
15
  }({});
16
16
  export let AuditEventMessageType = /*#__PURE__*/function (AuditEventMessageType) {
17
17
  AuditEventMessageType["FORM_CREATED"] = "FORM_CREATED";
@@ -36,4 +36,22 @@ export let AuditEventMessageType = /*#__PURE__*/function (AuditEventMessageType)
36
36
  AuditEventMessageType["FORM_UPDATED"] = "FORM_UPDATED";
37
37
  return AuditEventMessageType;
38
38
  }({});
39
+ export let FormDefinitionRequestType = /*#__PURE__*/function (FormDefinitionRequestType) {
40
+ FormDefinitionRequestType["REPLACE_DRAFT"] = "REPLACE_DRAFT";
41
+ FormDefinitionRequestType["CREATE_COMPONENT"] = "CREATE_COMPONENT";
42
+ FormDefinitionRequestType["UPDATE_COMPONENT"] = "UPDATE_COMPONENT";
43
+ FormDefinitionRequestType["DELETE_COMPONENT"] = "DELETE_COMPONENT";
44
+ FormDefinitionRequestType["ADD_CONDITION"] = "ADD_CONDITION";
45
+ FormDefinitionRequestType["UPDATE_CONDITION"] = "UPDATE_CONDITION";
46
+ FormDefinitionRequestType["REMOVE_CONDITION"] = "REMOVE_CONDITION";
47
+ FormDefinitionRequestType["REORDER_PAGES"] = "REORDER_PAGES";
48
+ FormDefinitionRequestType["REORDER_COMPONENTS"] = "REORDER_COMPONENTS";
49
+ FormDefinitionRequestType["ADD_LIST"] = "ADD_LIST";
50
+ FormDefinitionRequestType["UPDATE_LIST"] = "UPDATE_LIST";
51
+ FormDefinitionRequestType["REMOVE_LIST"] = "REMOVE_LIST";
52
+ FormDefinitionRequestType["CREATE_PAGE"] = "CREATE_PAGE";
53
+ FormDefinitionRequestType["UPDATE_PAGE_FIELDS"] = "UPDATE_PAGE_FIELDS";
54
+ FormDefinitionRequestType["DELETE_PAGE"] = "DELETE_PAGE";
55
+ return FormDefinitionRequestType;
56
+ }({});
39
57
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","AuditEventMessageSubCategory","AuditEventMessageType"],"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}\n\nexport enum AuditEventMessageSubCategory {\n FORM_METADATA = 'FORM_METADATA',\n FORM_DEFINITION = 'FORM_DEFINITION',\n FORM_SUBMISSION = 'FORM_SUBMISSION'\n}\n\nexport enum AuditEventMessageType {\n FORM_CREATED = 'FORM_CREATED',\n FORM_PUBLISHED = 'FORM_PUBLISHED',\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_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_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}\n"],"mappings":"AAAA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B,CAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAI1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAKrC,WAAYC,4BAA4B,0BAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA;AAMxC,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;EAAA,OAArBA,qBAAqB;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}\n\nexport enum AuditEventMessageSource {\n FORMS_MANAGER = 'FORMS_MANAGER',\n FORMS_DESIGNER = 'FORMS_DESIGNER',\n ENTITLEMENT = 'ENTITLEMENT'\n}\n\nexport enum AuditEventMessageType {\n FORM_CREATED = 'FORM_CREATED',\n FORM_PUBLISHED = 'FORM_PUBLISHED',\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_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_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}\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 ADD_CONDITION = 'ADD_CONDITION',\n UPDATE_CONDITION = 'UPDATE_CONDITION',\n REMOVE_CONDITION = 'REMOVE_CONDITION',\n REORDER_PAGES = 'REORDER_PAGES',\n REORDER_COMPONENTS = 'REORDER_COMPONENTS',\n ADD_LIST = 'ADD_LIST',\n UPDATE_LIST = 'UPDATE_LIST',\n REMOVE_LIST = 'REMOVE_LIST',\n CREATE_PAGE = 'CREATE_PAGE',\n UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',\n DELETE_PAGE = 'DELETE_PAGE'\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;EAAA,OAAzBA,yBAAyB;AAAA;AAKrC,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAMnC,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;EAAA,OAArBA,qBAAqB;AAAA;AAuBjC,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;EAAA,OAAzBA,yBAAyB;AAAA","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import Joi from 'joi';
2
- import { Operation } from 'json-diff-ts';
3
- import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageType } from "./enums.js";
2
+ import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageSource, AuditEventMessageType, FormDefinitionRequestType } from "./enums.js";
4
3
  import { contactSchema } from "../form-metadata/index.js";
5
4
  export const formMessageDataBase = Joi.object({
6
5
  formId: Joi.string().required(),
7
- slug: Joi.string().required()
6
+ slug: Joi.string().required(),
7
+ payload: Joi.object().optional()
8
8
  });
9
9
  export const formCreatedMessageData = formMessageDataBase.append({
10
10
  title: Joi.string().required(),
@@ -12,17 +12,15 @@ export const formCreatedMessageData = formMessageDataBase.append({
12
12
  teamName: Joi.string().required(),
13
13
  teamEmail: Joi.string().required()
14
14
  });
15
- const allowedOperations = [Operation.ADD, Operation.REMOVE, Operation.UPDATE];
16
- export const formChangeSet = Joi.array().items(Joi.object().keys({
17
- type: Joi.string().valid(...allowedOperations).required(),
18
- key: Joi.string().required(),
19
- embeddedKey: Joi.string().optional(),
20
- value: Joi.any().optional(),
21
- oldValue: Joi.any().optional(),
22
- changes: Joi.array().items(Joi.link('#formChangeSet')).optional()
23
- }).id('formChangeSet'));
15
+ export const formDefinitionS3Meta = Joi.object().keys({
16
+ fileId: Joi.string().required(),
17
+ filename: Joi.string().required(),
18
+ s3Key: Joi.string().required()
19
+ });
20
+ const allowedDefinitionRequestTypes = [FormDefinitionRequestType.CREATE_COMPONENT, FormDefinitionRequestType.UPDATE_COMPONENT, FormDefinitionRequestType.DELETE_COMPONENT, FormDefinitionRequestType.ADD_CONDITION, FormDefinitionRequestType.UPDATE_CONDITION, FormDefinitionRequestType.REMOVE_CONDITION, FormDefinitionRequestType.REORDER_PAGES, FormDefinitionRequestType.REORDER_COMPONENTS, FormDefinitionRequestType.ADD_LIST, FormDefinitionRequestType.UPDATE_LIST, FormDefinitionRequestType.REMOVE_LIST, FormDefinitionRequestType.CREATE_PAGE, FormDefinitionRequestType.UPDATE_PAGE_FIELDS, FormDefinitionRequestType.DELETE_PAGE];
24
21
  export const formUpdatedMessageData = formMessageDataBase.append({
25
- changeSet: formChangeSet.required()
22
+ requestType: Joi.string().valid(...allowedDefinitionRequestTypes).required(),
23
+ s3Meta: formDefinitionS3Meta
26
24
  });
27
25
  export const formTitleChanges = Joi.object().keys({
28
26
  title: Joi.string().required()
@@ -46,6 +44,10 @@ export const formSupportOnlineChanges = Joi.object().keys({
46
44
  url: Joi.string().required(),
47
45
  text: Joi.string().required()
48
46
  }).required();
47
+ export const formSupportEmailChanges = Joi.object().keys({
48
+ address: Joi.string().email().required(),
49
+ responseTime: Joi.string().required()
50
+ });
49
51
  export const formPrivacyNoticeChanges = Joi.object().keys({
50
52
  privacyNoticeUrl: Joi.string()
51
53
  }).required();
@@ -58,9 +60,9 @@ export const formSubmissionGuidanceChanges = Joi.object().keys({
58
60
  export const formUploadedChanges = Joi.object().keys({
59
61
  value: Joi.string().required()
60
62
  }).required();
61
- export const formSupportEmailChanges = Joi.object().keys({
62
- address: Joi.string().email().required(),
63
- responseTime: Joi.string().required()
63
+ export const auditUserSchema = Joi.object().keys({
64
+ id: Joi.string().uuid().required(),
65
+ displayName: Joi.string().required()
64
66
  });
65
67
  export function formChangesMessageData(schema) {
66
68
  return formMessageDataBase.append({
@@ -70,18 +72,17 @@ export function formChangesMessageData(schema) {
70
72
  })
71
73
  });
72
74
  }
73
- export const auditUserSchema = Joi.object().keys({
74
- id: Joi.string().uuid().required(),
75
- displayName: Joi.string().required()
76
- });
77
75
  export const validCategories = [AuditEventMessageCategory.FORM, AuditEventMessageCategory.ENTITLEMENT];
78
- export const validTypes = [AuditEventMessageType.FORM_CREATED, AuditEventMessageType.FORM_PUBLISHED, AuditEventMessageType.FORM_TITLE_UPDATED, AuditEventMessageType.FORM_ORGANISATION_UPDATED, AuditEventMessageType.FORM_TEAM_NAME_UPDATED, AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED, AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED, AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED, AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED, AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED, AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED, AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED, AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED, AuditEventMessageType.FORM_UPDATED, AuditEventMessageType.FORM_JSON_UPLOADED, AuditEventMessageType.FORM_JSON_DOWNLOADED, AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE, AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT, AuditEventMessageType.FORM_DRAFT_DELETED, AuditEventMessageType.FORM_MIGRATED];
76
+ export const validTypes = [AuditEventMessageType.FORM_CREATED, AuditEventMessageType.FORM_PUBLISHED, AuditEventMessageType.FORM_TITLE_UPDATED, AuditEventMessageType.FORM_ORGANISATION_UPDATED, AuditEventMessageType.FORM_TEAM_NAME_UPDATED, AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED, AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED, AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED, AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED, AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED, AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED, AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED, AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED, AuditEventMessageType.FORM_JSON_UPLOADED, AuditEventMessageType.FORM_JSON_DOWNLOADED, AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE, AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT, AuditEventMessageType.FORM_DRAFT_DELETED, AuditEventMessageType.FORM_MIGRATED, AuditEventMessageType.FORM_UPDATED];
79
77
  export const validMessageSchemaVersions = [AuditEventMessageSchemaVersion.V1];
78
+ export const validMessageSource = [AuditEventMessageSource.FORMS_MANAGER, AuditEventMessageSource.FORMS_DESIGNER, AuditEventMessageSource.ENTITLEMENT];
80
79
  export const messageSchema = Joi.object().keys({
81
- entityId: Joi.string().required(),
82
80
  schemaVersion: Joi.string().valid(...validMessageSchemaVersions).required(),
83
- type: Joi.string().valid(...validTypes),
84
81
  category: Joi.string().valid(...validCategories).required(),
82
+ source: Joi.string().valid(...validMessageSource).required(),
83
+ type: Joi.string().valid(...validTypes),
84
+ entityId: Joi.string().required(),
85
+ traceId: Joi.string().optional(),
85
86
  createdAt: Joi.date().required(),
86
87
  createdBy: auditUserSchema.required(),
87
88
  data: Joi.when('type', {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Joi","Operation","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageType","contactSchema","formMessageDataBase","object","formId","string","required","slug","formCreatedMessageData","append","title","organisation","teamName","teamEmail","allowedOperations","ADD","REMOVE","UPDATE","formChangeSet","array","items","keys","type","valid","key","embeddedKey","optional","value","any","oldValue","changes","link","id","formUpdatedMessageData","changeSet","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formPrivacyNoticeChanges","privacyNoticeUrl","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","formSupportEmailChanges","address","email","responseTime","formChangesMessageData","schema","previous","new","auditUserSchema","uuid","displayName","validCategories","FORM","ENTITLEMENT","validTypes","FORM_CREATED","FORM_PUBLISHED","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_NOTIFICATION_EMAIL_UPDATED","FORM_SUBMISSION_GUIDANCE_UPDATED","FORM_UPDATED","FORM_JSON_UPLOADED","FORM_JSON_DOWNLOADED","FORM_DRAFT_CREATED_FROM_LIVE","FORM_LIVE_CREATED_FROM_DRAFT","FORM_DRAFT_DELETED","FORM_MIGRATED","validMessageSchemaVersions","V1","messageSchema","entityId","schemaVersion","category","createdAt","date","createdBy","data","when","switch","is","trim","then","messageCreatedAt","auditEvent","message","auditRecord","messageId","recordCreatedAt"],"sources":["../../../../src/form/form-audit/index.ts"],"sourcesContent":["import Joi, { type ObjectSchema } from 'joi'\nimport { Operation } from 'json-diff-ts'\n\nimport {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\n AuditEventMessageType\n} from '~/src/form/form-audit/enums.js'\nimport {\n type AuditEvent,\n type AuditMessage,\n type AuditRecord,\n type AuditUser,\n type ChangesMessageData,\n type FormChangeSet,\n type FormCreatedMessageData,\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 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 FormTitleChanges,\n type FormTitleUpdatedMessageData,\n type FormUpdatedMessageData,\n type FormUploadedChanges,\n type FormUploadedMessageData\n} from '~/src/form/form-audit/types.js'\nimport { contactSchema } from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: Joi.string().required(),\n slug: Joi.string().required()\n})\n\nexport const formCreatedMessageData =\n formMessageDataBase.append<FormCreatedMessageData>({\n title: Joi.string().required(),\n organisation: Joi.string().required(),\n teamName: Joi.string().required(),\n teamEmail: Joi.string().required()\n })\n\nconst allowedOperations = [Operation.ADD, Operation.REMOVE, Operation.UPDATE]\n\nexport const formChangeSet = Joi.array().items(\n Joi.object<FormChangeSet>()\n .keys({\n type: Joi.string()\n .valid(...allowedOperations)\n .required(),\n key: Joi.string().required(),\n embeddedKey: Joi.string().optional(),\n value: Joi.any().optional(),\n oldValue: Joi.any().optional(),\n changes: Joi.array().items(Joi.link('#formChangeSet')).optional()\n })\n .id('formChangeSet')\n)\n\nexport const formUpdatedMessageData =\n formMessageDataBase.append<FormUpdatedMessageData>({\n changeSet: formChangeSet.required()\n })\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: Joi.string().required()\n })\n .required()\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: Joi.string().required()\n })\n .required()\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: Joi.string().required()\n })\n .required()\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: Joi.string().required()\n })\n .required()\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: Joi.string().required()\n })\n .required()\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: Joi.string().required(),\n text: Joi.string().required()\n })\n .required()\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeUrl: Joi.string()\n })\n .required()\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: Joi.string()\n })\n .required()\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: Joi.string()\n })\n .required()\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n\nexport const formSupportEmailChanges =\n Joi.object<FormSupportEmailChanges>().keys({\n address: Joi.string().email().required(),\n responseTime: Joi.string().required()\n })\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>>().keys({\n previous: schema,\n new: schema\n })\n })\n}\n\nexport const auditUserSchema = Joi.object<AuditUser>().keys({\n id: Joi.string().uuid().required(),\n displayName: Joi.string().required()\n})\n\nexport const validCategories = [\n AuditEventMessageCategory.FORM,\n AuditEventMessageCategory.ENTITLEMENT\n]\n\nexport const validTypes = [\n AuditEventMessageType.FORM_CREATED,\n AuditEventMessageType.FORM_PUBLISHED,\n AuditEventMessageType.FORM_TITLE_UPDATED,\n AuditEventMessageType.FORM_ORGANISATION_UPDATED,\n AuditEventMessageType.FORM_TEAM_NAME_UPDATED,\n AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED,\n AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED,\n AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED,\n AuditEventMessageType.FORM_UPDATED,\n AuditEventMessageType.FORM_JSON_UPLOADED,\n AuditEventMessageType.FORM_JSON_DOWNLOADED,\n AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE,\n AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT,\n AuditEventMessageType.FORM_DRAFT_DELETED,\n AuditEventMessageType.FORM_MIGRATED\n]\n\nexport const validMessageSchemaVersions = [AuditEventMessageSchemaVersion.V1]\n\nexport const messageSchema = Joi.object<AuditMessage>().keys({\n entityId: Joi.string().required(),\n schemaVersion: Joi.string()\n .valid(...validMessageSchemaVersions)\n .required(),\n type: Joi.string().valid(...validTypes),\n category: Joi.string()\n .valid(...validCategories)\n .required(),\n createdAt: Joi.date().required(),\n createdBy: auditUserSchema.required(),\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().trim().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_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().trim().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 }),\n messageCreatedAt: Joi.date().required()\n})\n\nexport const auditEvent = Joi.object<AuditEvent>().keys({\n message: messageSchema\n})\n\nexport const auditRecord = messageSchema.append<AuditRecord>({\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Joi","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType","contactSchema","formMessageDataBase","object","formId","string","required","slug","payload","optional","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","filename","s3Key","allowedDefinitionRequestTypes","CREATE_COMPONENT","UPDATE_COMPONENT","DELETE_COMPONENT","ADD_CONDITION","UPDATE_CONDITION","REMOVE_CONDITION","REORDER_PAGES","REORDER_COMPONENTS","ADD_LIST","UPDATE_LIST","REMOVE_LIST","CREATE_PAGE","UPDATE_PAGE_FIELDS","DELETE_PAGE","formUpdatedMessageData","requestType","valid","s3Meta","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formSupportEmailChanges","address","email","responseTime","formPrivacyNoticeChanges","privacyNoticeUrl","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","auditUserSchema","id","uuid","displayName","formChangesMessageData","schema","changes","previous","new","validCategories","FORM","ENTITLEMENT","validTypes","FORM_CREATED","FORM_PUBLISHED","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_NOTIFICATION_EMAIL_UPDATED","FORM_SUBMISSION_GUIDANCE_UPDATED","FORM_JSON_UPLOADED","FORM_JSON_DOWNLOADED","FORM_DRAFT_CREATED_FROM_LIVE","FORM_LIVE_CREATED_FROM_DRAFT","FORM_DRAFT_DELETED","FORM_MIGRATED","FORM_UPDATED","validMessageSchemaVersions","V1","validMessageSource","FORMS_MANAGER","FORMS_DESIGNER","messageSchema","schemaVersion","category","source","type","entityId","traceId","createdAt","date","createdBy","data","when","switch","is","trim","then","messageCreatedAt","auditEvent","message","auditRecord","messageId","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 ChangesMessageData,\n type FormCreatedMessageData,\n type FormDefinitionS3Meta,\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 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 FormTitleChanges,\n type FormTitleUpdatedMessageData,\n type FormUpdatedMessageData,\n type FormUploadedChanges,\n type FormUploadedMessageData\n} from '~/src/form/form-audit/types.js'\nimport { contactSchema } from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: Joi.string().required(),\n slug: Joi.string().required(),\n payload: Joi.object().optional()\n})\n\nexport const formCreatedMessageData =\n formMessageDataBase.append<FormCreatedMessageData>({\n title: Joi.string().required(),\n organisation: Joi.string().required(),\n teamName: Joi.string().required(),\n teamEmail: Joi.string().required()\n })\n\nexport const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>().keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n s3Key: Joi.string().required()\n})\n\nconst allowedDefinitionRequestTypes = [\n FormDefinitionRequestType.CREATE_COMPONENT,\n FormDefinitionRequestType.UPDATE_COMPONENT,\n FormDefinitionRequestType.DELETE_COMPONENT,\n FormDefinitionRequestType.ADD_CONDITION,\n FormDefinitionRequestType.UPDATE_CONDITION,\n FormDefinitionRequestType.REMOVE_CONDITION,\n FormDefinitionRequestType.REORDER_PAGES,\n FormDefinitionRequestType.REORDER_COMPONENTS,\n FormDefinitionRequestType.ADD_LIST,\n FormDefinitionRequestType.UPDATE_LIST,\n FormDefinitionRequestType.REMOVE_LIST,\n FormDefinitionRequestType.CREATE_PAGE,\n FormDefinitionRequestType.UPDATE_PAGE_FIELDS,\n FormDefinitionRequestType.DELETE_PAGE\n]\n\nexport const formUpdatedMessageData =\n formMessageDataBase.append<FormUpdatedMessageData>({\n requestType: Joi.string()\n .valid(...allowedDefinitionRequestTypes)\n .required(),\n s3Meta: formDefinitionS3Meta\n })\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: Joi.string().required()\n })\n .required()\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: Joi.string().required()\n })\n .required()\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: Joi.string().required()\n })\n .required()\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: Joi.string().required()\n })\n .required()\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: Joi.string().required()\n })\n .required()\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: Joi.string().required(),\n text: Joi.string().required()\n })\n .required()\n\nexport const formSupportEmailChanges =\n Joi.object<FormSupportEmailChanges>().keys({\n address: Joi.string().email().required(),\n responseTime: Joi.string().required()\n })\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeUrl: Joi.string()\n })\n .required()\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: Joi.string()\n })\n .required()\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: Joi.string()\n })\n .required()\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n\nexport const auditUserSchema = Joi.object<AuditUser>().keys({\n id: Joi.string().uuid().required(),\n displayName: Joi.string().required()\n})\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>>().keys({\n previous: schema,\n new: schema\n })\n })\n}\n\nexport const validCategories = [\n AuditEventMessageCategory.FORM,\n AuditEventMessageCategory.ENTITLEMENT\n]\n\nexport const validTypes = [\n AuditEventMessageType.FORM_CREATED,\n AuditEventMessageType.FORM_PUBLISHED,\n AuditEventMessageType.FORM_TITLE_UPDATED,\n AuditEventMessageType.FORM_ORGANISATION_UPDATED,\n AuditEventMessageType.FORM_TEAM_NAME_UPDATED,\n AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED,\n AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED,\n AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED,\n AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED,\n AuditEventMessageType.FORM_JSON_UPLOADED,\n AuditEventMessageType.FORM_JSON_DOWNLOADED,\n AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE,\n AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT,\n AuditEventMessageType.FORM_DRAFT_DELETED,\n AuditEventMessageType.FORM_MIGRATED,\n AuditEventMessageType.FORM_UPDATED\n]\n\nexport const validMessageSchemaVersions = [AuditEventMessageSchemaVersion.V1]\nexport const validMessageSource = [\n AuditEventMessageSource.FORMS_MANAGER,\n AuditEventMessageSource.FORMS_DESIGNER,\n AuditEventMessageSource.ENTITLEMENT\n]\n\nexport const messageSchema = Joi.object<AuditMessage>().keys({\n schemaVersion: Joi.string()\n .valid(...validMessageSchemaVersions)\n .required(),\n category: Joi.string()\n .valid(...validCategories)\n .required(),\n source: Joi.string()\n .valid(...validMessageSource)\n .required(),\n type: Joi.string().valid(...validTypes),\n entityId: Joi.string().required(),\n traceId: Joi.string().optional(),\n createdAt: Joi.date().required(),\n createdBy: auditUserSchema.required(),\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().trim().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_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().trim().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 }),\n messageCreatedAt: Joi.date().required()\n})\n\nexport const auditEvent = Joi.object<AuditEvent>().keys({\n message: messageSchema\n})\n\nexport const auditRecord = messageSchema.append<AuditRecord>({\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n})\n"],"mappings":"AAAA,OAAOA,GAAG,MAA6B,KAAK;AAE5C,SACEC,yBAAyB,EACzBC,8BAA8B,EAC9BC,uBAAuB,EACvBC,qBAAqB,EACrBC,yBAAyB;AAsC3B,SAASC,aAAa;AAEtB,OAAO,MAAMC,mBAAmB,GAAGP,GAAG,CAACQ,MAAM,CAAsB;EACjEC,MAAM,EAAET,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC/BC,IAAI,EAAEZ,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7BE,OAAO,EAAEb,GAAG,CAACQ,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;AACjC,CAAC,CAAC;AAEF,OAAO,MAAMC,sBAAsB,GACjCR,mBAAmB,CAACS,MAAM,CAAyB;EACjDC,KAAK,EAAEjB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC9BO,YAAY,EAAElB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACrCQ,QAAQ,EAAEnB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjCS,SAAS,EAAEpB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACnC,CAAC,CAAC;AAEJ,OAAO,MAAMU,oBAAoB,GAAGrB,GAAG,CAACQ,MAAM,CAAuB,CAAC,CAACc,IAAI,CAAC;EAC1EC,MAAM,EAAEvB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC/Ba,QAAQ,EAAExB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjCc,KAAK,EAAEzB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAMe,6BAA6B,GAAG,CACpCrB,yBAAyB,CAACsB,gBAAgB,EAC1CtB,yBAAyB,CAACuB,gBAAgB,EAC1CvB,yBAAyB,CAACwB,gBAAgB,EAC1CxB,yBAAyB,CAACyB,aAAa,EACvCzB,yBAAyB,CAAC0B,gBAAgB,EAC1C1B,yBAAyB,CAAC2B,gBAAgB,EAC1C3B,yBAAyB,CAAC4B,aAAa,EACvC5B,yBAAyB,CAAC6B,kBAAkB,EAC5C7B,yBAAyB,CAAC8B,QAAQ,EAClC9B,yBAAyB,CAAC+B,WAAW,EACrC/B,yBAAyB,CAACgC,WAAW,EACrChC,yBAAyB,CAACiC,WAAW,EACrCjC,yBAAyB,CAACkC,kBAAkB,EAC5ClC,yBAAyB,CAACmC,WAAW,CACtC;AAED,OAAO,MAAMC,sBAAsB,GACjClC,mBAAmB,CAACS,MAAM,CAAyB;EACjD0B,WAAW,EAAE1C,GAAG,CAACU,MAAM,CAAC,CAAC,CACtBiC,KAAK,CAAC,GAAGjB,6BAA6B,CAAC,CACvCf,QAAQ,CAAC,CAAC;EACbiC,MAAM,EAAEvB;AACV,CAAC,CAAC;AAEJ,OAAO,MAAMwB,gBAAgB,GAAG7C,GAAG,CAACQ,MAAM,CAAmB,CAAC,CAC3Dc,IAAI,CAAC;EACJL,KAAK,EAAEjB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC/B,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMmC,uBAAuB,GAAG9C,GAAG,CAACQ,MAAM,CAA0B,CAAC,CACzEc,IAAI,CAAC;EACJJ,YAAY,EAAElB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACtC,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMoC,mBAAmB,GAAG/C,GAAG,CAACQ,MAAM,CAAsB,CAAC,CACjEc,IAAI,CAAC;EACJH,QAAQ,EAAEnB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAClC,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMqC,oBAAoB,GAAGhD,GAAG,CAACQ,MAAM,CAAuB,CAAC,CACnEc,IAAI,CAAC;EACJF,SAAS,EAAEpB,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACnC,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMsC,yBAAyB,GAAGjD,GAAG,CAACQ,MAAM,CAA4B,CAAC,CAC7Ec,IAAI,CAAC;EACJ4B,OAAO,EAAE5C;AACX,CAAC,CAAC,CACDK,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMwC,uBAAuB,GAAGnD,GAAG,CAACQ,MAAM,CAA0B,CAAC,CACzEc,IAAI,CAAC;EACJ8B,KAAK,EAAEpD,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC/B,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAM0C,wBAAwB,GAAGrD,GAAG,CAACQ,MAAM,CAA2B,CAAC,CAC3Ec,IAAI,CAAC;EACJgC,GAAG,EAAEtD,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC5B4C,IAAI,EAAEvD,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC9B,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAM6C,uBAAuB,GAClCxD,GAAG,CAACQ,MAAM,CAA0B,CAAC,CAACc,IAAI,CAAC;EACzCmC,OAAO,EAAEzD,GAAG,CAACU,MAAM,CAAC,CAAC,CAACgD,KAAK,CAAC,CAAC,CAAC/C,QAAQ,CAAC,CAAC;EACxCgD,YAAY,EAAE3D,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACtC,CAAC,CAAC;AAEJ,OAAO,MAAMiD,wBAAwB,GAAG5D,GAAG,CAACQ,MAAM,CAA2B,CAAC,CAC3Ec,IAAI,CAAC;EACJuC,gBAAgB,EAAE7D,GAAG,CAACU,MAAM,CAAC;AAC/B,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMmD,4BAA4B,GACvC9D,GAAG,CAACQ,MAAM,CAA+B,CAAC,CACvCc,IAAI,CAAC;EACJyC,iBAAiB,EAAE/D,GAAG,CAACU,MAAM,CAAC;AAChC,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;AAEf,OAAO,MAAMqD,6BAA6B,GACxChE,GAAG,CAACQ,MAAM,CAAgC,CAAC,CACxCc,IAAI,CAAC;EACJ2C,kBAAkB,EAAEjE,GAAG,CAACU,MAAM,CAAC;AACjC,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;AAEf,OAAO,MAAMuD,mBAAmB,GAAGlE,GAAG,CAACQ,MAAM,CAAsB,CAAC,CACjEc,IAAI,CAAC;EACJ6C,KAAK,EAAEnE,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC/B,CAAC,CAAC,CACDA,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMyD,eAAe,GAAGpE,GAAG,CAACQ,MAAM,CAAY,CAAC,CAACc,IAAI,CAAC;EAC1D+C,EAAE,EAAErE,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC4D,IAAI,CAAC,CAAC,CAAC3D,QAAQ,CAAC,CAAC;EAClC4D,WAAW,EAAEvE,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AACrC,CAAC,CAAC;AAEF,OAAO,SAAS6D,sBAAsBA,CACpCC,MAAuB,EACN;EACjB,OAAOlE,mBAAmB,CAACS,MAAM,CAAI;IACnC0D,OAAO,EAAE1E,GAAG,CAACQ,MAAM,CAAwB,CAAC,CAACc,IAAI,CAAC;MAChDqD,QAAQ,EAAEF,MAAM;MAChBG,GAAG,EAAEH;IACP,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMI,eAAe,GAAG,CAC7B5E,yBAAyB,CAAC6E,IAAI,EAC9B7E,yBAAyB,CAAC8E,WAAW,CACtC;AAED,OAAO,MAAMC,UAAU,GAAG,CACxB5E,qBAAqB,CAAC6E,YAAY,EAClC7E,qBAAqB,CAAC8E,cAAc,EACpC9E,qBAAqB,CAAC+E,kBAAkB,EACxC/E,qBAAqB,CAACgF,yBAAyB,EAC/ChF,qBAAqB,CAACiF,sBAAsB,EAC5CjF,qBAAqB,CAACkF,uBAAuB,EAC7ClF,qBAAqB,CAACmF,4BAA4B,EAClDnF,qBAAqB,CAACoF,0BAA0B,EAChDpF,qBAAqB,CAACqF,0BAA0B,EAChDrF,qBAAqB,CAACsF,2BAA2B,EACjDtF,qBAAqB,CAACuF,2BAA2B,EACjDvF,qBAAqB,CAACwF,+BAA+B,EACrDxF,qBAAqB,CAACyF,gCAAgC,EACtDzF,qBAAqB,CAAC0F,kBAAkB,EACxC1F,qBAAqB,CAAC2F,oBAAoB,EAC1C3F,qBAAqB,CAAC4F,4BAA4B,EAClD5F,qBAAqB,CAAC6F,4BAA4B,EAClD7F,qBAAqB,CAAC8F,kBAAkB,EACxC9F,qBAAqB,CAAC+F,aAAa,EACnC/F,qBAAqB,CAACgG,YAAY,CACnC;AAED,OAAO,MAAMC,0BAA0B,GAAG,CAACnG,8BAA8B,CAACoG,EAAE,CAAC;AAC7E,OAAO,MAAMC,kBAAkB,GAAG,CAChCpG,uBAAuB,CAACqG,aAAa,EACrCrG,uBAAuB,CAACsG,cAAc,EACtCtG,uBAAuB,CAAC4E,WAAW,CACpC;AAED,OAAO,MAAM2B,aAAa,GAAG1G,GAAG,CAACQ,MAAM,CAAe,CAAC,CAACc,IAAI,CAAC;EAC3DqF,aAAa,EAAE3G,GAAG,CAACU,MAAM,CAAC,CAAC,CACxBiC,KAAK,CAAC,GAAG0D,0BAA0B,CAAC,CACpC1F,QAAQ,CAAC,CAAC;EACbiG,QAAQ,EAAE5G,GAAG,CAACU,MAAM,CAAC,CAAC,CACnBiC,KAAK,CAAC,GAAGkC,eAAe,CAAC,CACzBlE,QAAQ,CAAC,CAAC;EACbkG,MAAM,EAAE7G,GAAG,CAACU,MAAM,CAAC,CAAC,CACjBiC,KAAK,CAAC,GAAG4D,kBAAkB,CAAC,CAC5B5F,QAAQ,CAAC,CAAC;EACbmG,IAAI,EAAE9G,GAAG,CAACU,MAAM,CAAC,CAAC,CAACiC,KAAK,CAAC,GAAGqC,UAAU,CAAC;EACvC+B,QAAQ,EAAE/G,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjCqG,OAAO,EAAEhH,GAAG,CAACU,MAAM,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;EAChCmG,SAAS,EAAEjH,GAAG,CAACkH,IAAI,CAAC,CAAC,CAACvG,QAAQ,CAAC,CAAC;EAChCwG,SAAS,EAAE/C,eAAe,CAACzD,QAAQ,CAAC,CAAC;EACrCyG,IAAI,EAAEpH,GAAG,CAACqH,IAAI,CAAC,MAAM,EAAE;IACrBC,MAAM,EAAE,CACN;MACEC,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC8G,IAAI,CAAC,CAAC,CAAC7E,KAAK,CAACvC,qBAAqB,CAAC6E,YAAY,CAAC;MACjEwC,IAAI,EAAE1G;IACR,CAAC,EACD;MACEwG,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC8G,IAAI,CAAC,CAAC,CAAC7E,KAAK,CAACvC,qBAAqB,CAAC+E,kBAAkB,CAAC;MACvEsC,IAAI,EAAEjD,sBAAsB,CAG1B3B,gBAAgB;IACpB,CAAC,EACD;MACE0E,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACgF,yBAAyB,CAAC;MACzDqC,IAAI,EAAEjD,sBAAsB,CAG1B1B,uBAAuB;IAC3B,CAAC,EACD;MACEyE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACiF,sBAAsB,CAAC;MACtDoC,IAAI,EAAEjD,sBAAsB,CAG1BzB,mBAAmB;IACvB,CAAC,EACD;MACEwE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACkF,uBAAuB,CAAC;MACvDmC,IAAI,EAAEjD,sBAAsB,CAG1BxB,oBAAoB;IACxB,CAAC,EACD;MACEuE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACmF,4BAA4B,CAAC;MAC5DkC,IAAI,EAAEjD,sBAAsB,CAG1BvB,yBAAyB;IAC7B,CAAC,EACD;MACEsE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACoF,0BAA0B,CAAC;MAC1DiC,IAAI,EAAEjD,sBAAsB,CAG1BrB,uBAAuB;IAC3B,CAAC,EACD;MACEoE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACqF,0BAA0B,CAAC;MAC1DgC,IAAI,EAAEjD,sBAAsB,CAG1BhB,uBAAuB;IAC3B,CAAC,EACD;MACE+D,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACsF,2BAA2B,CAAC;MAC3D+B,IAAI,EAAEjD,sBAAsB,CAG1BnB,wBAAwB;IAC5B,CAAC,EACD;MACEkE,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACuF,2BAA2B,CAAC;MAC3D8B,IAAI,EAAEjD,sBAAsB,CAG1BZ,wBAAwB;IAC5B,CAAC,EACD;MACE2D,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACwF,+BAA+B,CAAC;MAC/D6B,IAAI,EAAEjD,sBAAsB,CAG1BV,4BAA4B;IAChC,CAAC,EACD;MACEyD,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CACb8G,IAAI,CAAC,CAAC,CACN7E,KAAK,CAACvC,qBAAqB,CAACyF,gCAAgC,CAAC;MAChE4B,IAAI,EAAEjD,sBAAsB,CAG1BR,6BAA6B;IACjC,CAAC,EACD;MACEuD,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC8G,IAAI,CAAC,CAAC,CAAC7E,KAAK,CAACvC,qBAAqB,CAAC0F,kBAAkB,CAAC;MACvE2B,IAAI,EAAEjD,sBAAsB,CAG1BN,mBAAmB;IACvB,CAAC,EACD;MACEqD,EAAE,EAAEvH,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC8G,IAAI,CAAC,CAAC,CAAC7E,KAAK,CAACvC,qBAAqB,CAACgG,YAAY,CAAC;MACjEqB,IAAI,EAAEhF;IACR,CAAC;EAEL,CAAC,CAAC;EACFiF,gBAAgB,EAAE1H,GAAG,CAACkH,IAAI,CAAC,CAAC,CAACvG,QAAQ,CAAC;AACxC,CAAC,CAAC;AAEF,OAAO,MAAMgH,UAAU,GAAG3H,GAAG,CAACQ,MAAM,CAAa,CAAC,CAACc,IAAI,CAAC;EACtDsG,OAAO,EAAElB;AACX,CAAC,CAAC;AAEF,OAAO,MAAMmB,WAAW,GAAGnB,aAAa,CAAC1F,MAAM,CAAc;EAC3D8G,SAAS,EAAE9H,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC4D,IAAI,CAAC,CAAC,CAAC3D,QAAQ,CAAC,CAAC;EACzCoG,QAAQ,EAAE/G,GAAG,CAACU,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjCoH,eAAe,EAAE/H,GAAG,CAACkH,IAAI,CAAC,CAAC,CAACvG,QAAQ,CAAC;AACvC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-audit/types.ts"],"sourcesContent":["import { type IChange } from 'json-diff-ts'\n\nimport {\n type AuditEventMessageCategory,\n type AuditEventMessageSchemaVersion,\n type AuditEventMessageType\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}\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 privacyNoticeUrl?: string\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 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 type FormChangeSet = IChange\n\nexport interface FormUpdatedMessageData extends FormMessageDataBase {\n changeSet: FormChangeSet[]\n}\n\nexport type FormMessageChangesData =\n | FormTitleUpdatedMessageData\n | FormOrganisationUpdatedMessageData\n | FormTeamNameUpdatedMessageData\n | FormTeamEmailUpdatedMessageData\n | FormSupportContactUpdatedMessageData\n | FormSupportPhoneUpdatedMessageData\n | FormSupportEmailUpdatedMessageData\n | FormSupportOnlineUpdatedMessageData\n | FormPrivacyNoticeUpdatedMessageData\n | FormNotificationEmailUpdatedMessageData\n | FormSubmissionGuidanceUpdatedMessageData\n | FormUploadedMessageData\n\nexport type FormMessageActivitiesData =\n | FormCreatedMessageData\n | FormMessageDataBase\n\nexport type FormMessageChangeSetData = FormUpdatedMessageData\n\nexport interface AuditUser {\n id: string\n displayName: string\n}\n\nexport type MessageData =\n | FormMessageChangesData\n | FormMessageActivitiesData\n | FormMessageChangeSetData\n\nexport interface MessageBase {\n schemaVersion: AuditEventMessageSchemaVersion\n category: AuditEventMessageCategory\n type: AuditEventMessageType\n entityId: string\n createdAt: Date\n createdBy: AuditUser\n data?: MessageData\n messageCreatedAt: Date\n}\n\nexport interface FormCreatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CREATED\n data: FormCreatedMessageData\n}\n\nexport interface FormTitleUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TITLE_UPDATED\n data: FormTitleUpdatedMessageData\n}\n\nexport interface FormOrganisationUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_ORGANISATION_UPDATED\n data: FormOrganisationUpdatedMessageData\n}\n\nexport interface FormTeamNameUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED\n data: FormTeamNameUpdatedMessageData\n}\n\nexport interface FormTeamEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED\n data: FormTeamEmailUpdatedMessageData\n}\n\nexport interface FormSupportContactUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED\n data: FormSupportContactUpdatedMessageData\n}\n\nexport interface FormSupportPhoneUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED\n data: FormSupportPhoneUpdatedMessageData\n}\n\nexport interface FormSupportEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED\n data: FormSupportEmailUpdatedMessageData\n}\n\nexport interface FormSupportOnlineUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED\n data: FormSupportOnlineUpdatedMessageData\n}\n\nexport interface FormPrivacyNoticeUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED\n data: FormPrivacyNoticeUpdatedMessageData\n}\n\nexport interface FormNotificationEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED\n data: FormNotificationEmailUpdatedMessageData\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED\n data: FormSubmissionGuidanceUpdatedMessageData\n}\n\nexport interface FormUploadedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_UPLOADED\n data: FormUploadedMessageData\n}\n\nexport interface FormDownloadedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_DOWNLOADED\n}\n\nexport interface FormPublishedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PUBLISHED\n}\n\nexport interface FormDraftCreatedFromLiveMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE\n}\n\nexport interface FormLiveCreatedFromDraftMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT\n}\n\nexport interface FormDraftDeletedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_DELETED\n}\n\nexport interface FormMigratedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_MIGRATED\n}\n\nexport interface FormUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_UPDATED\n data: FormUpdatedMessageData\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 | FormNotificationEmailUpdatedMessage\n | FormSubmissionGuidanceUpdatedMessage\n | FormUploadedMessage\n | FormDownloadedMessage\n | FormPublishedMessage\n | FormDraftCreatedFromLiveMessage\n | FormLiveCreatedFromDraftMessage\n | FormDraftDeletedMessage\n | FormMigratedMessage\n | FormUpdatedMessage\n\nexport interface AuditEvent {\n message: AuditMessage\n}\n\nexport type AuditRecord = AuditMessage & {\n messageId: string\n recordCreatedAt: Date\n}\n\nexport interface MessageBody {\n Message: string\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 privacyNoticeUrl?: string\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 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 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 | FormNotificationEmailUpdatedMessageData\n | FormSubmissionGuidanceUpdatedMessageData\n | FormUploadedMessageData\n\nexport type FormMessageActivitiesData =\n | FormCreatedMessageData\n | FormMessageDataBase\n\nexport interface AuditUser {\n id: string\n displayName: string\n}\n\nexport type MessageData =\n | FormMessageChangesData\n | FormMessageActivitiesData\n | FormUpdatedMessageData\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 FormCreatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CREATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormCreatedMessageData\n}\n\nexport interface FormTitleUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TITLE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormTitleUpdatedMessageData\n}\n\nexport interface FormOrganisationUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_ORGANISATION_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormOrganisationUpdatedMessageData\n}\n\nexport interface FormTeamNameUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormTeamNameUpdatedMessageData\n}\n\nexport interface FormTeamEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormTeamEmailUpdatedMessageData\n}\n\nexport interface FormSupportContactUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormSupportContactUpdatedMessageData\n}\n\nexport interface FormSupportPhoneUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED\n source: AuditEventMessageSource.FORMS_DESIGNER\n data: FormSupportPhoneUpdatedMessageData\n}\n\nexport interface FormSupportEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_DESIGNER\n data: FormSupportEmailUpdatedMessageData\n}\n\nexport interface FormSupportOnlineUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED\n source: AuditEventMessageSource.FORMS_DESIGNER\n data: FormSupportOnlineUpdatedMessageData\n}\n\nexport interface FormPrivacyNoticeUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormPrivacyNoticeUpdatedMessageData\n}\n\nexport interface FormNotificationEmailUpdatedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormNotificationEmailUpdatedMessageData\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessage extends MessageBase {\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 MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_UPLOADED\n source: AuditEventMessageSource.FORMS_DESIGNER\n data: FormUploadedMessageData\n}\n\nexport interface FormDownloadedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n source: AuditEventMessageSource.FORMS_DESIGNER\n type: AuditEventMessageType.FORM_JSON_DOWNLOADED\n}\n\nexport interface FormPublishedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PUBLISHED\n source: AuditEventMessageSource.FORMS_MANAGER\n}\n\nexport interface FormDraftCreatedFromLiveMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE\n source: AuditEventMessageSource.FORMS_MANAGER\n}\n\nexport interface FormLiveCreatedFromDraftMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT\n source: AuditEventMessageSource.FORMS_MANAGER\n}\n\nexport interface FormDraftDeletedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_DELETED\n source: AuditEventMessageSource.FORMS_MANAGER\n}\n\nexport interface FormMigratedMessage extends MessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_MIGRATED\n source: AuditEventMessageSource.FORMS_MANAGER\n}\n\nexport type AuditMessage =\n | FormCreatedMessage\n | FormTitleUpdatedMessage\n | FormOrganisationUpdatedMessage\n | FormTeamNameUpdatedMessage\n | FormTeamEmailUpdatedMessage\n | FormSupportPhoneUpdatedMessage\n | FormSupportEmailUpdatedMessage\n | FormSupportOnlineUpdatedMessage\n | FormPrivacyNoticeUpdatedMessage\n | FormNotificationEmailUpdatedMessage\n | FormSubmissionGuidanceUpdatedMessage\n | FormUploadedMessage\n | FormDownloadedMessage\n | FormPublishedMessage\n | FormDraftCreatedFromLiveMessage\n | FormLiveCreatedFromDraftMessage\n | FormDraftDeletedMessage\n | FormMigratedMessage\n\nexport interface AuditEvent {\n message: AuditMessage\n}\n\nexport type AuditRecord = AuditMessage & {\n messageId: string\n recordCreatedAt: Date\n}\n\nexport interface MessageBody {\n Message: string\n}\n"],"mappings":"","ignoreList":[]}
@@ -5,10 +5,10 @@ export declare enum AuditEventMessageCategory {
5
5
  FORM = "FORM",
6
6
  ENTITLEMENT = "ENTITLEMENT"
7
7
  }
8
- export declare enum AuditEventMessageSubCategory {
9
- FORM_METADATA = "FORM_METADATA",
10
- FORM_DEFINITION = "FORM_DEFINITION",
11
- FORM_SUBMISSION = "FORM_SUBMISSION"
8
+ export declare enum AuditEventMessageSource {
9
+ FORMS_MANAGER = "FORMS_MANAGER",
10
+ FORMS_DESIGNER = "FORMS_DESIGNER",
11
+ ENTITLEMENT = "ENTITLEMENT"
12
12
  }
13
13
  export declare enum AuditEventMessageType {
14
14
  FORM_CREATED = "FORM_CREATED",
@@ -32,4 +32,21 @@ export declare enum AuditEventMessageType {
32
32
  FORM_MIGRATED = "FORM_MIGRATED",
33
33
  FORM_UPDATED = "FORM_UPDATED"
34
34
  }
35
+ export declare enum FormDefinitionRequestType {
36
+ REPLACE_DRAFT = "REPLACE_DRAFT",
37
+ CREATE_COMPONENT = "CREATE_COMPONENT",
38
+ UPDATE_COMPONENT = "UPDATE_COMPONENT",
39
+ DELETE_COMPONENT = "DELETE_COMPONENT",
40
+ ADD_CONDITION = "ADD_CONDITION",
41
+ UPDATE_CONDITION = "UPDATE_CONDITION",
42
+ REMOVE_CONDITION = "REMOVE_CONDITION",
43
+ REORDER_PAGES = "REORDER_PAGES",
44
+ REORDER_COMPONENTS = "REORDER_COMPONENTS",
45
+ ADD_LIST = "ADD_LIST",
46
+ UPDATE_LIST = "UPDATE_LIST",
47
+ REMOVE_LIST = "REMOVE_LIST",
48
+ CREATE_PAGE = "CREATE_PAGE",
49
+ UPDATE_PAGE_FIELDS = "UPDATE_PAGE_FIELDS",
50
+ DELETE_PAGE = "DELETE_PAGE"
51
+ }
35
52
  //# sourceMappingURL=enums.d.ts.map
@@ -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;CAC5B;AAED,oBAAY,4BAA4B;IACtC,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;CACpC;AAED,oBAAY,qBAAqB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,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,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B"}
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;CAC5B;AAED,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;CAC5B;AAED,oBAAY,qBAAqB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,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,+BAA+B,oCAAoC;IACnE,gCAAgC,qCAAqC;IACrE,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B;AAED,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;CAC5B"}
@@ -1,9 +1,9 @@
1
1
  import Joi, { type ObjectSchema } from 'joi';
2
- import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageType } from '../../form/form-audit/enums.js';
3
- import { type AuditEvent, type AuditMessage, type AuditRecord, type AuditUser, type FormCreatedMessageData, type FormMessageChangesData, type FormMessageDataBase, type FormNotificationEmailChanges, type FormOrganisationChanges, type FormPrivacyNoticeChanges, type FormSubmissionGuidanceChanges, type FormSupportContactChanges, type FormSupportEmailChanges, type FormSupportOnlineChanges, type FormSupportPhoneChanges, type FormTeamEmailChanges, type FormTeamNameChanges, type FormTitleChanges, type FormUpdatedMessageData, type FormUploadedChanges } from '../../form/form-audit/types.js';
2
+ import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageSource, AuditEventMessageType } from '../../form/form-audit/enums.js';
3
+ import { type AuditEvent, type AuditMessage, type AuditRecord, type AuditUser, type FormCreatedMessageData, type FormDefinitionS3Meta, type FormMessageChangesData, type FormMessageDataBase, type FormNotificationEmailChanges, type FormOrganisationChanges, type FormPrivacyNoticeChanges, type FormSubmissionGuidanceChanges, type FormSupportContactChanges, type FormSupportEmailChanges, type FormSupportOnlineChanges, type FormSupportPhoneChanges, type FormTeamEmailChanges, type FormTeamNameChanges, type FormTitleChanges, type FormUpdatedMessageData, type FormUploadedChanges } from '../../form/form-audit/types.js';
4
4
  export declare const formMessageDataBase: Joi.ObjectSchema<FormMessageDataBase>;
5
5
  export declare const formCreatedMessageData: Joi.ObjectSchema<FormCreatedMessageData>;
6
- export declare const formChangeSet: Joi.ArraySchema<any[]>;
6
+ export declare const formDefinitionS3Meta: Joi.ObjectSchema<FormDefinitionS3Meta>;
7
7
  export declare const formUpdatedMessageData: Joi.ObjectSchema<FormUpdatedMessageData>;
8
8
  export declare const formTitleChanges: Joi.ObjectSchema<FormTitleChanges>;
9
9
  export declare const formOrganisationChanges: Joi.ObjectSchema<FormOrganisationChanges>;
@@ -12,16 +12,17 @@ export declare const formTeamEmailChanges: Joi.ObjectSchema<FormTeamEmailChanges
12
12
  export declare const formSupportContactChanges: Joi.ObjectSchema<FormSupportContactChanges>;
13
13
  export declare const formSupportPhoneChanges: Joi.ObjectSchema<FormSupportPhoneChanges>;
14
14
  export declare const formSupportOnlineChanges: Joi.ObjectSchema<FormSupportOnlineChanges>;
15
+ export declare const formSupportEmailChanges: Joi.ObjectSchema<FormSupportEmailChanges>;
15
16
  export declare const formPrivacyNoticeChanges: Joi.ObjectSchema<FormPrivacyNoticeChanges>;
16
17
  export declare const formNotificationEmailChanges: Joi.ObjectSchema<FormNotificationEmailChanges>;
17
18
  export declare const formSubmissionGuidanceChanges: Joi.ObjectSchema<FormSubmissionGuidanceChanges>;
18
19
  export declare const formUploadedChanges: Joi.ObjectSchema<FormUploadedChanges>;
19
- export declare const formSupportEmailChanges: Joi.ObjectSchema<FormSupportEmailChanges>;
20
- export declare function formChangesMessageData<T, U extends FormMessageChangesData>(schema: ObjectSchema<T>): ObjectSchema<U>;
21
20
  export declare const auditUserSchema: Joi.ObjectSchema<AuditUser>;
21
+ export declare function formChangesMessageData<T, U extends FormMessageChangesData>(schema: ObjectSchema<T>): ObjectSchema<U>;
22
22
  export declare const validCategories: AuditEventMessageCategory[];
23
23
  export declare const validTypes: AuditEventMessageType[];
24
24
  export declare const validMessageSchemaVersions: AuditEventMessageSchemaVersion[];
25
+ export declare const validMessageSource: AuditEventMessageSource[];
25
26
  export declare const messageSchema: Joi.ObjectSchema<AuditMessage>;
26
27
  export declare const auditEvent: Joi.ObjectSchema<AuditEvent>;
27
28
  export declare const auditRecord: Joi.ObjectSchema<AuditRecord>;
@@ -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;AAG5C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EAGd,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,6BAA6B,EAElC,KAAK,yBAAyB,EAE9B,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAEzB,MAAM,gCAAgC,CAAA;AAGvC,eAAO,MAAM,mBAAmB,uCAG9B,CAAA;AAEF,eAAO,MAAM,sBAAsB,0CAM/B,CAAA;AAIJ,eAAO,MAAM,aAAa,wBAazB,CAAA;AAED,eAAO,MAAM,sBAAsB,0CAG/B,CAAA;AAEJ,eAAO,MAAM,gBAAgB,oCAIhB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIvB,CAAA;AAEb,eAAO,MAAM,mBAAmB,uCAInB,CAAA;AAEb,eAAO,MAAM,oBAAoB,wCAIpB,CAAA;AAEb,eAAO,MAAM,yBAAyB,6CAIzB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIvB,CAAA;AAEb,eAAO,MAAM,wBAAwB,4CAKxB,CAAA;AAEb,eAAO,MAAM,wBAAwB,4CAIxB,CAAA;AAEb,eAAO,MAAM,4BAA4B,gDAK1B,CAAA;AAEf,eAAO,MAAM,6BAA6B,iDAK3B,CAAA;AAEf,eAAO,MAAM,mBAAmB,uCAInB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIhC,CAAA;AAEJ,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,sBAAsB,EACxE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,CAOjB;AAED,eAAO,MAAM,eAAe,6BAG1B,CAAA;AAEF,eAAO,MAAM,eAAe,6BAG3B,CAAA;AAED,eAAO,MAAM,UAAU,yBAqBtB,CAAA;AAED,eAAO,MAAM,0BAA0B,kCAAsC,CAAA;AAE7E,eAAO,MAAM,aAAa,gCAgIxB,CAAA;AAEF,eAAO,MAAM,UAAU,8BAErB,CAAA;AAEF,eAAO,MAAM,WAAW,+BAItB,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;AAE5C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EAEjC,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,6BAA6B,EAElC,KAAK,yBAAyB,EAE9B,KAAK,uBAAuB,EAE5B,KAAK,wBAAwB,EAE7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAEzB,MAAM,gCAAgC,CAAA;AAGvC,eAAO,MAAM,mBAAmB,uCAI9B,CAAA;AAEF,eAAO,MAAM,sBAAsB,0CAM/B,CAAA;AAEJ,eAAO,MAAM,oBAAoB,wCAI/B,CAAA;AAmBF,eAAO,MAAM,sBAAsB,0CAM/B,CAAA;AAEJ,eAAO,MAAM,gBAAgB,oCAIhB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIvB,CAAA;AAEb,eAAO,MAAM,mBAAmB,uCAInB,CAAA;AAEb,eAAO,MAAM,oBAAoB,wCAIpB,CAAA;AAEb,eAAO,MAAM,yBAAyB,6CAIzB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIvB,CAAA;AAEb,eAAO,MAAM,wBAAwB,4CAKxB,CAAA;AAEb,eAAO,MAAM,uBAAuB,2CAIhC,CAAA;AAEJ,eAAO,MAAM,wBAAwB,4CAIxB,CAAA;AAEb,eAAO,MAAM,4BAA4B,gDAK1B,CAAA;AAEf,eAAO,MAAM,6BAA6B,iDAK3B,CAAA;AAEf,eAAO,MAAM,mBAAmB,uCAInB,CAAA;AAEb,eAAO,MAAM,eAAe,6BAG1B,CAAA;AAEF,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,sBAAsB,EACxE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,CAOjB;AAED,eAAO,MAAM,eAAe,6BAG3B,CAAA;AAED,eAAO,MAAM,UAAU,yBAqBtB,CAAA;AAED,eAAO,MAAM,0BAA0B,kCAAsC,CAAA;AAC7E,eAAO,MAAM,kBAAkB,2BAI9B,CAAA;AAED,eAAO,MAAM,aAAa,gCAoIxB,CAAA;AAEF,eAAO,MAAM,UAAU,8BAErB,CAAA;AAEF,eAAO,MAAM,WAAW,+BAItB,CAAA"}
@@ -1,9 +1,9 @@
1
- import { type IChange } from 'json-diff-ts';
2
- import { type AuditEventMessageCategory, type AuditEventMessageSchemaVersion, type AuditEventMessageType } from '../../form/form-audit/enums.js';
1
+ import { type AuditEventMessageCategory, type AuditEventMessageSchemaVersion, type AuditEventMessageSource, type AuditEventMessageType, type FormDefinitionRequestType } from '../../form/form-audit/enums.js';
3
2
  import { type FormMetadataContact } from '../../form/form-metadata/types.js';
4
3
  export interface FormMessageDataBase {
5
4
  formId: string;
6
5
  slug: string;
6
+ payload?: unknown;
7
7
  }
8
8
  export interface ChangesMessageData<T> {
9
9
  previous: T;
@@ -89,23 +89,29 @@ export interface FormSubmissionGuidanceUpdatedMessageData extends FormMessageDat
89
89
  export interface FormUploadedMessageData extends FormMessageDataBase {
90
90
  changes: ChangesMessageData<FormUploadedChanges>;
91
91
  }
92
- export type FormChangeSet = IChange;
92
+ export interface FormDefinitionS3Meta {
93
+ fileId: string;
94
+ filename: string;
95
+ s3Key: string;
96
+ }
93
97
  export interface FormUpdatedMessageData extends FormMessageDataBase {
94
- changeSet: FormChangeSet[];
98
+ requestType: FormDefinitionRequestType;
99
+ s3Meta?: FormDefinitionS3Meta;
95
100
  }
96
101
  export type FormMessageChangesData = FormTitleUpdatedMessageData | FormOrganisationUpdatedMessageData | FormTeamNameUpdatedMessageData | FormTeamEmailUpdatedMessageData | FormSupportContactUpdatedMessageData | FormSupportPhoneUpdatedMessageData | FormSupportEmailUpdatedMessageData | FormSupportOnlineUpdatedMessageData | FormPrivacyNoticeUpdatedMessageData | FormNotificationEmailUpdatedMessageData | FormSubmissionGuidanceUpdatedMessageData | FormUploadedMessageData;
97
102
  export type FormMessageActivitiesData = FormCreatedMessageData | FormMessageDataBase;
98
- export type FormMessageChangeSetData = FormUpdatedMessageData;
99
103
  export interface AuditUser {
100
104
  id: string;
101
105
  displayName: string;
102
106
  }
103
- export type MessageData = FormMessageChangesData | FormMessageActivitiesData | FormMessageChangeSetData;
107
+ export type MessageData = FormMessageChangesData | FormMessageActivitiesData | FormUpdatedMessageData;
104
108
  export interface MessageBase {
105
109
  schemaVersion: AuditEventMessageSchemaVersion;
106
110
  category: AuditEventMessageCategory;
111
+ source: AuditEventMessageSource;
107
112
  type: AuditEventMessageType;
108
113
  entityId: string;
114
+ traceId?: string;
109
115
  createdAt: Date;
110
116
  createdBy: AuditUser;
111
117
  data?: MessageData;
@@ -114,98 +120,112 @@ export interface MessageBase {
114
120
  export interface FormCreatedMessage extends MessageBase {
115
121
  category: AuditEventMessageCategory.FORM;
116
122
  type: AuditEventMessageType.FORM_CREATED;
123
+ source: AuditEventMessageSource.FORMS_MANAGER;
117
124
  data: FormCreatedMessageData;
118
125
  }
119
126
  export interface FormTitleUpdatedMessage extends MessageBase {
120
127
  category: AuditEventMessageCategory.FORM;
121
128
  type: AuditEventMessageType.FORM_TITLE_UPDATED;
129
+ source: AuditEventMessageSource.FORMS_MANAGER;
122
130
  data: FormTitleUpdatedMessageData;
123
131
  }
124
132
  export interface FormOrganisationUpdatedMessage extends MessageBase {
125
133
  category: AuditEventMessageCategory.FORM;
126
134
  type: AuditEventMessageType.FORM_ORGANISATION_UPDATED;
135
+ source: AuditEventMessageSource.FORMS_MANAGER;
127
136
  data: FormOrganisationUpdatedMessageData;
128
137
  }
129
138
  export interface FormTeamNameUpdatedMessage extends MessageBase {
130
139
  category: AuditEventMessageCategory.FORM;
131
140
  type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED;
141
+ source: AuditEventMessageSource.FORMS_MANAGER;
132
142
  data: FormTeamNameUpdatedMessageData;
133
143
  }
134
144
  export interface FormTeamEmailUpdatedMessage extends MessageBase {
135
145
  category: AuditEventMessageCategory.FORM;
136
146
  type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED;
147
+ source: AuditEventMessageSource.FORMS_MANAGER;
137
148
  data: FormTeamEmailUpdatedMessageData;
138
149
  }
139
150
  export interface FormSupportContactUpdatedMessage extends MessageBase {
140
151
  category: AuditEventMessageCategory.FORM;
141
152
  type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED;
153
+ source: AuditEventMessageSource.FORMS_MANAGER;
142
154
  data: FormSupportContactUpdatedMessageData;
143
155
  }
144
156
  export interface FormSupportPhoneUpdatedMessage extends MessageBase {
145
157
  category: AuditEventMessageCategory.FORM;
146
158
  type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED;
159
+ source: AuditEventMessageSource.FORMS_DESIGNER;
147
160
  data: FormSupportPhoneUpdatedMessageData;
148
161
  }
149
162
  export interface FormSupportEmailUpdatedMessage extends MessageBase {
150
163
  category: AuditEventMessageCategory.FORM;
151
164
  type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED;
165
+ source: AuditEventMessageSource.FORMS_DESIGNER;
152
166
  data: FormSupportEmailUpdatedMessageData;
153
167
  }
154
168
  export interface FormSupportOnlineUpdatedMessage extends MessageBase {
155
169
  category: AuditEventMessageCategory.FORM;
156
170
  type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED;
171
+ source: AuditEventMessageSource.FORMS_DESIGNER;
157
172
  data: FormSupportOnlineUpdatedMessageData;
158
173
  }
159
174
  export interface FormPrivacyNoticeUpdatedMessage extends MessageBase {
160
175
  category: AuditEventMessageCategory.FORM;
161
176
  type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED;
177
+ source: AuditEventMessageSource.FORMS_MANAGER;
162
178
  data: FormPrivacyNoticeUpdatedMessageData;
163
179
  }
164
180
  export interface FormNotificationEmailUpdatedMessage extends MessageBase {
165
181
  category: AuditEventMessageCategory.FORM;
166
182
  type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED;
183
+ source: AuditEventMessageSource.FORMS_MANAGER;
167
184
  data: FormNotificationEmailUpdatedMessageData;
168
185
  }
169
186
  export interface FormSubmissionGuidanceUpdatedMessage extends MessageBase {
170
187
  category: AuditEventMessageCategory.FORM;
171
188
  type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED;
189
+ source: AuditEventMessageSource.FORMS_MANAGER;
172
190
  data: FormSubmissionGuidanceUpdatedMessageData;
173
191
  }
174
192
  export interface FormUploadedMessage extends MessageBase {
175
193
  category: AuditEventMessageCategory.FORM;
176
194
  type: AuditEventMessageType.FORM_JSON_UPLOADED;
195
+ source: AuditEventMessageSource.FORMS_DESIGNER;
177
196
  data: FormUploadedMessageData;
178
197
  }
179
198
  export interface FormDownloadedMessage extends MessageBase {
180
199
  category: AuditEventMessageCategory.FORM;
200
+ source: AuditEventMessageSource.FORMS_DESIGNER;
181
201
  type: AuditEventMessageType.FORM_JSON_DOWNLOADED;
182
202
  }
183
203
  export interface FormPublishedMessage extends MessageBase {
184
204
  category: AuditEventMessageCategory.FORM;
185
205
  type: AuditEventMessageType.FORM_PUBLISHED;
206
+ source: AuditEventMessageSource.FORMS_MANAGER;
186
207
  }
187
208
  export interface FormDraftCreatedFromLiveMessage extends MessageBase {
188
209
  category: AuditEventMessageCategory.FORM;
189
210
  type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE;
211
+ source: AuditEventMessageSource.FORMS_MANAGER;
190
212
  }
191
213
  export interface FormLiveCreatedFromDraftMessage extends MessageBase {
192
214
  category: AuditEventMessageCategory.FORM;
193
215
  type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT;
216
+ source: AuditEventMessageSource.FORMS_MANAGER;
194
217
  }
195
218
  export interface FormDraftDeletedMessage extends MessageBase {
196
219
  category: AuditEventMessageCategory.FORM;
197
220
  type: AuditEventMessageType.FORM_DRAFT_DELETED;
221
+ source: AuditEventMessageSource.FORMS_MANAGER;
198
222
  }
199
223
  export interface FormMigratedMessage extends MessageBase {
200
224
  category: AuditEventMessageCategory.FORM;
201
225
  type: AuditEventMessageType.FORM_MIGRATED;
226
+ source: AuditEventMessageSource.FORMS_MANAGER;
202
227
  }
203
- export interface FormUpdatedMessage extends MessageBase {
204
- category: AuditEventMessageCategory.FORM;
205
- type: AuditEventMessageType.FORM_UPDATED;
206
- data: FormUpdatedMessageData;
207
- }
208
- export type AuditMessage = FormCreatedMessage | FormTitleUpdatedMessage | FormOrganisationUpdatedMessage | FormTeamNameUpdatedMessage | FormTeamEmailUpdatedMessage | FormSupportContactUpdatedMessage | FormSupportPhoneUpdatedMessage | FormSupportEmailUpdatedMessage | FormSupportOnlineUpdatedMessage | FormPrivacyNoticeUpdatedMessage | FormNotificationEmailUpdatedMessage | FormSubmissionGuidanceUpdatedMessage | FormUploadedMessage | FormDownloadedMessage | FormPublishedMessage | FormDraftCreatedFromLiveMessage | FormLiveCreatedFromDraftMessage | FormDraftDeletedMessage | FormMigratedMessage | FormUpdatedMessage;
228
+ export type AuditMessage = FormCreatedMessage | FormTitleUpdatedMessage | FormOrganisationUpdatedMessage | FormTeamNameUpdatedMessage | FormTeamEmailUpdatedMessage | FormSupportPhoneUpdatedMessage | FormSupportEmailUpdatedMessage | FormSupportOnlineUpdatedMessage | FormPrivacyNoticeUpdatedMessage | FormNotificationEmailUpdatedMessage | FormSubmissionGuidanceUpdatedMessage | FormUploadedMessage | FormDownloadedMessage | FormPublishedMessage | FormDraftCreatedFromLiveMessage | FormLiveCreatedFromDraftMessage | FormDraftDeletedMessage | FormMigratedMessage;
209
229
  export interface AuditEvent {
210
230
  message: AuditMessage;
211
231
  }
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.523",
3
+ "version": "3.0.525",
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",
@@ -35,7 +35,6 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@joi/date": "^2.1.1",
38
- "json-diff-ts": "^4.8.1",
39
38
  "marked": "^15.0.12",
40
39
  "nanoid": "^5.0.7",
41
40
  "slug": "^11.0.0",
@@ -7,10 +7,10 @@ export enum AuditEventMessageCategory {
7
7
  ENTITLEMENT = 'ENTITLEMENT'
8
8
  }
9
9
 
10
- export enum AuditEventMessageSubCategory {
11
- FORM_METADATA = 'FORM_METADATA',
12
- FORM_DEFINITION = 'FORM_DEFINITION',
13
- FORM_SUBMISSION = 'FORM_SUBMISSION'
10
+ export enum AuditEventMessageSource {
11
+ FORMS_MANAGER = 'FORMS_MANAGER',
12
+ FORMS_DESIGNER = 'FORMS_DESIGNER',
13
+ ENTITLEMENT = 'ENTITLEMENT'
14
14
  }
15
15
 
16
16
  export enum AuditEventMessageType {
@@ -35,3 +35,21 @@ export enum AuditEventMessageType {
35
35
  FORM_MIGRATED = 'FORM_MIGRATED',
36
36
  FORM_UPDATED = 'FORM_UPDATED'
37
37
  }
38
+
39
+ export enum FormDefinitionRequestType {
40
+ REPLACE_DRAFT = 'REPLACE_DRAFT',
41
+ CREATE_COMPONENT = 'CREATE_COMPONENT',
42
+ UPDATE_COMPONENT = 'UPDATE_COMPONENT',
43
+ DELETE_COMPONENT = 'DELETE_COMPONENT',
44
+ ADD_CONDITION = 'ADD_CONDITION',
45
+ UPDATE_CONDITION = 'UPDATE_CONDITION',
46
+ REMOVE_CONDITION = 'REMOVE_CONDITION',
47
+ REORDER_PAGES = 'REORDER_PAGES',
48
+ REORDER_COMPONENTS = 'REORDER_COMPONENTS',
49
+ ADD_LIST = 'ADD_LIST',
50
+ UPDATE_LIST = 'UPDATE_LIST',
51
+ REMOVE_LIST = 'REMOVE_LIST',
52
+ CREATE_PAGE = 'CREATE_PAGE',
53
+ UPDATE_PAGE_FIELDS = 'UPDATE_PAGE_FIELDS',
54
+ DELETE_PAGE = 'DELETE_PAGE'
55
+ }
@@ -1,10 +1,11 @@
1
1
  import Joi, { type ObjectSchema } from 'joi'
2
- import { Operation } from 'json-diff-ts'
3
2
 
4
3
  import {
5
4
  AuditEventMessageCategory,
6
5
  AuditEventMessageSchemaVersion,
7
- AuditEventMessageType
6
+ AuditEventMessageSource,
7
+ AuditEventMessageType,
8
+ FormDefinitionRequestType
8
9
  } from '~/src/form/form-audit/enums.js'
9
10
  import {
10
11
  type AuditEvent,
@@ -12,8 +13,8 @@ import {
12
13
  type AuditRecord,
13
14
  type AuditUser,
14
15
  type ChangesMessageData,
15
- type FormChangeSet,
16
16
  type FormCreatedMessageData,
17
+ type FormDefinitionS3Meta,
17
18
  type FormMessageChangesData,
18
19
  type FormMessageDataBase,
19
20
  type FormNotificationEmailChanges,
@@ -46,7 +47,8 @@ import { contactSchema } from '~/src/form/form-metadata/index.js'
46
47
 
47
48
  export const formMessageDataBase = Joi.object<FormMessageDataBase>({
48
49
  formId: Joi.string().required(),
49
- slug: Joi.string().required()
50
+ slug: Joi.string().required(),
51
+ payload: Joi.object().optional()
50
52
  })
51
53
 
52
54
  export const formCreatedMessageData =
@@ -57,26 +59,35 @@ export const formCreatedMessageData =
57
59
  teamEmail: Joi.string().required()
58
60
  })
59
61
 
60
- const allowedOperations = [Operation.ADD, Operation.REMOVE, Operation.UPDATE]
62
+ export const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>().keys({
63
+ fileId: Joi.string().required(),
64
+ filename: Joi.string().required(),
65
+ s3Key: Joi.string().required()
66
+ })
61
67
 
62
- export const formChangeSet = Joi.array().items(
63
- Joi.object<FormChangeSet>()
64
- .keys({
65
- type: Joi.string()
66
- .valid(...allowedOperations)
67
- .required(),
68
- key: Joi.string().required(),
69
- embeddedKey: Joi.string().optional(),
70
- value: Joi.any().optional(),
71
- oldValue: Joi.any().optional(),
72
- changes: Joi.array().items(Joi.link('#formChangeSet')).optional()
73
- })
74
- .id('formChangeSet')
75
- )
68
+ const allowedDefinitionRequestTypes = [
69
+ FormDefinitionRequestType.CREATE_COMPONENT,
70
+ FormDefinitionRequestType.UPDATE_COMPONENT,
71
+ FormDefinitionRequestType.DELETE_COMPONENT,
72
+ FormDefinitionRequestType.ADD_CONDITION,
73
+ FormDefinitionRequestType.UPDATE_CONDITION,
74
+ FormDefinitionRequestType.REMOVE_CONDITION,
75
+ FormDefinitionRequestType.REORDER_PAGES,
76
+ FormDefinitionRequestType.REORDER_COMPONENTS,
77
+ FormDefinitionRequestType.ADD_LIST,
78
+ FormDefinitionRequestType.UPDATE_LIST,
79
+ FormDefinitionRequestType.REMOVE_LIST,
80
+ FormDefinitionRequestType.CREATE_PAGE,
81
+ FormDefinitionRequestType.UPDATE_PAGE_FIELDS,
82
+ FormDefinitionRequestType.DELETE_PAGE
83
+ ]
76
84
 
77
85
  export const formUpdatedMessageData =
78
86
  formMessageDataBase.append<FormUpdatedMessageData>({
79
- changeSet: formChangeSet.required()
87
+ requestType: Joi.string()
88
+ .valid(...allowedDefinitionRequestTypes)
89
+ .required(),
90
+ s3Meta: formDefinitionS3Meta
80
91
  })
81
92
 
82
93
  export const formTitleChanges = Joi.object<FormTitleChanges>()
@@ -122,6 +133,12 @@ export const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()
122
133
  })
123
134
  .required()
124
135
 
136
+ export const formSupportEmailChanges =
137
+ Joi.object<FormSupportEmailChanges>().keys({
138
+ address: Joi.string().email().required(),
139
+ responseTime: Joi.string().required()
140
+ })
141
+
125
142
  export const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()
126
143
  .keys({
127
144
  privacyNoticeUrl: Joi.string()
@@ -148,11 +165,10 @@ export const formUploadedChanges = Joi.object<FormUploadedChanges>()
148
165
  })
149
166
  .required()
150
167
 
151
- export const formSupportEmailChanges =
152
- Joi.object<FormSupportEmailChanges>().keys({
153
- address: Joi.string().email().required(),
154
- responseTime: Joi.string().required()
155
- })
168
+ export const auditUserSchema = Joi.object<AuditUser>().keys({
169
+ id: Joi.string().uuid().required(),
170
+ displayName: Joi.string().required()
171
+ })
156
172
 
157
173
  export function formChangesMessageData<T, U extends FormMessageChangesData>(
158
174
  schema: ObjectSchema<T>
@@ -165,11 +181,6 @@ export function formChangesMessageData<T, U extends FormMessageChangesData>(
165
181
  })
166
182
  }
167
183
 
168
- export const auditUserSchema = Joi.object<AuditUser>().keys({
169
- id: Joi.string().uuid().required(),
170
- displayName: Joi.string().required()
171
- })
172
-
173
184
  export const validCategories = [
174
185
  AuditEventMessageCategory.FORM,
175
186
  AuditEventMessageCategory.ENTITLEMENT
@@ -189,26 +200,35 @@ export const validTypes = [
189
200
  AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED,
190
201
  AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED,
191
202
  AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED,
192
- AuditEventMessageType.FORM_UPDATED,
193
203
  AuditEventMessageType.FORM_JSON_UPLOADED,
194
204
  AuditEventMessageType.FORM_JSON_DOWNLOADED,
195
205
  AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE,
196
206
  AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT,
197
207
  AuditEventMessageType.FORM_DRAFT_DELETED,
198
- AuditEventMessageType.FORM_MIGRATED
208
+ AuditEventMessageType.FORM_MIGRATED,
209
+ AuditEventMessageType.FORM_UPDATED
199
210
  ]
200
211
 
201
212
  export const validMessageSchemaVersions = [AuditEventMessageSchemaVersion.V1]
213
+ export const validMessageSource = [
214
+ AuditEventMessageSource.FORMS_MANAGER,
215
+ AuditEventMessageSource.FORMS_DESIGNER,
216
+ AuditEventMessageSource.ENTITLEMENT
217
+ ]
202
218
 
203
219
  export const messageSchema = Joi.object<AuditMessage>().keys({
204
- entityId: Joi.string().required(),
205
220
  schemaVersion: Joi.string()
206
221
  .valid(...validMessageSchemaVersions)
207
222
  .required(),
208
- type: Joi.string().valid(...validTypes),
209
223
  category: Joi.string()
210
224
  .valid(...validCategories)
211
225
  .required(),
226
+ source: Joi.string()
227
+ .valid(...validMessageSource)
228
+ .required(),
229
+ type: Joi.string().valid(...validTypes),
230
+ entityId: Joi.string().required(),
231
+ traceId: Joi.string().optional(),
212
232
  createdAt: Joi.date().required(),
213
233
  createdBy: auditUserSchema.required(),
214
234
  data: Joi.when('type', {
@@ -1,15 +1,16 @@
1
- import { type IChange } from 'json-diff-ts'
2
-
3
1
  import {
4
2
  type AuditEventMessageCategory,
5
3
  type AuditEventMessageSchemaVersion,
6
- type AuditEventMessageType
4
+ type AuditEventMessageSource,
5
+ type AuditEventMessageType,
6
+ type FormDefinitionRequestType
7
7
  } from '~/src/form/form-audit/enums.js'
8
8
  import { type FormMetadataContact } from '~/src/form/form-metadata/types.js'
9
9
 
10
10
  export interface FormMessageDataBase {
11
11
  formId: string
12
12
  slug: string
13
+ payload?: unknown
13
14
  }
14
15
 
15
16
  export interface ChangesMessageData<T> {
@@ -130,10 +131,15 @@ export interface FormUploadedMessageData extends FormMessageDataBase {
130
131
  changes: ChangesMessageData<FormUploadedChanges>
131
132
  }
132
133
 
133
- export type FormChangeSet = IChange
134
+ export interface FormDefinitionS3Meta {
135
+ fileId: string
136
+ filename: string
137
+ s3Key: string
138
+ }
134
139
 
135
140
  export interface FormUpdatedMessageData extends FormMessageDataBase {
136
- changeSet: FormChangeSet[]
141
+ requestType: FormDefinitionRequestType
142
+ s3Meta?: FormDefinitionS3Meta
137
143
  }
138
144
 
139
145
  export type FormMessageChangesData =
@@ -154,8 +160,6 @@ export type FormMessageActivitiesData =
154
160
  | FormCreatedMessageData
155
161
  | FormMessageDataBase
156
162
 
157
- export type FormMessageChangeSetData = FormUpdatedMessageData
158
-
159
163
  export interface AuditUser {
160
164
  id: string
161
165
  displayName: string
@@ -164,13 +168,15 @@ export interface AuditUser {
164
168
  export type MessageData =
165
169
  | FormMessageChangesData
166
170
  | FormMessageActivitiesData
167
- | FormMessageChangeSetData
171
+ | FormUpdatedMessageData
168
172
 
169
173
  export interface MessageBase {
170
174
  schemaVersion: AuditEventMessageSchemaVersion
171
175
  category: AuditEventMessageCategory
176
+ source: AuditEventMessageSource
172
177
  type: AuditEventMessageType
173
178
  entityId: string
179
+ traceId?: string
174
180
  createdAt: Date
175
181
  createdBy: AuditUser
176
182
  data?: MessageData
@@ -180,115 +186,128 @@ export interface MessageBase {
180
186
  export interface FormCreatedMessage extends MessageBase {
181
187
  category: AuditEventMessageCategory.FORM
182
188
  type: AuditEventMessageType.FORM_CREATED
189
+ source: AuditEventMessageSource.FORMS_MANAGER
183
190
  data: FormCreatedMessageData
184
191
  }
185
192
 
186
193
  export interface FormTitleUpdatedMessage extends MessageBase {
187
194
  category: AuditEventMessageCategory.FORM
188
195
  type: AuditEventMessageType.FORM_TITLE_UPDATED
196
+ source: AuditEventMessageSource.FORMS_MANAGER
189
197
  data: FormTitleUpdatedMessageData
190
198
  }
191
199
 
192
200
  export interface FormOrganisationUpdatedMessage extends MessageBase {
193
201
  category: AuditEventMessageCategory.FORM
194
202
  type: AuditEventMessageType.FORM_ORGANISATION_UPDATED
203
+ source: AuditEventMessageSource.FORMS_MANAGER
195
204
  data: FormOrganisationUpdatedMessageData
196
205
  }
197
206
 
198
207
  export interface FormTeamNameUpdatedMessage extends MessageBase {
199
208
  category: AuditEventMessageCategory.FORM
200
209
  type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED
210
+ source: AuditEventMessageSource.FORMS_MANAGER
201
211
  data: FormTeamNameUpdatedMessageData
202
212
  }
203
213
 
204
214
  export interface FormTeamEmailUpdatedMessage extends MessageBase {
205
215
  category: AuditEventMessageCategory.FORM
206
216
  type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED
217
+ source: AuditEventMessageSource.FORMS_MANAGER
207
218
  data: FormTeamEmailUpdatedMessageData
208
219
  }
209
220
 
210
221
  export interface FormSupportContactUpdatedMessage extends MessageBase {
211
222
  category: AuditEventMessageCategory.FORM
212
223
  type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED
224
+ source: AuditEventMessageSource.FORMS_MANAGER
213
225
  data: FormSupportContactUpdatedMessageData
214
226
  }
215
227
 
216
228
  export interface FormSupportPhoneUpdatedMessage extends MessageBase {
217
229
  category: AuditEventMessageCategory.FORM
218
230
  type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED
231
+ source: AuditEventMessageSource.FORMS_DESIGNER
219
232
  data: FormSupportPhoneUpdatedMessageData
220
233
  }
221
234
 
222
235
  export interface FormSupportEmailUpdatedMessage extends MessageBase {
223
236
  category: AuditEventMessageCategory.FORM
224
237
  type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED
238
+ source: AuditEventMessageSource.FORMS_DESIGNER
225
239
  data: FormSupportEmailUpdatedMessageData
226
240
  }
227
241
 
228
242
  export interface FormSupportOnlineUpdatedMessage extends MessageBase {
229
243
  category: AuditEventMessageCategory.FORM
230
244
  type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED
245
+ source: AuditEventMessageSource.FORMS_DESIGNER
231
246
  data: FormSupportOnlineUpdatedMessageData
232
247
  }
233
248
 
234
249
  export interface FormPrivacyNoticeUpdatedMessage extends MessageBase {
235
250
  category: AuditEventMessageCategory.FORM
236
251
  type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED
252
+ source: AuditEventMessageSource.FORMS_MANAGER
237
253
  data: FormPrivacyNoticeUpdatedMessageData
238
254
  }
239
255
 
240
256
  export interface FormNotificationEmailUpdatedMessage extends MessageBase {
241
257
  category: AuditEventMessageCategory.FORM
242
258
  type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED
259
+ source: AuditEventMessageSource.FORMS_MANAGER
243
260
  data: FormNotificationEmailUpdatedMessageData
244
261
  }
245
262
 
246
263
  export interface FormSubmissionGuidanceUpdatedMessage extends MessageBase {
247
264
  category: AuditEventMessageCategory.FORM
248
265
  type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED
266
+ source: AuditEventMessageSource.FORMS_MANAGER
249
267
  data: FormSubmissionGuidanceUpdatedMessageData
250
268
  }
251
269
 
252
270
  export interface FormUploadedMessage extends MessageBase {
253
271
  category: AuditEventMessageCategory.FORM
254
272
  type: AuditEventMessageType.FORM_JSON_UPLOADED
273
+ source: AuditEventMessageSource.FORMS_DESIGNER
255
274
  data: FormUploadedMessageData
256
275
  }
257
276
 
258
277
  export interface FormDownloadedMessage extends MessageBase {
259
278
  category: AuditEventMessageCategory.FORM
279
+ source: AuditEventMessageSource.FORMS_DESIGNER
260
280
  type: AuditEventMessageType.FORM_JSON_DOWNLOADED
261
281
  }
262
282
 
263
283
  export interface FormPublishedMessage extends MessageBase {
264
284
  category: AuditEventMessageCategory.FORM
265
285
  type: AuditEventMessageType.FORM_PUBLISHED
286
+ source: AuditEventMessageSource.FORMS_MANAGER
266
287
  }
267
288
 
268
289
  export interface FormDraftCreatedFromLiveMessage extends MessageBase {
269
290
  category: AuditEventMessageCategory.FORM
270
291
  type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE
292
+ source: AuditEventMessageSource.FORMS_MANAGER
271
293
  }
272
294
 
273
295
  export interface FormLiveCreatedFromDraftMessage extends MessageBase {
274
296
  category: AuditEventMessageCategory.FORM
275
297
  type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT
298
+ source: AuditEventMessageSource.FORMS_MANAGER
276
299
  }
277
300
 
278
301
  export interface FormDraftDeletedMessage extends MessageBase {
279
302
  category: AuditEventMessageCategory.FORM
280
303
  type: AuditEventMessageType.FORM_DRAFT_DELETED
304
+ source: AuditEventMessageSource.FORMS_MANAGER
281
305
  }
282
306
 
283
307
  export interface FormMigratedMessage extends MessageBase {
284
308
  category: AuditEventMessageCategory.FORM
285
309
  type: AuditEventMessageType.FORM_MIGRATED
286
- }
287
-
288
- export interface FormUpdatedMessage extends MessageBase {
289
- category: AuditEventMessageCategory.FORM
290
- type: AuditEventMessageType.FORM_UPDATED
291
- data: FormUpdatedMessageData
310
+ source: AuditEventMessageSource.FORMS_MANAGER
292
311
  }
293
312
 
294
313
  export type AuditMessage =
@@ -297,7 +316,6 @@ export type AuditMessage =
297
316
  | FormOrganisationUpdatedMessage
298
317
  | FormTeamNameUpdatedMessage
299
318
  | FormTeamEmailUpdatedMessage
300
- | FormSupportContactUpdatedMessage
301
319
  | FormSupportPhoneUpdatedMessage
302
320
  | FormSupportEmailUpdatedMessage
303
321
  | FormSupportOnlineUpdatedMessage
@@ -311,7 +329,6 @@ export type AuditMessage =
311
329
  | FormLiveCreatedFromDraftMessage
312
330
  | FormDraftDeletedMessage
313
331
  | FormMigratedMessage
314
- | FormUpdatedMessage
315
332
 
316
333
  export interface AuditEvent {
317
334
  message: AuditMessage