@defra/forms-model 3.0.537 → 3.0.539
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/__snapshots__/index.snap.js +160 -0
- package/dist/module/form/form-audit/__snapshots__/index.snap.js.map +1 -0
- package/dist/module/form/form-audit/index.js +1 -1
- package/dist/module/form/form-audit/index.js.map +1 -1
- package/dist/types/form/form-audit/__snapshots__/index.snap.d.ts +213 -0
- package/dist/types/form/form-audit/__snapshots__/index.snap.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/form/form-audit/__snapshots__/index.snap.js +173 -0
- package/src/form/form-audit/index.ts +1 -1
@@ -0,0 +1,160 @@
|
|
1
|
+
import { AuditEventMessageCategory, AuditEventMessageSchemaVersion, AuditEventMessageSource } from "../enums.js";
|
2
|
+
const CREATED_BY = {
|
3
|
+
displayName: 'Enrique Chase',
|
4
|
+
id: 'f50ceeed-b7a4-47cf-a498-094efc99f8bc'
|
5
|
+
};
|
6
|
+
const CREATED_AT = new Date('2025-07-26T00:00:00.000Z');
|
7
|
+
const MESSAGE_CREATED_AT = new Date('2025-07-26T12:00:00.000Z');
|
8
|
+
const FORM_ID = '689b7ab1d0eeac9711a7fb33';
|
9
|
+
const SLUG = 'audit-form';
|
10
|
+
export const FORM_ORGANISATION_UPDATED = {
|
11
|
+
category: AuditEventMessageCategory.FORM,
|
12
|
+
createdAt: CREATED_AT,
|
13
|
+
createdBy: CREATED_BY,
|
14
|
+
data: {
|
15
|
+
changes: {
|
16
|
+
new: {
|
17
|
+
organisation: 'Defra'
|
18
|
+
},
|
19
|
+
previous: {
|
20
|
+
organisation: 'Natural England'
|
21
|
+
}
|
22
|
+
},
|
23
|
+
formId: FORM_ID,
|
24
|
+
slug: SLUG
|
25
|
+
},
|
26
|
+
entityId: FORM_ID,
|
27
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
28
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
29
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
30
|
+
type: 'FORM_ORGANISATION_UPDATED'
|
31
|
+
};
|
32
|
+
export const FORM_DRAFT_CREATED_FROM_LIVE = {
|
33
|
+
category: AuditEventMessageCategory.FORM,
|
34
|
+
createdAt: CREATED_AT,
|
35
|
+
createdBy: CREATED_BY,
|
36
|
+
entityId: FORM_ID,
|
37
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
38
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
39
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
40
|
+
type: 'FORM_DRAFT_CREATED_FROM_LIVE'
|
41
|
+
};
|
42
|
+
export const FORM_CREATED = {
|
43
|
+
category: AuditEventMessageCategory.FORM,
|
44
|
+
createdAt: CREATED_AT,
|
45
|
+
createdBy: CREATED_BY,
|
46
|
+
data: {
|
47
|
+
formId: FORM_ID,
|
48
|
+
organisation: 'Defra',
|
49
|
+
slug: SLUG,
|
50
|
+
teamEmail: 'forms@example.uk',
|
51
|
+
teamName: 'Forms',
|
52
|
+
title: 'My Audit Event Form'
|
53
|
+
},
|
54
|
+
entityId: FORM_ID,
|
55
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
56
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
57
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
58
|
+
type: 'FORM_CREATED'
|
59
|
+
};
|
60
|
+
export const FORM_DRAFT_DELETED = {
|
61
|
+
category: AuditEventMessageCategory.FORM,
|
62
|
+
createdAt: CREATED_AT,
|
63
|
+
createdBy: CREATED_BY,
|
64
|
+
data: {
|
65
|
+
formId: FORM_ID,
|
66
|
+
slug: SLUG
|
67
|
+
},
|
68
|
+
entityId: FORM_ID,
|
69
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
70
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
71
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
72
|
+
type: 'FORM_DRAFT_DELETED'
|
73
|
+
};
|
74
|
+
export const REPLACE_DRAFT = {
|
75
|
+
category: AuditEventMessageCategory.FORM,
|
76
|
+
createdAt: CREATED_AT,
|
77
|
+
createdBy: CREATED_BY,
|
78
|
+
data: {
|
79
|
+
formId: FORM_ID,
|
80
|
+
payload: undefined,
|
81
|
+
requestType: 'REPLACE_DRAFT',
|
82
|
+
s3Meta: {
|
83
|
+
fileId: '3HL4kqtJlcpXrof3W3Zz4YBdvdz2FJ9n',
|
84
|
+
filename: '6883d8667a2a64da10af4312.json',
|
85
|
+
s3Key: 'audit-definitions/6883d8667a2a64da10af4312.json'
|
86
|
+
},
|
87
|
+
slug: SLUG
|
88
|
+
},
|
89
|
+
entityId: FORM_ID,
|
90
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
91
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
92
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
93
|
+
type: 'FORM_UPDATED'
|
94
|
+
};
|
95
|
+
export const FORM_MIGRATED = {
|
96
|
+
category: AuditEventMessageCategory.FORM,
|
97
|
+
createdAt: CREATED_AT,
|
98
|
+
createdBy: CREATED_BY,
|
99
|
+
entityId: FORM_ID,
|
100
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
101
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
102
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
103
|
+
type: 'FORM_MIGRATED'
|
104
|
+
};
|
105
|
+
export const FORM_TITLE_UPDATED = {
|
106
|
+
category: AuditEventMessageCategory.FORM,
|
107
|
+
createdAt: CREATED_AT,
|
108
|
+
createdBy: CREATED_BY,
|
109
|
+
data: {
|
110
|
+
changes: {
|
111
|
+
new: {
|
112
|
+
title: 'My Audit Event Form'
|
113
|
+
},
|
114
|
+
previous: {
|
115
|
+
title: 'Old form title'
|
116
|
+
}
|
117
|
+
},
|
118
|
+
formId: FORM_ID,
|
119
|
+
slug: SLUG
|
120
|
+
},
|
121
|
+
entityId: FORM_ID,
|
122
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
123
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
124
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
125
|
+
type: 'FORM_TITLE_UPDATED'
|
126
|
+
};
|
127
|
+
export const FORM_UPDATED = {
|
128
|
+
category: AuditEventMessageCategory.FORM,
|
129
|
+
createdAt: CREATED_AT,
|
130
|
+
createdBy: CREATED_BY,
|
131
|
+
data: {
|
132
|
+
formId: FORM_ID,
|
133
|
+
payload: {
|
134
|
+
components: [],
|
135
|
+
id: 'ffefd409-f3f4-49fe-882e-6e89f44631b1',
|
136
|
+
next: [],
|
137
|
+
path: '/page-one',
|
138
|
+
title: 'Page One'
|
139
|
+
},
|
140
|
+
requestType: 'CREATE_PAGE',
|
141
|
+
s3Meta: undefined,
|
142
|
+
slug: SLUG
|
143
|
+
},
|
144
|
+
entityId: FORM_ID,
|
145
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
146
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
147
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
148
|
+
type: 'FORM_UPDATED'
|
149
|
+
};
|
150
|
+
export const FORM_LIVE_CREATED_FROM_DRAFT = {
|
151
|
+
category: AuditEventMessageCategory.FORM,
|
152
|
+
createdAt: CREATED_AT,
|
153
|
+
createdBy: CREATED_BY,
|
154
|
+
entityId: FORM_ID,
|
155
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
156
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
157
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
158
|
+
type: 'FORM_LIVE_CREATED_FROM_DRAFT'
|
159
|
+
};
|
160
|
+
//# sourceMappingURL=index.snap.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.snap.js","names":["AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","CREATED_BY","displayName","id","CREATED_AT","Date","MESSAGE_CREATED_AT","FORM_ID","SLUG","FORM_ORGANISATION_UPDATED","category","FORM","createdAt","createdBy","data","changes","new","organisation","previous","formId","slug","entityId","messageCreatedAt","schemaVersion","V1","source","FORMS_MANAGER","type","FORM_DRAFT_CREATED_FROM_LIVE","FORM_CREATED","teamEmail","teamName","title","FORM_DRAFT_DELETED","REPLACE_DRAFT","payload","undefined","requestType","s3Meta","fileId","filename","s3Key","FORM_MIGRATED","FORM_TITLE_UPDATED","FORM_UPDATED","components","next","path","FORM_LIVE_CREATED_FROM_DRAFT"],"sources":["../../../../../src/form/form-audit/__snapshots__/index.snap.js"],"sourcesContent":["import {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\n AuditEventMessageSource\n} from '~/src/form/form-audit/enums.js'\n\nconst CREATED_BY = {\n displayName: 'Enrique Chase',\n id: 'f50ceeed-b7a4-47cf-a498-094efc99f8bc'\n}\nconst CREATED_AT = new Date('2025-07-26T00:00:00.000Z')\nconst MESSAGE_CREATED_AT = new Date('2025-07-26T12:00:00.000Z')\nconst FORM_ID = '689b7ab1d0eeac9711a7fb33'\nconst SLUG = 'audit-form'\n\nexport const FORM_ORGANISATION_UPDATED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n changes: {\n new: {\n organisation: 'Defra'\n },\n previous: {\n organisation: 'Natural England'\n }\n },\n formId: FORM_ID,\n slug: SLUG\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_ORGANISATION_UPDATED'\n}\n\nexport const FORM_DRAFT_CREATED_FROM_LIVE = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_DRAFT_CREATED_FROM_LIVE'\n}\n\nexport const FORM_CREATED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n formId: FORM_ID,\n organisation: 'Defra',\n slug: SLUG,\n teamEmail: 'forms@example.uk',\n teamName: 'Forms',\n title: 'My Audit Event Form'\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_CREATED'\n}\n\nexport const FORM_DRAFT_DELETED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n formId: FORM_ID,\n slug: SLUG\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_DRAFT_DELETED'\n}\n\nexport const REPLACE_DRAFT = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n formId: FORM_ID,\n payload: undefined,\n requestType: 'REPLACE_DRAFT',\n s3Meta: {\n fileId: '3HL4kqtJlcpXrof3W3Zz4YBdvdz2FJ9n',\n filename: '6883d8667a2a64da10af4312.json',\n s3Key: 'audit-definitions/6883d8667a2a64da10af4312.json'\n },\n slug: SLUG\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_UPDATED'\n}\n\nexport const FORM_MIGRATED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_MIGRATED'\n}\n\nexport const FORM_TITLE_UPDATED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n changes: {\n new: {\n title: 'My Audit Event Form'\n },\n previous: {\n title: 'Old form title'\n }\n },\n formId: FORM_ID,\n slug: SLUG\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_TITLE_UPDATED'\n}\n\nexport const FORM_UPDATED = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n data: {\n formId: FORM_ID,\n payload: {\n components: [],\n id: 'ffefd409-f3f4-49fe-882e-6e89f44631b1',\n next: [],\n path: '/page-one',\n title: 'Page One'\n },\n requestType: 'CREATE_PAGE',\n s3Meta: undefined,\n slug: SLUG\n },\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_UPDATED'\n}\n\nexport const FORM_LIVE_CREATED_FROM_DRAFT = {\n category: AuditEventMessageCategory.FORM,\n createdAt: CREATED_AT,\n createdBy: CREATED_BY,\n entityId: FORM_ID,\n messageCreatedAt: MESSAGE_CREATED_AT,\n schemaVersion: AuditEventMessageSchemaVersion.V1,\n source: AuditEventMessageSource.FORMS_MANAGER,\n type: 'FORM_LIVE_CREATED_FROM_DRAFT'\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -70,7 +70,7 @@ export const authenticationMessageData = Joi.object().keys({
|
|
70
70
|
displayName: Joi.string().required()
|
71
71
|
});
|
72
72
|
export const auditUserSchema = Joi.object().keys({
|
73
|
-
id: Joi.string().
|
73
|
+
id: Joi.string().required(),
|
74
74
|
displayName: Joi.string().required()
|
75
75
|
}).description('Schema for CREATED_BY audit event');
|
76
76
|
export function formChangesMessageData(schema) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":["Joi","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType","contactSchema","emailAddressSchema","emailResponseTimeSchema","idSchema","notificationEmailAddressSchema","onlineTextSchema","onlineUrlSchema","organisationSchema","phoneSchema","privacyNoticeUrlSchema","slugSchema","submissionGuidanceSchema","teamEmailSchema","teamNameSchema","titleSchema","formMessageDataBase","object","formId","slug","payload","optional","required","description","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","string","filename","s3Key","formUpdatedMessageData","requestType","valid","Object","values","s3Meta","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formSupportEmailChanges","address","responseTime","formPrivacyNoticeChanges","privacyNoticeUrl","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","entitlementMessageData","userId","displayName","email","roles","array","items","authenticationMessageData","auditUserSchema","id","uuid","formChangesMessageData","schema","changes","previous","new","messageSchema","schemaVersion","category","source","type","entityId","traceId","createdAt","date","createdBy","data","when","switch","is","trim","FORM_CREATED","then","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_UPDATED","ENTITLEMENT_CREATED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","FORM_DRAFT_DELETED","AUTHENTICATION_LOGIN","AUTHENTICATION_LOGOUT_MANUAL","AUTHENTICATION_LOGOUT_AUTO","AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE","otherwise","forbidden","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 AuthenticationMessageData,\n type ChangesMessageData,\n type EntitlementMessageData,\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 {\n contactSchema,\n emailAddressSchema,\n emailResponseTimeSchema,\n idSchema,\n notificationEmailAddressSchema,\n onlineTextSchema,\n onlineUrlSchema,\n organisationSchema,\n phoneSchema,\n privacyNoticeUrlSchema,\n slugSchema,\n submissionGuidanceSchema,\n teamEmailSchema,\n teamNameSchema,\n titleSchema\n} from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: idSchema,\n slug: slugSchema,\n payload: Joi.object().optional()\n})\n .required()\n .description('The base data object for Form Messages')\n\nexport const formCreatedMessageData = formMessageDataBase\n .append<FormCreatedMessageData>({\n title: titleSchema,\n organisation: organisationSchema,\n teamName: teamNameSchema,\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Message data schema for when a form is created')\n\nexport const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n s3Key: Joi.string().required()\n })\n .description('Schema for form data S3 object in message')\n\nexport const formUpdatedMessageData = formMessageDataBase\n .append<FormUpdatedMessageData>({\n requestType: Joi.string()\n .valid(...Object.values(FormDefinitionRequestType))\n .required(),\n s3Meta: formDefinitionS3Meta.optional()\n })\n .required()\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: titleSchema\n })\n .required()\n .description('Changes schema for FORM_TITLE_UPDATED event')\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: organisationSchema\n })\n .required()\n .description('Changes schema for FORM_ORGANISATION_UPDATED event')\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: teamNameSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_NAME_UPDATED event')\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_EMAIL_UPDATED event')\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_CONTACT_UPDATED event')\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: phoneSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_PHONE_UPDATED event')\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: onlineUrlSchema.optional(),\n text: onlineTextSchema.optional()\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event')\n\nexport const formSupportEmailChanges = Joi.object<FormSupportEmailChanges>()\n .keys({\n address: emailAddressSchema.optional(),\n responseTime: emailResponseTimeSchema.optional()\n })\n .description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeUrl: privacyNoticeUrlSchema\n })\n .required()\n .description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event')\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: notificationEmailAddressSchema\n })\n .required()\n .description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event')\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: submissionGuidanceSchema\n })\n .required()\n .description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event')\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n .description('Changes schema for FORM_JSON_UPLOADED event')\n\nexport const entitlementMessageData = Joi.object<EntitlementMessageData>().keys(\n {\n userId: Joi.string().required(),\n displayName: Joi.string().required(),\n email: Joi.string().email().required(),\n roles: Joi.array().items(Joi.string())\n }\n)\n\nexport const authenticationMessageData =\n Joi.object<AuthenticationMessageData>().keys({\n userId: Joi.string().required(),\n displayName: Joi.string().required()\n })\n\nexport const auditUserSchema = Joi.object<AuditUser>()\n .keys({\n id: Joi.string().uuid().required(),\n displayName: Joi.string().required()\n })\n .description('Schema for CREATED_BY audit event')\n\nexport function formChangesMessageData<T, U extends FormMessageChangesData>(\n schema: ObjectSchema<T>\n): ObjectSchema<U> {\n return formMessageDataBase.append<U>({\n changes: Joi.object<ChangesMessageData<T>>()\n .keys({\n previous: schema,\n new: schema\n })\n .description('Changes schema')\n })\n}\n\nexport const messageSchema = Joi.object<AuditMessage>()\n .keys({\n schemaVersion: Joi.string()\n .valid(...Object.values(AuditEventMessageSchemaVersion))\n .required()\n .description(\n 'The version of the AuditMessage - bumped with breaking changes'\n ),\n category: Joi.string()\n .valid(...Object.values(AuditEventMessageCategory))\n .required()\n .description('The message category - what does the entityId represent?'),\n source: Joi.string()\n .valid(...Object.values(AuditEventMessageSource))\n .required()\n .description('Source of the message - which service?'),\n type: Joi.string()\n .valid(...Object.values(AuditEventMessageType))\n .description('Event type'),\n entityId: Joi.string()\n .required()\n .description('The id of the entity the category relates to'),\n traceId: Joi.string()\n .optional()\n .description(\n 'Trace id of the event - to link events across multiple services'\n ),\n createdAt: Joi.date()\n .required()\n .description(\n 'The ISO timestamp where the action took place - should be the same as updated_at field in DB'\n ),\n createdBy: auditUserSchema\n .required()\n .description('The user who performed the action being audited'),\n data: Joi.when('type', {\n switch: [\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_CREATED),\n then: formCreatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TITLE_UPDATED),\n then: formChangesMessageData<\n FormTitleChanges,\n FormTitleUpdatedMessageData\n >(formTitleChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_ORGANISATION_UPDATED),\n then: formChangesMessageData<\n FormOrganisationChanges,\n FormOrganisationUpdatedMessageData\n >(formOrganisationChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_NAME_UPDATED),\n then: formChangesMessageData<\n FormTeamNameChanges,\n FormTeamNameUpdatedMessageData\n >(formTeamNameChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormTeamEmailChanges,\n FormTeamEmailUpdatedMessageData\n >(formTeamEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED),\n then: formChangesMessageData<\n FormSupportContactChanges,\n FormSupportContactUpdatedMessageData\n >(formSupportContactChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED),\n then: formChangesMessageData<\n FormSupportPhoneChanges,\n FormSupportPhoneUpdatedMessageData\n >(formSupportPhoneChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormSupportEmailChanges,\n FormSupportEmailUpdatedMessageData\n >(formSupportEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED),\n then: formChangesMessageData<\n FormSupportOnlineChanges,\n FormSupportOnlineUpdatedMessageData\n >(formSupportOnlineChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED),\n then: formChangesMessageData<\n FormPrivacyNoticeChanges,\n FormPrivacyNoticeUpdatedMessageData\n >(formPrivacyNoticeChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormNotificationEmailChanges,\n FormNotificationEmailUpdatedMessageData\n >(formNotificationEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED),\n then: formChangesMessageData<\n FormSubmissionGuidanceChanges,\n FormSubmissionGuidanceUpdatedMessageData\n >(formSubmissionGuidanceChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_UPLOADED),\n then: formChangesMessageData<\n FormUploadedChanges,\n FormUploadedMessageData\n >(formUploadedChanges)\n },\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_UPDATED),\n then: formUpdatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.ENTITLEMENT_CREATED,\n AuditEventMessageType.ENTITLEMENT_UPDATED,\n AuditEventMessageType.ENTITLEMENT_DELETED\n ),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.AUTHENTICATION_LOGIN,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n ),\n then: authenticationMessageData\n }\n ],\n otherwise: Joi.forbidden()\n }).description('The data/payload of the audit message'),\n messageCreatedAt: Joi.date()\n .required()\n .description('ISO timestamp when the message was published')\n })\n .required()\n .description('The audit message issued by the publishing service')\n\nexport const auditEvent = Joi.object<AuditEvent>()\n .keys({\n message: messageSchema\n })\n .description('The Body of the audit event')\n\nexport const auditRecord = messageSchema\n .append<AuditRecord>({\n id: idSchema,\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n })\n .description('The audit record persisted into the DB')\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"index.js","names":["Joi","AuditEventMessageCategory","AuditEventMessageSchemaVersion","AuditEventMessageSource","AuditEventMessageType","FormDefinitionRequestType","contactSchema","emailAddressSchema","emailResponseTimeSchema","idSchema","notificationEmailAddressSchema","onlineTextSchema","onlineUrlSchema","organisationSchema","phoneSchema","privacyNoticeUrlSchema","slugSchema","submissionGuidanceSchema","teamEmailSchema","teamNameSchema","titleSchema","formMessageDataBase","object","formId","slug","payload","optional","required","description","formCreatedMessageData","append","title","organisation","teamName","teamEmail","formDefinitionS3Meta","keys","fileId","string","filename","s3Key","formUpdatedMessageData","requestType","valid","Object","values","s3Meta","formTitleChanges","formOrganisationChanges","formTeamNameChanges","formTeamEmailChanges","formSupportContactChanges","contact","formSupportPhoneChanges","phone","formSupportOnlineChanges","url","text","formSupportEmailChanges","address","responseTime","formPrivacyNoticeChanges","privacyNoticeUrl","formNotificationEmailChanges","notificationEmail","formSubmissionGuidanceChanges","submissionGuidance","formUploadedChanges","value","entitlementMessageData","userId","displayName","email","roles","array","items","authenticationMessageData","auditUserSchema","id","formChangesMessageData","schema","changes","previous","new","messageSchema","schemaVersion","category","source","type","entityId","traceId","createdAt","date","createdBy","data","when","switch","is","trim","FORM_CREATED","then","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_UPDATED","ENTITLEMENT_CREATED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","FORM_DRAFT_DELETED","AUTHENTICATION_LOGIN","AUTHENTICATION_LOGOUT_MANUAL","AUTHENTICATION_LOGOUT_AUTO","AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE","otherwise","forbidden","messageCreatedAt","auditEvent","message","auditRecord","messageId","uuid","recordCreatedAt"],"sources":["../../../../src/form/form-audit/index.ts"],"sourcesContent":["import Joi, { type ObjectSchema } from 'joi'\n\nimport {\n AuditEventMessageCategory,\n AuditEventMessageSchemaVersion,\n AuditEventMessageSource,\n AuditEventMessageType,\n FormDefinitionRequestType\n} from '~/src/form/form-audit/enums.js'\nimport {\n type AuditEvent,\n type AuditMessage,\n type AuditRecord,\n type AuditUser,\n type AuthenticationMessageData,\n type ChangesMessageData,\n type EntitlementMessageData,\n type 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 {\n contactSchema,\n emailAddressSchema,\n emailResponseTimeSchema,\n idSchema,\n notificationEmailAddressSchema,\n onlineTextSchema,\n onlineUrlSchema,\n organisationSchema,\n phoneSchema,\n privacyNoticeUrlSchema,\n slugSchema,\n submissionGuidanceSchema,\n teamEmailSchema,\n teamNameSchema,\n titleSchema\n} from '~/src/form/form-metadata/index.js'\n\nexport const formMessageDataBase = Joi.object<FormMessageDataBase>({\n formId: idSchema,\n slug: slugSchema,\n payload: Joi.object().optional()\n})\n .required()\n .description('The base data object for Form Messages')\n\nexport const formCreatedMessageData = formMessageDataBase\n .append<FormCreatedMessageData>({\n title: titleSchema,\n organisation: organisationSchema,\n teamName: teamNameSchema,\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Message data schema for when a form is created')\n\nexport const formDefinitionS3Meta = Joi.object<FormDefinitionS3Meta>()\n .keys({\n fileId: Joi.string().required(),\n filename: Joi.string().required(),\n s3Key: Joi.string().required()\n })\n .description('Schema for form data S3 object in message')\n\nexport const formUpdatedMessageData = formMessageDataBase\n .append<FormUpdatedMessageData>({\n requestType: Joi.string()\n .valid(...Object.values(FormDefinitionRequestType))\n .required(),\n s3Meta: formDefinitionS3Meta.optional()\n })\n .required()\n\nexport const formTitleChanges = Joi.object<FormTitleChanges>()\n .keys({\n title: titleSchema\n })\n .required()\n .description('Changes schema for FORM_TITLE_UPDATED event')\n\nexport const formOrganisationChanges = Joi.object<FormOrganisationChanges>()\n .keys({\n organisation: organisationSchema\n })\n .required()\n .description('Changes schema for FORM_ORGANISATION_UPDATED event')\n\nexport const formTeamNameChanges = Joi.object<FormTeamNameChanges>()\n .keys({\n teamName: teamNameSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_NAME_UPDATED event')\n\nexport const formTeamEmailChanges = Joi.object<FormTeamEmailChanges>()\n .keys({\n teamEmail: teamEmailSchema\n })\n .required()\n .description('Changes schema for FORM_TEAM_EMAIL_UPDATED event')\n\nexport const formSupportContactChanges = Joi.object<FormSupportContactChanges>()\n .keys({\n contact: contactSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_CONTACT_UPDATED event')\n\nexport const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()\n .keys({\n phone: phoneSchema\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_PHONE_UPDATED event')\n\nexport const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()\n .keys({\n url: onlineUrlSchema.optional(),\n text: onlineTextSchema.optional()\n })\n .required()\n .description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event')\n\nexport const formSupportEmailChanges = Joi.object<FormSupportEmailChanges>()\n .keys({\n address: emailAddressSchema.optional(),\n responseTime: emailResponseTimeSchema.optional()\n })\n .description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeUrl: privacyNoticeUrlSchema\n })\n .required()\n .description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event')\n\nexport const formNotificationEmailChanges =\n Joi.object<FormNotificationEmailChanges>()\n .keys({\n notificationEmail: notificationEmailAddressSchema\n })\n .required()\n .description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event')\n\nexport const formSubmissionGuidanceChanges =\n Joi.object<FormSubmissionGuidanceChanges>()\n .keys({\n submissionGuidance: submissionGuidanceSchema\n })\n .required()\n .description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event')\n\nexport const formUploadedChanges = Joi.object<FormUploadedChanges>()\n .keys({\n value: Joi.string().required()\n })\n .required()\n .description('Changes schema for FORM_JSON_UPLOADED event')\n\nexport const entitlementMessageData = Joi.object<EntitlementMessageData>().keys(\n {\n userId: Joi.string().required(),\n displayName: Joi.string().required(),\n email: Joi.string().email().required(),\n roles: Joi.array().items(Joi.string())\n }\n)\n\nexport const authenticationMessageData =\n Joi.object<AuthenticationMessageData>().keys({\n userId: Joi.string().required(),\n displayName: Joi.string().required()\n })\n\nexport const auditUserSchema = Joi.object<AuditUser>()\n .keys({\n id: Joi.string().required(),\n displayName: Joi.string().required()\n })\n .description('Schema for CREATED_BY audit event')\n\nexport function formChangesMessageData<T, U extends FormMessageChangesData>(\n schema: ObjectSchema<T>\n): ObjectSchema<U> {\n return formMessageDataBase.append<U>({\n changes: Joi.object<ChangesMessageData<T>>()\n .keys({\n previous: schema,\n new: schema\n })\n .description('Changes schema')\n })\n}\n\nexport const messageSchema = Joi.object<AuditMessage>()\n .keys({\n schemaVersion: Joi.string()\n .valid(...Object.values(AuditEventMessageSchemaVersion))\n .required()\n .description(\n 'The version of the AuditMessage - bumped with breaking changes'\n ),\n category: Joi.string()\n .valid(...Object.values(AuditEventMessageCategory))\n .required()\n .description('The message category - what does the entityId represent?'),\n source: Joi.string()\n .valid(...Object.values(AuditEventMessageSource))\n .required()\n .description('Source of the message - which service?'),\n type: Joi.string()\n .valid(...Object.values(AuditEventMessageType))\n .description('Event type'),\n entityId: Joi.string()\n .required()\n .description('The id of the entity the category relates to'),\n traceId: Joi.string()\n .optional()\n .description(\n 'Trace id of the event - to link events across multiple services'\n ),\n createdAt: Joi.date()\n .required()\n .description(\n 'The ISO timestamp where the action took place - should be the same as updated_at field in DB'\n ),\n createdBy: auditUserSchema\n .required()\n .description('The user who performed the action being audited'),\n data: Joi.when('type', {\n switch: [\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_CREATED),\n then: formCreatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TITLE_UPDATED),\n then: formChangesMessageData<\n FormTitleChanges,\n FormTitleUpdatedMessageData\n >(formTitleChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_ORGANISATION_UPDATED),\n then: formChangesMessageData<\n FormOrganisationChanges,\n FormOrganisationUpdatedMessageData\n >(formOrganisationChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_NAME_UPDATED),\n then: formChangesMessageData<\n FormTeamNameChanges,\n FormTeamNameUpdatedMessageData\n >(formTeamNameChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_TEAM_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormTeamEmailChanges,\n FormTeamEmailUpdatedMessageData\n >(formTeamEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_CONTACT_UPDATED),\n then: formChangesMessageData<\n FormSupportContactChanges,\n FormSupportContactUpdatedMessageData\n >(formSupportContactChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_PHONE_UPDATED),\n then: formChangesMessageData<\n FormSupportPhoneChanges,\n FormSupportPhoneUpdatedMessageData\n >(formSupportPhoneChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormSupportEmailChanges,\n FormSupportEmailUpdatedMessageData\n >(formSupportEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUPPORT_ONLINE_UPDATED),\n then: formChangesMessageData<\n FormSupportOnlineChanges,\n FormSupportOnlineUpdatedMessageData\n >(formSupportOnlineChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_PRIVACY_NOTICE_UPDATED),\n then: formChangesMessageData<\n FormPrivacyNoticeChanges,\n FormPrivacyNoticeUpdatedMessageData\n >(formPrivacyNoticeChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_NOTIFICATION_EMAIL_UPDATED),\n then: formChangesMessageData<\n FormNotificationEmailChanges,\n FormNotificationEmailUpdatedMessageData\n >(formNotificationEmailChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_SUBMISSION_GUIDANCE_UPDATED),\n then: formChangesMessageData<\n FormSubmissionGuidanceChanges,\n FormSubmissionGuidanceUpdatedMessageData\n >(formSubmissionGuidanceChanges)\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_JSON_UPLOADED),\n then: formChangesMessageData<\n FormUploadedChanges,\n FormUploadedMessageData\n >(formUploadedChanges)\n },\n {\n is: Joi.string().trim().valid(AuditEventMessageType.FORM_UPDATED),\n then: formUpdatedMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.ENTITLEMENT_CREATED,\n AuditEventMessageType.ENTITLEMENT_UPDATED,\n AuditEventMessageType.ENTITLEMENT_DELETED\n ),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(\n AuditEventMessageType.AUTHENTICATION_LOGIN,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_MANUAL,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_AUTO,\n AuditEventMessageType.AUTHENTICATION_LOGOUT_DIFFERENT_DEVICE\n ),\n then: authenticationMessageData\n }\n ],\n otherwise: Joi.forbidden()\n }).description('The data/payload of the audit message'),\n messageCreatedAt: Joi.date()\n .required()\n .description('ISO timestamp when the message was published')\n })\n .required()\n .description('The audit message issued by the publishing service')\n\nexport const auditEvent = Joi.object<AuditEvent>()\n .keys({\n message: messageSchema\n })\n .description('The Body of the audit event')\n\nexport const auditRecord = messageSchema\n .append<AuditRecord>({\n id: idSchema,\n messageId: Joi.string().uuid().required(),\n entityId: Joi.string().required(),\n recordCreatedAt: Joi.date().required()\n })\n .description('The audit record persisted into the DB')\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,213 @@
|
|
1
|
+
export namespace FORM_ORGANISATION_UPDATED {
|
2
|
+
export let category: AuditEventMessageCategory;
|
3
|
+
export { CREATED_AT as createdAt };
|
4
|
+
export { CREATED_BY as createdBy };
|
5
|
+
export namespace data {
|
6
|
+
export namespace changes {
|
7
|
+
export namespace _new {
|
8
|
+
let organisation: string;
|
9
|
+
}
|
10
|
+
export { _new as new };
|
11
|
+
export namespace previous {
|
12
|
+
let organisation_1: string;
|
13
|
+
export { organisation_1 as organisation };
|
14
|
+
}
|
15
|
+
}
|
16
|
+
export { FORM_ID as formId };
|
17
|
+
export { SLUG as slug };
|
18
|
+
}
|
19
|
+
export { FORM_ID as entityId };
|
20
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
21
|
+
export let schemaVersion: AuditEventMessageSchemaVersion;
|
22
|
+
export let source: AuditEventMessageSource;
|
23
|
+
export let type: string;
|
24
|
+
}
|
25
|
+
export namespace FORM_DRAFT_CREATED_FROM_LIVE {
|
26
|
+
let category_1: AuditEventMessageCategory;
|
27
|
+
export { category_1 as category };
|
28
|
+
export { CREATED_AT as createdAt };
|
29
|
+
export { CREATED_BY as createdBy };
|
30
|
+
export { FORM_ID as entityId };
|
31
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
32
|
+
let schemaVersion_1: AuditEventMessageSchemaVersion;
|
33
|
+
export { schemaVersion_1 as schemaVersion };
|
34
|
+
let source_1: AuditEventMessageSource;
|
35
|
+
export { source_1 as source };
|
36
|
+
let type_1: string;
|
37
|
+
export { type_1 as type };
|
38
|
+
}
|
39
|
+
export namespace FORM_CREATED {
|
40
|
+
let category_2: AuditEventMessageCategory;
|
41
|
+
export { category_2 as category };
|
42
|
+
export { CREATED_AT as createdAt };
|
43
|
+
export { CREATED_BY as createdBy };
|
44
|
+
export namespace data_1 {
|
45
|
+
export { FORM_ID as formId };
|
46
|
+
let organisation_2: string;
|
47
|
+
export { organisation_2 as organisation };
|
48
|
+
export { SLUG as slug };
|
49
|
+
export let teamEmail: string;
|
50
|
+
export let teamName: string;
|
51
|
+
export let title: string;
|
52
|
+
}
|
53
|
+
export { data_1 as data };
|
54
|
+
export { FORM_ID as entityId };
|
55
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
56
|
+
let schemaVersion_2: AuditEventMessageSchemaVersion;
|
57
|
+
export { schemaVersion_2 as schemaVersion };
|
58
|
+
let source_2: AuditEventMessageSource;
|
59
|
+
export { source_2 as source };
|
60
|
+
let type_2: string;
|
61
|
+
export { type_2 as type };
|
62
|
+
}
|
63
|
+
export namespace FORM_DRAFT_DELETED {
|
64
|
+
let category_3: AuditEventMessageCategory;
|
65
|
+
export { category_3 as category };
|
66
|
+
export { CREATED_AT as createdAt };
|
67
|
+
export { CREATED_BY as createdBy };
|
68
|
+
export namespace data_2 {
|
69
|
+
export { FORM_ID as formId };
|
70
|
+
export { SLUG as slug };
|
71
|
+
}
|
72
|
+
export { data_2 as data };
|
73
|
+
export { FORM_ID as entityId };
|
74
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
75
|
+
let schemaVersion_3: AuditEventMessageSchemaVersion;
|
76
|
+
export { schemaVersion_3 as schemaVersion };
|
77
|
+
let source_3: AuditEventMessageSource;
|
78
|
+
export { source_3 as source };
|
79
|
+
let type_3: string;
|
80
|
+
export { type_3 as type };
|
81
|
+
}
|
82
|
+
export namespace REPLACE_DRAFT {
|
83
|
+
let category_4: AuditEventMessageCategory;
|
84
|
+
export { category_4 as category };
|
85
|
+
export { CREATED_AT as createdAt };
|
86
|
+
export { CREATED_BY as createdBy };
|
87
|
+
export namespace data_3 {
|
88
|
+
export { FORM_ID as formId };
|
89
|
+
export let payload: undefined;
|
90
|
+
export let requestType: string;
|
91
|
+
export namespace s3Meta {
|
92
|
+
let fileId: string;
|
93
|
+
let filename: string;
|
94
|
+
let s3Key: string;
|
95
|
+
}
|
96
|
+
export { SLUG as slug };
|
97
|
+
}
|
98
|
+
export { data_3 as data };
|
99
|
+
export { FORM_ID as entityId };
|
100
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
101
|
+
let schemaVersion_4: AuditEventMessageSchemaVersion;
|
102
|
+
export { schemaVersion_4 as schemaVersion };
|
103
|
+
let source_4: AuditEventMessageSource;
|
104
|
+
export { source_4 as source };
|
105
|
+
let type_4: string;
|
106
|
+
export { type_4 as type };
|
107
|
+
}
|
108
|
+
export namespace FORM_MIGRATED {
|
109
|
+
let category_5: AuditEventMessageCategory;
|
110
|
+
export { category_5 as category };
|
111
|
+
export { CREATED_AT as createdAt };
|
112
|
+
export { CREATED_BY as createdBy };
|
113
|
+
export { FORM_ID as entityId };
|
114
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
115
|
+
let schemaVersion_5: AuditEventMessageSchemaVersion;
|
116
|
+
export { schemaVersion_5 as schemaVersion };
|
117
|
+
let source_5: AuditEventMessageSource;
|
118
|
+
export { source_5 as source };
|
119
|
+
let type_5: string;
|
120
|
+
export { type_5 as type };
|
121
|
+
}
|
122
|
+
export namespace FORM_TITLE_UPDATED {
|
123
|
+
let category_6: AuditEventMessageCategory;
|
124
|
+
export { category_6 as category };
|
125
|
+
export { CREATED_AT as createdAt };
|
126
|
+
export { CREATED_BY as createdBy };
|
127
|
+
export namespace data_4 {
|
128
|
+
export namespace changes_1 {
|
129
|
+
export namespace _new_1 {
|
130
|
+
let title_1: string;
|
131
|
+
export { title_1 as title };
|
132
|
+
}
|
133
|
+
export { _new_1 as new };
|
134
|
+
export namespace previous_1 {
|
135
|
+
let title_2: string;
|
136
|
+
export { title_2 as title };
|
137
|
+
}
|
138
|
+
export { previous_1 as previous };
|
139
|
+
}
|
140
|
+
export { changes_1 as changes };
|
141
|
+
export { FORM_ID as formId };
|
142
|
+
export { SLUG as slug };
|
143
|
+
}
|
144
|
+
export { data_4 as data };
|
145
|
+
export { FORM_ID as entityId };
|
146
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
147
|
+
let schemaVersion_6: AuditEventMessageSchemaVersion;
|
148
|
+
export { schemaVersion_6 as schemaVersion };
|
149
|
+
let source_6: AuditEventMessageSource;
|
150
|
+
export { source_6 as source };
|
151
|
+
let type_6: string;
|
152
|
+
export { type_6 as type };
|
153
|
+
}
|
154
|
+
export namespace FORM_UPDATED {
|
155
|
+
let category_7: AuditEventMessageCategory;
|
156
|
+
export { category_7 as category };
|
157
|
+
export { CREATED_AT as createdAt };
|
158
|
+
export { CREATED_BY as createdBy };
|
159
|
+
export namespace data_5 {
|
160
|
+
export { FORM_ID as formId };
|
161
|
+
export namespace payload_1 {
|
162
|
+
export let components: never[];
|
163
|
+
export let id: string;
|
164
|
+
export let next: never[];
|
165
|
+
export let path: string;
|
166
|
+
let title_3: string;
|
167
|
+
export { title_3 as title };
|
168
|
+
}
|
169
|
+
export { payload_1 as payload };
|
170
|
+
let requestType_1: string;
|
171
|
+
export { requestType_1 as requestType };
|
172
|
+
let s3Meta_1: undefined;
|
173
|
+
export { s3Meta_1 as s3Meta };
|
174
|
+
export { SLUG as slug };
|
175
|
+
}
|
176
|
+
export { data_5 as data };
|
177
|
+
export { FORM_ID as entityId };
|
178
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
179
|
+
let schemaVersion_7: AuditEventMessageSchemaVersion;
|
180
|
+
export { schemaVersion_7 as schemaVersion };
|
181
|
+
let source_7: AuditEventMessageSource;
|
182
|
+
export { source_7 as source };
|
183
|
+
let type_7: string;
|
184
|
+
export { type_7 as type };
|
185
|
+
}
|
186
|
+
export namespace FORM_LIVE_CREATED_FROM_DRAFT {
|
187
|
+
let category_8: AuditEventMessageCategory;
|
188
|
+
export { category_8 as category };
|
189
|
+
export { CREATED_AT as createdAt };
|
190
|
+
export { CREATED_BY as createdBy };
|
191
|
+
export { FORM_ID as entityId };
|
192
|
+
export { MESSAGE_CREATED_AT as messageCreatedAt };
|
193
|
+
let schemaVersion_8: AuditEventMessageSchemaVersion;
|
194
|
+
export { schemaVersion_8 as schemaVersion };
|
195
|
+
let source_8: AuditEventMessageSource;
|
196
|
+
export { source_8 as source };
|
197
|
+
let type_8: string;
|
198
|
+
export { type_8 as type };
|
199
|
+
}
|
200
|
+
import { AuditEventMessageCategory } from '../../../form/form-audit/enums.js';
|
201
|
+
declare const CREATED_AT: Date;
|
202
|
+
declare namespace CREATED_BY {
|
203
|
+
export let displayName: string;
|
204
|
+
let id_1: string;
|
205
|
+
export { id_1 as id };
|
206
|
+
}
|
207
|
+
declare const FORM_ID: "689b7ab1d0eeac9711a7fb33";
|
208
|
+
declare const SLUG: "audit-form";
|
209
|
+
declare const MESSAGE_CREATED_AT: Date;
|
210
|
+
import { AuditEventMessageSchemaVersion } from '../../../form/form-audit/enums.js';
|
211
|
+
import { AuditEventMessageSource } from '../../../form/form-audit/enums.js';
|
212
|
+
export {};
|
213
|
+
//# sourceMappingURL=index.snap.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.snap.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-audit/__snapshots__/index.snap.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAIO,gCAAgC;AAMvC,+BAAuD;;;;;;AAEvD,uBAAgB,0BAA0B,CAAA;AAC1C,oBAAa,YAAY,CAAA;AAFzB,uCAA+D;+CAPxD,gCAAgC;wCAAhC,gCAAgC"}
|
package/package.json
CHANGED
@@ -0,0 +1,173 @@
|
|
1
|
+
import {
|
2
|
+
AuditEventMessageCategory,
|
3
|
+
AuditEventMessageSchemaVersion,
|
4
|
+
AuditEventMessageSource
|
5
|
+
} from '~/src/form/form-audit/enums.js'
|
6
|
+
|
7
|
+
const CREATED_BY = {
|
8
|
+
displayName: 'Enrique Chase',
|
9
|
+
id: 'f50ceeed-b7a4-47cf-a498-094efc99f8bc'
|
10
|
+
}
|
11
|
+
const CREATED_AT = new Date('2025-07-26T00:00:00.000Z')
|
12
|
+
const MESSAGE_CREATED_AT = new Date('2025-07-26T12:00:00.000Z')
|
13
|
+
const FORM_ID = '689b7ab1d0eeac9711a7fb33'
|
14
|
+
const SLUG = 'audit-form'
|
15
|
+
|
16
|
+
export const FORM_ORGANISATION_UPDATED = {
|
17
|
+
category: AuditEventMessageCategory.FORM,
|
18
|
+
createdAt: CREATED_AT,
|
19
|
+
createdBy: CREATED_BY,
|
20
|
+
data: {
|
21
|
+
changes: {
|
22
|
+
new: {
|
23
|
+
organisation: 'Defra'
|
24
|
+
},
|
25
|
+
previous: {
|
26
|
+
organisation: 'Natural England'
|
27
|
+
}
|
28
|
+
},
|
29
|
+
formId: FORM_ID,
|
30
|
+
slug: SLUG
|
31
|
+
},
|
32
|
+
entityId: FORM_ID,
|
33
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
34
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
35
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
36
|
+
type: 'FORM_ORGANISATION_UPDATED'
|
37
|
+
}
|
38
|
+
|
39
|
+
export const FORM_DRAFT_CREATED_FROM_LIVE = {
|
40
|
+
category: AuditEventMessageCategory.FORM,
|
41
|
+
createdAt: CREATED_AT,
|
42
|
+
createdBy: CREATED_BY,
|
43
|
+
entityId: FORM_ID,
|
44
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
45
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
46
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
47
|
+
type: 'FORM_DRAFT_CREATED_FROM_LIVE'
|
48
|
+
}
|
49
|
+
|
50
|
+
export const FORM_CREATED = {
|
51
|
+
category: AuditEventMessageCategory.FORM,
|
52
|
+
createdAt: CREATED_AT,
|
53
|
+
createdBy: CREATED_BY,
|
54
|
+
data: {
|
55
|
+
formId: FORM_ID,
|
56
|
+
organisation: 'Defra',
|
57
|
+
slug: SLUG,
|
58
|
+
teamEmail: 'forms@example.uk',
|
59
|
+
teamName: 'Forms',
|
60
|
+
title: 'My Audit Event Form'
|
61
|
+
},
|
62
|
+
entityId: FORM_ID,
|
63
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
64
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
65
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
66
|
+
type: 'FORM_CREATED'
|
67
|
+
}
|
68
|
+
|
69
|
+
export const FORM_DRAFT_DELETED = {
|
70
|
+
category: AuditEventMessageCategory.FORM,
|
71
|
+
createdAt: CREATED_AT,
|
72
|
+
createdBy: CREATED_BY,
|
73
|
+
data: {
|
74
|
+
formId: FORM_ID,
|
75
|
+
slug: SLUG
|
76
|
+
},
|
77
|
+
entityId: FORM_ID,
|
78
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
79
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
80
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
81
|
+
type: 'FORM_DRAFT_DELETED'
|
82
|
+
}
|
83
|
+
|
84
|
+
export const REPLACE_DRAFT = {
|
85
|
+
category: AuditEventMessageCategory.FORM,
|
86
|
+
createdAt: CREATED_AT,
|
87
|
+
createdBy: CREATED_BY,
|
88
|
+
data: {
|
89
|
+
formId: FORM_ID,
|
90
|
+
payload: undefined,
|
91
|
+
requestType: 'REPLACE_DRAFT',
|
92
|
+
s3Meta: {
|
93
|
+
fileId: '3HL4kqtJlcpXrof3W3Zz4YBdvdz2FJ9n',
|
94
|
+
filename: '6883d8667a2a64da10af4312.json',
|
95
|
+
s3Key: 'audit-definitions/6883d8667a2a64da10af4312.json'
|
96
|
+
},
|
97
|
+
slug: SLUG
|
98
|
+
},
|
99
|
+
entityId: FORM_ID,
|
100
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
101
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
102
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
103
|
+
type: 'FORM_UPDATED'
|
104
|
+
}
|
105
|
+
|
106
|
+
export const FORM_MIGRATED = {
|
107
|
+
category: AuditEventMessageCategory.FORM,
|
108
|
+
createdAt: CREATED_AT,
|
109
|
+
createdBy: CREATED_BY,
|
110
|
+
entityId: FORM_ID,
|
111
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
112
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
113
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
114
|
+
type: 'FORM_MIGRATED'
|
115
|
+
}
|
116
|
+
|
117
|
+
export const FORM_TITLE_UPDATED = {
|
118
|
+
category: AuditEventMessageCategory.FORM,
|
119
|
+
createdAt: CREATED_AT,
|
120
|
+
createdBy: CREATED_BY,
|
121
|
+
data: {
|
122
|
+
changes: {
|
123
|
+
new: {
|
124
|
+
title: 'My Audit Event Form'
|
125
|
+
},
|
126
|
+
previous: {
|
127
|
+
title: 'Old form title'
|
128
|
+
}
|
129
|
+
},
|
130
|
+
formId: FORM_ID,
|
131
|
+
slug: SLUG
|
132
|
+
},
|
133
|
+
entityId: FORM_ID,
|
134
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
135
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
136
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
137
|
+
type: 'FORM_TITLE_UPDATED'
|
138
|
+
}
|
139
|
+
|
140
|
+
export const FORM_UPDATED = {
|
141
|
+
category: AuditEventMessageCategory.FORM,
|
142
|
+
createdAt: CREATED_AT,
|
143
|
+
createdBy: CREATED_BY,
|
144
|
+
data: {
|
145
|
+
formId: FORM_ID,
|
146
|
+
payload: {
|
147
|
+
components: [],
|
148
|
+
id: 'ffefd409-f3f4-49fe-882e-6e89f44631b1',
|
149
|
+
next: [],
|
150
|
+
path: '/page-one',
|
151
|
+
title: 'Page One'
|
152
|
+
},
|
153
|
+
requestType: 'CREATE_PAGE',
|
154
|
+
s3Meta: undefined,
|
155
|
+
slug: SLUG
|
156
|
+
},
|
157
|
+
entityId: FORM_ID,
|
158
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
159
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
160
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
161
|
+
type: 'FORM_UPDATED'
|
162
|
+
}
|
163
|
+
|
164
|
+
export const FORM_LIVE_CREATED_FROM_DRAFT = {
|
165
|
+
category: AuditEventMessageCategory.FORM,
|
166
|
+
createdAt: CREATED_AT,
|
167
|
+
createdBy: CREATED_BY,
|
168
|
+
entityId: FORM_ID,
|
169
|
+
messageCreatedAt: MESSAGE_CREATED_AT,
|
170
|
+
schemaVersion: AuditEventMessageSchemaVersion.V1,
|
171
|
+
source: AuditEventMessageSource.FORMS_MANAGER,
|
172
|
+
type: 'FORM_LIVE_CREATED_FROM_DRAFT'
|
173
|
+
}
|
@@ -202,7 +202,7 @@ export const authenticationMessageData =
|
|
202
202
|
|
203
203
|
export const auditUserSchema = Joi.object<AuditUser>()
|
204
204
|
.keys({
|
205
|
-
id: Joi.string().
|
205
|
+
id: Joi.string().required(),
|
206
206
|
displayName: Joi.string().required()
|
207
207
|
})
|
208
208
|
.description('Schema for CREATED_BY audit event')
|