@defra/forms-model 3.0.524 → 3.0.526
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.
- package/dist/module/form/form-audit/enums.js +6 -5
- package/dist/module/form/form-audit/enums.js.map +1 -1
- package/dist/module/form/form-audit/index.js +19 -18
- package/dist/module/form/form-audit/index.js.map +1 -1
- package/dist/module/form/form-audit/types.js.map +1 -1
- package/dist/types/form/form-audit/enums.d.ts +5 -4
- package/dist/types/form/form-audit/enums.d.ts.map +1 -1
- package/dist/types/form/form-audit/index.d.ts +5 -5
- package/dist/types/form/form-audit/index.d.ts.map +1 -1
- package/dist/types/form/form-audit/types.d.ts +36 -28
- package/dist/types/form/form-audit/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/form/form-audit/enums.ts +5 -4
- package/src/form/form-audit/index.ts +29 -24
- package/src/form/form-audit/types.ts +39 -29
@@ -7,11 +7,11 @@ export let AuditEventMessageCategory = /*#__PURE__*/function (AuditEventMessageC
|
|
7
7
|
AuditEventMessageCategory["ENTITLEMENT"] = "ENTITLEMENT";
|
8
8
|
return AuditEventMessageCategory;
|
9
9
|
}({});
|
10
|
-
export let
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
return
|
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";
|
@@ -37,6 +37,7 @@ export let AuditEventMessageType = /*#__PURE__*/function (AuditEventMessageType)
|
|
37
37
|
return AuditEventMessageType;
|
38
38
|
}({});
|
39
39
|
export let FormDefinitionRequestType = /*#__PURE__*/function (FormDefinitionRequestType) {
|
40
|
+
FormDefinitionRequestType["REPLACE_DRAFT"] = "REPLACE_DRAFT";
|
40
41
|
FormDefinitionRequestType["CREATE_COMPONENT"] = "CREATE_COMPONENT";
|
41
42
|
FormDefinitionRequestType["UPDATE_COMPONENT"] = "UPDATE_COMPONENT";
|
42
43
|
FormDefinitionRequestType["DELETE_COMPONENT"] = "DELETE_COMPONENT";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"enums.js","names":["AuditEventMessageSchemaVersion","AuditEventMessageCategory","
|
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,9 +1,10 @@
|
|
1
1
|
import Joi from 'joi';
|
2
|
-
import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageType, FormDefinitionRequestType } from "./enums.js";
|
2
|
+
import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageSource, AuditEventMessageType, FormDefinitionRequestType } from "./enums.js";
|
3
3
|
import { contactSchema } from "../form-metadata/index.js";
|
4
4
|
export const formMessageDataBase = Joi.object({
|
5
5
|
formId: Joi.string().required(),
|
6
|
-
slug: Joi.string().required()
|
6
|
+
slug: Joi.string().required(),
|
7
|
+
payload: Joi.object().optional()
|
7
8
|
});
|
8
9
|
export const formCreatedMessageData = formMessageDataBase.append({
|
9
10
|
title: Joi.string().required(),
|
@@ -16,13 +17,10 @@ export const formDefinitionS3Meta = Joi.object().keys({
|
|
16
17
|
filename: Joi.string().required(),
|
17
18
|
s3Key: Joi.string().required()
|
18
19
|
});
|
19
|
-
export const formDefinitionMessageBase = formMessageDataBase.append({
|
20
|
-
s3Meta: formDefinitionS3Meta.optional()
|
21
|
-
});
|
22
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];
|
23
|
-
export const formUpdatedMessageData =
|
24
|
-
|
25
|
-
|
21
|
+
export const formUpdatedMessageData = formMessageDataBase.append({
|
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
|
62
|
-
|
63
|
-
|
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.
|
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","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageType","FormDefinitionRequestType","contactSchema","formMessageDataBase","object","formId","string","required","slug","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","filename","s3Key","formDefinitionMessageBase","s3Meta","optional","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","payload","requestType","valid","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formPrivacyNoticeChanges","privacyNoticeUrl","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","formSupportEmailChanges","address","email","responseTime","formChangesMessageData","schema","changes","previous","new","auditUserSchema","id","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","type","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'\n\nimport {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\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 FormDefinitionMessageBase,\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})\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\nexport const formDefinitionMessageBase =\n formMessageDataBase.append<FormDefinitionMessageBase>({\n s3Meta: formDefinitionS3Meta.optional()\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 formDefinitionMessageBase.append<FormUpdatedMessageData>({\n payload: Joi.object().required(),\n requestType: Joi.string()\n .valid(...allowedDefinitionRequestTypes)\n .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":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-audit/types.ts"],"sourcesContent":["import {\n type AuditEventMessageCategory,\n type AuditEventMessageSchemaVersion,\n type 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}\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 FormDefinitionMessageBase extends FormMessageDataBase {\n s3Meta?: FormDefinitionS3Meta\n}\n\nexport interface FormUpdatedMessageData extends FormDefinitionMessageBase {\n payload: unknown\n requestType: FormDefinitionRequestType\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 ManagerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_MANAGER\n}\nexport interface DesignerMessageBase extends MessageBase {\n source: AuditEventMessageSource.FORMS_DESIGNER\n}\n\nexport interface FormCreatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_CREATED\n data: FormCreatedMessageData\n}\n\nexport interface FormTitleUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TITLE_UPDATED\n data: FormTitleUpdatedMessageData\n}\n\nexport interface FormOrganisationUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_ORGANISATION_UPDATED\n data: FormOrganisationUpdatedMessageData\n}\n\nexport interface FormTeamNameUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED\n data: FormTeamNameUpdatedMessageData\n}\n\nexport interface FormTeamEmailUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED\n data: FormTeamEmailUpdatedMessageData\n}\n\nexport interface FormSupportContactUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED\n data: FormSupportContactUpdatedMessageData\n}\n\nexport interface FormSupportPhoneUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED\n data: FormSupportPhoneUpdatedMessageData\n}\n\nexport interface FormSupportEmailUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED\n data: FormSupportEmailUpdatedMessageData\n}\n\nexport interface FormSupportOnlineUpdatedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED\n data: FormSupportOnlineUpdatedMessageData\n}\n\nexport interface FormPrivacyNoticeUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormPrivacyNoticeUpdatedMessageData\n}\n\nexport interface FormNotificationEmailUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormNotificationEmailUpdatedMessageData\n}\n\nexport interface FormSubmissionGuidanceUpdatedMessage\n extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED\n source: AuditEventMessageSource.FORMS_MANAGER\n data: FormSubmissionGuidanceUpdatedMessageData\n}\n\nexport interface FormUploadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_UPLOADED\n data: FormUploadedMessageData\n}\n\nexport interface FormDownloadedMessage extends DesignerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_JSON_DOWNLOADED\n}\n\nexport interface FormPublishedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_PUBLISHED\n}\n\nexport interface FormDraftCreatedFromLiveMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE\n}\n\nexport interface FormLiveCreatedFromDraftMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT\n}\n\nexport interface FormDraftDeletedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_DRAFT_DELETED\n}\n\nexport interface FormMigratedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_MIGRATED\n}\n\nexport interface FormUpdatedMessage extends ManagerMessageBase {\n category: AuditEventMessageCategory.FORM\n type: AuditEventMessageType.FORM_UPDATED\n data: FormUpdatedMessageData\n}\n\nexport 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":[]}
|
@@ -5,10 +5,10 @@ export declare enum AuditEventMessageCategory {
|
|
5
5
|
FORM = "FORM",
|
6
6
|
ENTITLEMENT = "ENTITLEMENT"
|
7
7
|
}
|
8
|
-
export declare enum
|
9
|
-
|
10
|
-
|
11
|
-
|
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",
|
@@ -33,6 +33,7 @@ export declare enum AuditEventMessageType {
|
|
33
33
|
FORM_UPDATED = "FORM_UPDATED"
|
34
34
|
}
|
35
35
|
export declare enum FormDefinitionRequestType {
|
36
|
+
REPLACE_DRAFT = "REPLACE_DRAFT",
|
36
37
|
CREATE_COMPONENT = "CREATE_COMPONENT",
|
37
38
|
UPDATE_COMPONENT = "UPDATE_COMPONENT",
|
38
39
|
DELETE_COMPONENT = "DELETE_COMPONENT",
|
@@ -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,
|
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,10 +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
|
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
6
|
export declare const formDefinitionS3Meta: Joi.ObjectSchema<FormDefinitionS3Meta>;
|
7
|
-
export declare const formDefinitionMessageBase: Joi.ObjectSchema<FormDefinitionMessageBase>;
|
8
7
|
export declare const formUpdatedMessageData: Joi.ObjectSchema<FormUpdatedMessageData>;
|
9
8
|
export declare const formTitleChanges: Joi.ObjectSchema<FormTitleChanges>;
|
10
9
|
export declare const formOrganisationChanges: Joi.ObjectSchema<FormOrganisationChanges>;
|
@@ -13,16 +12,17 @@ export declare const formTeamEmailChanges: Joi.ObjectSchema<FormTeamEmailChanges
|
|
13
12
|
export declare const formSupportContactChanges: Joi.ObjectSchema<FormSupportContactChanges>;
|
14
13
|
export declare const formSupportPhoneChanges: Joi.ObjectSchema<FormSupportPhoneChanges>;
|
15
14
|
export declare const formSupportOnlineChanges: Joi.ObjectSchema<FormSupportOnlineChanges>;
|
15
|
+
export declare const formSupportEmailChanges: Joi.ObjectSchema<FormSupportEmailChanges>;
|
16
16
|
export declare const formPrivacyNoticeChanges: Joi.ObjectSchema<FormPrivacyNoticeChanges>;
|
17
17
|
export declare const formNotificationEmailChanges: Joi.ObjectSchema<FormNotificationEmailChanges>;
|
18
18
|
export declare const formSubmissionGuidanceChanges: Joi.ObjectSchema<FormSubmissionGuidanceChanges>;
|
19
19
|
export declare const formUploadedChanges: Joi.ObjectSchema<FormUploadedChanges>;
|
20
|
-
export declare const formSupportEmailChanges: Joi.ObjectSchema<FormSupportEmailChanges>;
|
21
|
-
export declare function formChangesMessageData<T, U extends FormMessageChangesData>(schema: ObjectSchema<T>): ObjectSchema<U>;
|
22
20
|
export declare const auditUserSchema: Joi.ObjectSchema<AuditUser>;
|
21
|
+
export declare function formChangesMessageData<T, U extends FormMessageChangesData>(schema: ObjectSchema<T>): ObjectSchema<U>;
|
23
22
|
export declare const validCategories: AuditEventMessageCategory[];
|
24
23
|
export declare const validTypes: AuditEventMessageType[];
|
25
24
|
export declare const validMessageSchemaVersions: AuditEventMessageSchemaVersion[];
|
25
|
+
export declare const validMessageSource: AuditEventMessageSource[];
|
26
26
|
export declare const messageSchema: Joi.ObjectSchema<AuditMessage>;
|
27
27
|
export declare const auditEvent: Joi.ObjectSchema<AuditEvent>;
|
28
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;AAE5C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,qBAAqB,EAEtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,KAAK,sBAAsB,EAC3B,KAAK,
|
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,8 +1,9 @@
|
|
1
|
-
import { type AuditEventMessageCategory, type AuditEventMessageSchemaVersion, type AuditEventMessageType, type FormDefinitionRequestType } from '../../form/form-audit/enums.js';
|
1
|
+
import { type AuditEventMessageCategory, type AuditEventMessageSchemaVersion, type AuditEventMessageSource, type AuditEventMessageType, type FormDefinitionRequestType } from '../../form/form-audit/enums.js';
|
2
2
|
import { type FormMetadataContact } from '../../form/form-metadata/types.js';
|
3
3
|
export interface FormMessageDataBase {
|
4
4
|
formId: string;
|
5
5
|
slug: string;
|
6
|
+
payload?: unknown;
|
6
7
|
}
|
7
8
|
export interface ChangesMessageData<T> {
|
8
9
|
previous: T;
|
@@ -93,121 +94,128 @@ export interface FormDefinitionS3Meta {
|
|
93
94
|
filename: string;
|
94
95
|
s3Key: string;
|
95
96
|
}
|
96
|
-
export interface
|
97
|
-
s3Meta?: FormDefinitionS3Meta;
|
98
|
-
}
|
99
|
-
export interface FormUpdatedMessageData extends FormDefinitionMessageBase {
|
100
|
-
payload: unknown;
|
97
|
+
export interface FormUpdatedMessageData extends FormMessageDataBase {
|
101
98
|
requestType: FormDefinitionRequestType;
|
99
|
+
s3Meta?: FormDefinitionS3Meta;
|
102
100
|
}
|
103
101
|
export type FormMessageChangesData = FormTitleUpdatedMessageData | FormOrganisationUpdatedMessageData | FormTeamNameUpdatedMessageData | FormTeamEmailUpdatedMessageData | FormSupportContactUpdatedMessageData | FormSupportPhoneUpdatedMessageData | FormSupportEmailUpdatedMessageData | FormSupportOnlineUpdatedMessageData | FormPrivacyNoticeUpdatedMessageData | FormNotificationEmailUpdatedMessageData | FormSubmissionGuidanceUpdatedMessageData | FormUploadedMessageData;
|
104
102
|
export type FormMessageActivitiesData = FormCreatedMessageData | FormMessageDataBase;
|
105
|
-
export type FormMessageChangeSetData = FormUpdatedMessageData;
|
106
103
|
export interface AuditUser {
|
107
104
|
id: string;
|
108
105
|
displayName: string;
|
109
106
|
}
|
110
|
-
export type MessageData = FormMessageChangesData | FormMessageActivitiesData |
|
107
|
+
export type MessageData = FormMessageChangesData | FormMessageActivitiesData | FormUpdatedMessageData;
|
111
108
|
export interface MessageBase {
|
112
109
|
schemaVersion: AuditEventMessageSchemaVersion;
|
113
110
|
category: AuditEventMessageCategory;
|
111
|
+
source: AuditEventMessageSource;
|
114
112
|
type: AuditEventMessageType;
|
115
113
|
entityId: string;
|
114
|
+
traceId?: string;
|
116
115
|
createdAt: Date;
|
117
116
|
createdBy: AuditUser;
|
118
117
|
data?: MessageData;
|
119
118
|
messageCreatedAt: Date;
|
120
119
|
}
|
121
|
-
export interface
|
120
|
+
export interface ManagerMessageBase extends MessageBase {
|
121
|
+
source: AuditEventMessageSource.FORMS_MANAGER;
|
122
|
+
}
|
123
|
+
export interface DesignerMessageBase extends MessageBase {
|
124
|
+
source: AuditEventMessageSource.FORMS_DESIGNER;
|
125
|
+
}
|
126
|
+
export interface FormCreatedMessage extends ManagerMessageBase {
|
122
127
|
category: AuditEventMessageCategory.FORM;
|
123
128
|
type: AuditEventMessageType.FORM_CREATED;
|
124
129
|
data: FormCreatedMessageData;
|
125
130
|
}
|
126
|
-
export interface FormTitleUpdatedMessage extends
|
131
|
+
export interface FormTitleUpdatedMessage extends ManagerMessageBase {
|
127
132
|
category: AuditEventMessageCategory.FORM;
|
128
133
|
type: AuditEventMessageType.FORM_TITLE_UPDATED;
|
129
134
|
data: FormTitleUpdatedMessageData;
|
130
135
|
}
|
131
|
-
export interface FormOrganisationUpdatedMessage extends
|
136
|
+
export interface FormOrganisationUpdatedMessage extends ManagerMessageBase {
|
132
137
|
category: AuditEventMessageCategory.FORM;
|
133
138
|
type: AuditEventMessageType.FORM_ORGANISATION_UPDATED;
|
134
139
|
data: FormOrganisationUpdatedMessageData;
|
135
140
|
}
|
136
|
-
export interface FormTeamNameUpdatedMessage extends
|
141
|
+
export interface FormTeamNameUpdatedMessage extends ManagerMessageBase {
|
137
142
|
category: AuditEventMessageCategory.FORM;
|
138
143
|
type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED;
|
139
144
|
data: FormTeamNameUpdatedMessageData;
|
140
145
|
}
|
141
|
-
export interface FormTeamEmailUpdatedMessage extends
|
146
|
+
export interface FormTeamEmailUpdatedMessage extends ManagerMessageBase {
|
142
147
|
category: AuditEventMessageCategory.FORM;
|
143
148
|
type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED;
|
144
149
|
data: FormTeamEmailUpdatedMessageData;
|
145
150
|
}
|
146
|
-
export interface FormSupportContactUpdatedMessage extends
|
151
|
+
export interface FormSupportContactUpdatedMessage extends ManagerMessageBase {
|
147
152
|
category: AuditEventMessageCategory.FORM;
|
148
153
|
type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED;
|
149
154
|
data: FormSupportContactUpdatedMessageData;
|
150
155
|
}
|
151
|
-
export interface FormSupportPhoneUpdatedMessage extends
|
156
|
+
export interface FormSupportPhoneUpdatedMessage extends DesignerMessageBase {
|
152
157
|
category: AuditEventMessageCategory.FORM;
|
153
158
|
type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED;
|
154
159
|
data: FormSupportPhoneUpdatedMessageData;
|
155
160
|
}
|
156
|
-
export interface FormSupportEmailUpdatedMessage extends
|
161
|
+
export interface FormSupportEmailUpdatedMessage extends DesignerMessageBase {
|
157
162
|
category: AuditEventMessageCategory.FORM;
|
158
163
|
type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED;
|
159
164
|
data: FormSupportEmailUpdatedMessageData;
|
160
165
|
}
|
161
|
-
export interface FormSupportOnlineUpdatedMessage extends
|
166
|
+
export interface FormSupportOnlineUpdatedMessage extends DesignerMessageBase {
|
162
167
|
category: AuditEventMessageCategory.FORM;
|
163
168
|
type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED;
|
164
169
|
data: FormSupportOnlineUpdatedMessageData;
|
165
170
|
}
|
166
|
-
export interface FormPrivacyNoticeUpdatedMessage extends
|
171
|
+
export interface FormPrivacyNoticeUpdatedMessage extends ManagerMessageBase {
|
167
172
|
category: AuditEventMessageCategory.FORM;
|
168
173
|
type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED;
|
174
|
+
source: AuditEventMessageSource.FORMS_MANAGER;
|
169
175
|
data: FormPrivacyNoticeUpdatedMessageData;
|
170
176
|
}
|
171
|
-
export interface FormNotificationEmailUpdatedMessage extends
|
177
|
+
export interface FormNotificationEmailUpdatedMessage extends ManagerMessageBase {
|
172
178
|
category: AuditEventMessageCategory.FORM;
|
173
179
|
type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED;
|
180
|
+
source: AuditEventMessageSource.FORMS_MANAGER;
|
174
181
|
data: FormNotificationEmailUpdatedMessageData;
|
175
182
|
}
|
176
|
-
export interface FormSubmissionGuidanceUpdatedMessage extends
|
183
|
+
export interface FormSubmissionGuidanceUpdatedMessage extends ManagerMessageBase {
|
177
184
|
category: AuditEventMessageCategory.FORM;
|
178
185
|
type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED;
|
186
|
+
source: AuditEventMessageSource.FORMS_MANAGER;
|
179
187
|
data: FormSubmissionGuidanceUpdatedMessageData;
|
180
188
|
}
|
181
|
-
export interface FormUploadedMessage extends
|
189
|
+
export interface FormUploadedMessage extends DesignerMessageBase {
|
182
190
|
category: AuditEventMessageCategory.FORM;
|
183
191
|
type: AuditEventMessageType.FORM_JSON_UPLOADED;
|
184
192
|
data: FormUploadedMessageData;
|
185
193
|
}
|
186
|
-
export interface FormDownloadedMessage extends
|
194
|
+
export interface FormDownloadedMessage extends DesignerMessageBase {
|
187
195
|
category: AuditEventMessageCategory.FORM;
|
188
196
|
type: AuditEventMessageType.FORM_JSON_DOWNLOADED;
|
189
197
|
}
|
190
|
-
export interface FormPublishedMessage extends
|
198
|
+
export interface FormPublishedMessage extends ManagerMessageBase {
|
191
199
|
category: AuditEventMessageCategory.FORM;
|
192
200
|
type: AuditEventMessageType.FORM_PUBLISHED;
|
193
201
|
}
|
194
|
-
export interface FormDraftCreatedFromLiveMessage extends
|
202
|
+
export interface FormDraftCreatedFromLiveMessage extends ManagerMessageBase {
|
195
203
|
category: AuditEventMessageCategory.FORM;
|
196
204
|
type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE;
|
197
205
|
}
|
198
|
-
export interface FormLiveCreatedFromDraftMessage extends
|
206
|
+
export interface FormLiveCreatedFromDraftMessage extends ManagerMessageBase {
|
199
207
|
category: AuditEventMessageCategory.FORM;
|
200
208
|
type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT;
|
201
209
|
}
|
202
|
-
export interface FormDraftDeletedMessage extends
|
210
|
+
export interface FormDraftDeletedMessage extends ManagerMessageBase {
|
203
211
|
category: AuditEventMessageCategory.FORM;
|
204
212
|
type: AuditEventMessageType.FORM_DRAFT_DELETED;
|
205
213
|
}
|
206
|
-
export interface FormMigratedMessage extends
|
214
|
+
export interface FormMigratedMessage extends ManagerMessageBase {
|
207
215
|
category: AuditEventMessageCategory.FORM;
|
208
216
|
type: AuditEventMessageType.FORM_MIGRATED;
|
209
217
|
}
|
210
|
-
export interface FormUpdatedMessage extends
|
218
|
+
export interface FormUpdatedMessage extends ManagerMessageBase {
|
211
219
|
category: AuditEventMessageCategory.FORM;
|
212
220
|
type: AuditEventMessageType.FORM_UPDATED;
|
213
221
|
data: FormUpdatedMessageData;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-audit/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE5E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;
|
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
@@ -7,10 +7,10 @@ export enum AuditEventMessageCategory {
|
|
7
7
|
ENTITLEMENT = 'ENTITLEMENT'
|
8
8
|
}
|
9
9
|
|
10
|
-
export enum
|
11
|
-
|
12
|
-
|
13
|
-
|
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 {
|
@@ -37,6 +37,7 @@ export enum AuditEventMessageType {
|
|
37
37
|
}
|
38
38
|
|
39
39
|
export enum FormDefinitionRequestType {
|
40
|
+
REPLACE_DRAFT = 'REPLACE_DRAFT',
|
40
41
|
CREATE_COMPONENT = 'CREATE_COMPONENT',
|
41
42
|
UPDATE_COMPONENT = 'UPDATE_COMPONENT',
|
42
43
|
DELETE_COMPONENT = 'DELETE_COMPONENT',
|
@@ -3,6 +3,7 @@ import Joi, { type ObjectSchema } from 'joi'
|
|
3
3
|
import {
|
4
4
|
AuditEventMessageCategory,
|
5
5
|
AuditEventMessageSchemaVersion,
|
6
|
+
AuditEventMessageSource,
|
6
7
|
AuditEventMessageType,
|
7
8
|
FormDefinitionRequestType
|
8
9
|
} from '~/src/form/form-audit/enums.js'
|
@@ -13,7 +14,6 @@ import {
|
|
13
14
|
type AuditUser,
|
14
15
|
type ChangesMessageData,
|
15
16
|
type FormCreatedMessageData,
|
16
|
-
type FormDefinitionMessageBase,
|
17
17
|
type FormDefinitionS3Meta,
|
18
18
|
type FormMessageChangesData,
|
19
19
|
type FormMessageDataBase,
|
@@ -47,7 +47,8 @@ import { contactSchema } from '~/src/form/form-metadata/index.js'
|
|
47
47
|
|
48
48
|
export const formMessageDataBase = Joi.object<FormMessageDataBase>({
|
49
49
|
formId: Joi.string().required(),
|
50
|
-
slug: Joi.string().required()
|
50
|
+
slug: Joi.string().required(),
|
51
|
+
payload: Joi.object().optional()
|
51
52
|
})
|
52
53
|
|
53
54
|
export const formCreatedMessageData =
|
@@ -64,11 +65,6 @@ export const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>().keys({
|
|
64
65
|
s3Key: Joi.string().required()
|
65
66
|
})
|
66
67
|
|
67
|
-
export const formDefinitionMessageBase =
|
68
|
-
formMessageDataBase.append<FormDefinitionMessageBase>({
|
69
|
-
s3Meta: formDefinitionS3Meta.optional()
|
70
|
-
})
|
71
|
-
|
72
68
|
const allowedDefinitionRequestTypes = [
|
73
69
|
FormDefinitionRequestType.CREATE_COMPONENT,
|
74
70
|
FormDefinitionRequestType.UPDATE_COMPONENT,
|
@@ -87,11 +83,11 @@ const allowedDefinitionRequestTypes = [
|
|
87
83
|
]
|
88
84
|
|
89
85
|
export const formUpdatedMessageData =
|
90
|
-
|
91
|
-
payload: Joi.object().required(),
|
86
|
+
formMessageDataBase.append<FormUpdatedMessageData>({
|
92
87
|
requestType: Joi.string()
|
93
88
|
.valid(...allowedDefinitionRequestTypes)
|
94
|
-
.required()
|
89
|
+
.required(),
|
90
|
+
s3Meta: formDefinitionS3Meta
|
95
91
|
})
|
96
92
|
|
97
93
|
export const formTitleChanges = Joi.object<FormTitleChanges>()
|
@@ -137,6 +133,12 @@ export const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()
|
|
137
133
|
})
|
138
134
|
.required()
|
139
135
|
|
136
|
+
export const formSupportEmailChanges =
|
137
|
+
Joi.object<FormSupportEmailChanges>().keys({
|
138
|
+
address: Joi.string().email().required(),
|
139
|
+
responseTime: Joi.string().required()
|
140
|
+
})
|
141
|
+
|
140
142
|
export const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()
|
141
143
|
.keys({
|
142
144
|
privacyNoticeUrl: Joi.string()
|
@@ -163,11 +165,10 @@ export const formUploadedChanges = Joi.object<FormUploadedChanges>()
|
|
163
165
|
})
|
164
166
|
.required()
|
165
167
|
|
166
|
-
export const
|
167
|
-
Joi.
|
168
|
-
|
169
|
-
|
170
|
-
})
|
168
|
+
export const auditUserSchema = Joi.object<AuditUser>().keys({
|
169
|
+
id: Joi.string().uuid().required(),
|
170
|
+
displayName: Joi.string().required()
|
171
|
+
})
|
171
172
|
|
172
173
|
export function formChangesMessageData<T, U extends FormMessageChangesData>(
|
173
174
|
schema: ObjectSchema<T>
|
@@ -180,11 +181,6 @@ export function formChangesMessageData<T, U extends FormMessageChangesData>(
|
|
180
181
|
})
|
181
182
|
}
|
182
183
|
|
183
|
-
export const auditUserSchema = Joi.object<AuditUser>().keys({
|
184
|
-
id: Joi.string().uuid().required(),
|
185
|
-
displayName: Joi.string().required()
|
186
|
-
})
|
187
|
-
|
188
184
|
export const validCategories = [
|
189
185
|
AuditEventMessageCategory.FORM,
|
190
186
|
AuditEventMessageCategory.ENTITLEMENT
|
@@ -204,26 +200,35 @@ export const validTypes = [
|
|
204
200
|
AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED,
|
205
201
|
AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED,
|
206
202
|
AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED,
|
207
|
-
AuditEventMessageType.FORM_UPDATED,
|
208
203
|
AuditEventMessageType.FORM_JSON_UPLOADED,
|
209
204
|
AuditEventMessageType.FORM_JSON_DOWNLOADED,
|
210
205
|
AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE,
|
211
206
|
AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT,
|
212
207
|
AuditEventMessageType.FORM_DRAFT_DELETED,
|
213
|
-
AuditEventMessageType.FORM_MIGRATED
|
208
|
+
AuditEventMessageType.FORM_MIGRATED,
|
209
|
+
AuditEventMessageType.FORM_UPDATED
|
214
210
|
]
|
215
211
|
|
216
212
|
export const validMessageSchemaVersions = [AuditEventMessageSchemaVersion.V1]
|
213
|
+
export const validMessageSource = [
|
214
|
+
AuditEventMessageSource.FORMS_MANAGER,
|
215
|
+
AuditEventMessageSource.FORMS_DESIGNER,
|
216
|
+
AuditEventMessageSource.ENTITLEMENT
|
217
|
+
]
|
217
218
|
|
218
219
|
export const messageSchema = Joi.object<AuditMessage>().keys({
|
219
|
-
entityId: Joi.string().required(),
|
220
220
|
schemaVersion: Joi.string()
|
221
221
|
.valid(...validMessageSchemaVersions)
|
222
222
|
.required(),
|
223
|
-
type: Joi.string().valid(...validTypes),
|
224
223
|
category: Joi.string()
|
225
224
|
.valid(...validCategories)
|
226
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(),
|
227
232
|
createdAt: Joi.date().required(),
|
228
233
|
createdBy: auditUserSchema.required(),
|
229
234
|
data: Joi.when('type', {
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import {
|
2
2
|
type AuditEventMessageCategory,
|
3
3
|
type AuditEventMessageSchemaVersion,
|
4
|
+
type AuditEventMessageSource,
|
4
5
|
type AuditEventMessageType,
|
5
6
|
type FormDefinitionRequestType
|
6
7
|
} from '~/src/form/form-audit/enums.js'
|
@@ -9,6 +10,7 @@ import { type FormMetadataContact } from '~/src/form/form-metadata/types.js'
|
|
9
10
|
export interface FormMessageDataBase {
|
10
11
|
formId: string
|
11
12
|
slug: string
|
13
|
+
payload?: unknown
|
12
14
|
}
|
13
15
|
|
14
16
|
export interface ChangesMessageData<T> {
|
@@ -135,13 +137,9 @@ export interface FormDefinitionS3Meta {
|
|
135
137
|
s3Key: string
|
136
138
|
}
|
137
139
|
|
138
|
-
export interface
|
139
|
-
s3Meta?: FormDefinitionS3Meta
|
140
|
-
}
|
141
|
-
|
142
|
-
export interface FormUpdatedMessageData extends FormDefinitionMessageBase {
|
143
|
-
payload: unknown
|
140
|
+
export interface FormUpdatedMessageData extends FormMessageDataBase {
|
144
141
|
requestType: FormDefinitionRequestType
|
142
|
+
s3Meta?: FormDefinitionS3Meta
|
145
143
|
}
|
146
144
|
|
147
145
|
export type FormMessageChangesData =
|
@@ -162,8 +160,6 @@ export type FormMessageActivitiesData =
|
|
162
160
|
| FormCreatedMessageData
|
163
161
|
| FormMessageDataBase
|
164
162
|
|
165
|
-
export type FormMessageChangeSetData = FormUpdatedMessageData
|
166
|
-
|
167
163
|
export interface AuditUser {
|
168
164
|
id: string
|
169
165
|
displayName: string
|
@@ -172,128 +168,142 @@ export interface AuditUser {
|
|
172
168
|
export type MessageData =
|
173
169
|
| FormMessageChangesData
|
174
170
|
| FormMessageActivitiesData
|
175
|
-
|
|
171
|
+
| FormUpdatedMessageData
|
176
172
|
|
177
173
|
export interface MessageBase {
|
178
174
|
schemaVersion: AuditEventMessageSchemaVersion
|
179
175
|
category: AuditEventMessageCategory
|
176
|
+
source: AuditEventMessageSource
|
180
177
|
type: AuditEventMessageType
|
181
178
|
entityId: string
|
179
|
+
traceId?: string
|
182
180
|
createdAt: Date
|
183
181
|
createdBy: AuditUser
|
184
182
|
data?: MessageData
|
185
183
|
messageCreatedAt: Date
|
186
184
|
}
|
187
185
|
|
188
|
-
export interface
|
186
|
+
export interface ManagerMessageBase extends MessageBase {
|
187
|
+
source: AuditEventMessageSource.FORMS_MANAGER
|
188
|
+
}
|
189
|
+
export interface DesignerMessageBase extends MessageBase {
|
190
|
+
source: AuditEventMessageSource.FORMS_DESIGNER
|
191
|
+
}
|
192
|
+
|
193
|
+
export interface FormCreatedMessage extends ManagerMessageBase {
|
189
194
|
category: AuditEventMessageCategory.FORM
|
190
195
|
type: AuditEventMessageType.FORM_CREATED
|
191
196
|
data: FormCreatedMessageData
|
192
197
|
}
|
193
198
|
|
194
|
-
export interface FormTitleUpdatedMessage extends
|
199
|
+
export interface FormTitleUpdatedMessage extends ManagerMessageBase {
|
195
200
|
category: AuditEventMessageCategory.FORM
|
196
201
|
type: AuditEventMessageType.FORM_TITLE_UPDATED
|
197
202
|
data: FormTitleUpdatedMessageData
|
198
203
|
}
|
199
204
|
|
200
|
-
export interface FormOrganisationUpdatedMessage extends
|
205
|
+
export interface FormOrganisationUpdatedMessage extends ManagerMessageBase {
|
201
206
|
category: AuditEventMessageCategory.FORM
|
202
207
|
type: AuditEventMessageType.FORM_ORGANISATION_UPDATED
|
203
208
|
data: FormOrganisationUpdatedMessageData
|
204
209
|
}
|
205
210
|
|
206
|
-
export interface FormTeamNameUpdatedMessage extends
|
211
|
+
export interface FormTeamNameUpdatedMessage extends ManagerMessageBase {
|
207
212
|
category: AuditEventMessageCategory.FORM
|
208
213
|
type: AuditEventMessageType.FORM_TEAM_NAME_UPDATED
|
209
214
|
data: FormTeamNameUpdatedMessageData
|
210
215
|
}
|
211
216
|
|
212
|
-
export interface FormTeamEmailUpdatedMessage extends
|
217
|
+
export interface FormTeamEmailUpdatedMessage extends ManagerMessageBase {
|
213
218
|
category: AuditEventMessageCategory.FORM
|
214
219
|
type: AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED
|
215
220
|
data: FormTeamEmailUpdatedMessageData
|
216
221
|
}
|
217
222
|
|
218
|
-
export interface FormSupportContactUpdatedMessage extends
|
223
|
+
export interface FormSupportContactUpdatedMessage extends ManagerMessageBase {
|
219
224
|
category: AuditEventMessageCategory.FORM
|
220
225
|
type: AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED
|
221
226
|
data: FormSupportContactUpdatedMessageData
|
222
227
|
}
|
223
228
|
|
224
|
-
export interface FormSupportPhoneUpdatedMessage extends
|
229
|
+
export interface FormSupportPhoneUpdatedMessage extends DesignerMessageBase {
|
225
230
|
category: AuditEventMessageCategory.FORM
|
226
231
|
type: AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED
|
227
232
|
data: FormSupportPhoneUpdatedMessageData
|
228
233
|
}
|
229
234
|
|
230
|
-
export interface FormSupportEmailUpdatedMessage extends
|
235
|
+
export interface FormSupportEmailUpdatedMessage extends DesignerMessageBase {
|
231
236
|
category: AuditEventMessageCategory.FORM
|
232
237
|
type: AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED
|
233
238
|
data: FormSupportEmailUpdatedMessageData
|
234
239
|
}
|
235
240
|
|
236
|
-
export interface FormSupportOnlineUpdatedMessage extends
|
241
|
+
export interface FormSupportOnlineUpdatedMessage extends DesignerMessageBase {
|
237
242
|
category: AuditEventMessageCategory.FORM
|
238
243
|
type: AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED
|
239
244
|
data: FormSupportOnlineUpdatedMessageData
|
240
245
|
}
|
241
246
|
|
242
|
-
export interface FormPrivacyNoticeUpdatedMessage extends
|
247
|
+
export interface FormPrivacyNoticeUpdatedMessage extends ManagerMessageBase {
|
243
248
|
category: AuditEventMessageCategory.FORM
|
244
249
|
type: AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED
|
250
|
+
source: AuditEventMessageSource.FORMS_MANAGER
|
245
251
|
data: FormPrivacyNoticeUpdatedMessageData
|
246
252
|
}
|
247
253
|
|
248
|
-
export interface FormNotificationEmailUpdatedMessage
|
254
|
+
export interface FormNotificationEmailUpdatedMessage
|
255
|
+
extends ManagerMessageBase {
|
249
256
|
category: AuditEventMessageCategory.FORM
|
250
257
|
type: AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED
|
258
|
+
source: AuditEventMessageSource.FORMS_MANAGER
|
251
259
|
data: FormNotificationEmailUpdatedMessageData
|
252
260
|
}
|
253
261
|
|
254
|
-
export interface FormSubmissionGuidanceUpdatedMessage
|
262
|
+
export interface FormSubmissionGuidanceUpdatedMessage
|
263
|
+
extends ManagerMessageBase {
|
255
264
|
category: AuditEventMessageCategory.FORM
|
256
265
|
type: AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED
|
266
|
+
source: AuditEventMessageSource.FORMS_MANAGER
|
257
267
|
data: FormSubmissionGuidanceUpdatedMessageData
|
258
268
|
}
|
259
269
|
|
260
|
-
export interface FormUploadedMessage extends
|
270
|
+
export interface FormUploadedMessage extends DesignerMessageBase {
|
261
271
|
category: AuditEventMessageCategory.FORM
|
262
272
|
type: AuditEventMessageType.FORM_JSON_UPLOADED
|
263
273
|
data: FormUploadedMessageData
|
264
274
|
}
|
265
275
|
|
266
|
-
export interface FormDownloadedMessage extends
|
276
|
+
export interface FormDownloadedMessage extends DesignerMessageBase {
|
267
277
|
category: AuditEventMessageCategory.FORM
|
268
278
|
type: AuditEventMessageType.FORM_JSON_DOWNLOADED
|
269
279
|
}
|
270
280
|
|
271
|
-
export interface FormPublishedMessage extends
|
281
|
+
export interface FormPublishedMessage extends ManagerMessageBase {
|
272
282
|
category: AuditEventMessageCategory.FORM
|
273
283
|
type: AuditEventMessageType.FORM_PUBLISHED
|
274
284
|
}
|
275
285
|
|
276
|
-
export interface FormDraftCreatedFromLiveMessage extends
|
286
|
+
export interface FormDraftCreatedFromLiveMessage extends ManagerMessageBase {
|
277
287
|
category: AuditEventMessageCategory.FORM
|
278
288
|
type: AuditEventMessageType.FORM_DRAFT_CREATED_FROM_LIVE
|
279
289
|
}
|
280
290
|
|
281
|
-
export interface FormLiveCreatedFromDraftMessage extends
|
291
|
+
export interface FormLiveCreatedFromDraftMessage extends ManagerMessageBase {
|
282
292
|
category: AuditEventMessageCategory.FORM
|
283
293
|
type: AuditEventMessageType.FORM_LIVE_CREATED_FROM_DRAFT
|
284
294
|
}
|
285
295
|
|
286
|
-
export interface FormDraftDeletedMessage extends
|
296
|
+
export interface FormDraftDeletedMessage extends ManagerMessageBase {
|
287
297
|
category: AuditEventMessageCategory.FORM
|
288
298
|
type: AuditEventMessageType.FORM_DRAFT_DELETED
|
289
299
|
}
|
290
300
|
|
291
|
-
export interface FormMigratedMessage extends
|
301
|
+
export interface FormMigratedMessage extends ManagerMessageBase {
|
292
302
|
category: AuditEventMessageCategory.FORM
|
293
303
|
type: AuditEventMessageType.FORM_MIGRATED
|
294
304
|
}
|
295
305
|
|
296
|
-
export interface FormUpdatedMessage extends
|
306
|
+
export interface FormUpdatedMessage extends ManagerMessageBase {
|
297
307
|
category: AuditEventMessageCategory.FORM
|
298
308
|
type: AuditEventMessageType.FORM_UPDATED
|
299
309
|
data: FormUpdatedMessageData
|