@defra/forms-model 3.0.535 → 3.0.536
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.
@@ -40,21 +40,21 @@ export const formSupportPhoneChanges = Joi.object().keys({
|
|
40
40
|
phone: phoneSchema
|
41
41
|
}).required().description('Changes schema for FORM_SUPPORT_PHONE_UPDATED event');
|
42
42
|
export const formSupportOnlineChanges = Joi.object().keys({
|
43
|
-
url: onlineUrlSchema,
|
44
|
-
text: onlineTextSchema
|
43
|
+
url: onlineUrlSchema.optional(),
|
44
|
+
text: onlineTextSchema.optional()
|
45
45
|
}).required().description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event');
|
46
46
|
export const formSupportEmailChanges = Joi.object().keys({
|
47
|
-
address: emailAddressSchema,
|
48
|
-
responseTime: emailResponseTimeSchema
|
47
|
+
address: emailAddressSchema.optional(),
|
48
|
+
responseTime: emailResponseTimeSchema.optional()
|
49
49
|
}).description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event');
|
50
50
|
export const formPrivacyNoticeChanges = Joi.object().keys({
|
51
|
-
privacyNoticeUrl: privacyNoticeUrlSchema
|
51
|
+
privacyNoticeUrl: privacyNoticeUrlSchema
|
52
52
|
}).required().description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event');
|
53
53
|
export const formNotificationEmailChanges = Joi.object().keys({
|
54
|
-
notificationEmail: notificationEmailAddressSchema
|
54
|
+
notificationEmail: notificationEmailAddressSchema
|
55
55
|
}).required().description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event');
|
56
56
|
export const formSubmissionGuidanceChanges = Joi.object().keys({
|
57
|
-
submissionGuidance: submissionGuidanceSchema
|
57
|
+
submissionGuidance: submissionGuidanceSchema
|
58
58
|
}).required().description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event');
|
59
59
|
export const formUploadedChanges = Joi.object().keys({
|
60
60
|
value: Joi.string().required()
|
@@ -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","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","FORM_DRAFT_DELETED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","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 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,\n text: onlineTextSchema\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,\n responseTime: emailResponseTimeSchema\n })\n .description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')\n\nexport const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()\n .keys({\n privacyNoticeUrl: privacyNoticeUrlSchema.required()\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.required()\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.required()\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 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(AuditEventMessageType.ENTITLEMENT_CREATED),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.ENTITLEMENT_UPDATED),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.ENTITLEMENT_DELETED),\n then: entitlementMessageData\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","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","FORM_DRAFT_DELETED","ENTITLEMENT_UPDATED","ENTITLEMENT_DELETED","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 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 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(AuditEventMessageType.ENTITLEMENT_CREATED),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.FORM_DRAFT_DELETED),\n then: formMessageDataBase\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.ENTITLEMENT_UPDATED),\n then: entitlementMessageData\n },\n {\n is: Joi.string()\n .trim()\n .valid(AuditEventMessageType.ENTITLEMENT_DELETED),\n then: entitlementMessageData\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":[]}
|
package/package.json
CHANGED
@@ -141,22 +141,22 @@ export const formSupportPhoneChanges = Joi.object<FormSupportPhoneChanges>()
|
|
141
141
|
|
142
142
|
export const formSupportOnlineChanges = Joi.object<FormSupportOnlineChanges>()
|
143
143
|
.keys({
|
144
|
-
url: onlineUrlSchema,
|
145
|
-
text: onlineTextSchema
|
144
|
+
url: onlineUrlSchema.optional(),
|
145
|
+
text: onlineTextSchema.optional()
|
146
146
|
})
|
147
147
|
.required()
|
148
148
|
.description('Changes schema for FORM_SUPPORT_ONLINE_UPDATED event')
|
149
149
|
|
150
150
|
export const formSupportEmailChanges = Joi.object<FormSupportEmailChanges>()
|
151
151
|
.keys({
|
152
|
-
address: emailAddressSchema,
|
153
|
-
responseTime: emailResponseTimeSchema
|
152
|
+
address: emailAddressSchema.optional(),
|
153
|
+
responseTime: emailResponseTimeSchema.optional()
|
154
154
|
})
|
155
155
|
.description('Changes schema for FORM_SUPPORT_EMAIL_UPDATED event')
|
156
156
|
|
157
157
|
export const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()
|
158
158
|
.keys({
|
159
|
-
privacyNoticeUrl: privacyNoticeUrlSchema
|
159
|
+
privacyNoticeUrl: privacyNoticeUrlSchema
|
160
160
|
})
|
161
161
|
.required()
|
162
162
|
.description('Changes schema for FORM_PRIVACY_NOTICE_UPDATED event')
|
@@ -164,7 +164,7 @@ export const formPrivacyNoticeChanges = Joi.object<FormPrivacyNoticeChanges>()
|
|
164
164
|
export const formNotificationEmailChanges =
|
165
165
|
Joi.object<FormNotificationEmailChanges>()
|
166
166
|
.keys({
|
167
|
-
notificationEmail: notificationEmailAddressSchema
|
167
|
+
notificationEmail: notificationEmailAddressSchema
|
168
168
|
})
|
169
169
|
.required()
|
170
170
|
.description('Changes schema for FORM_NOTIFICATION_EMAIL_UPDATED event')
|
@@ -172,7 +172,7 @@ export const formNotificationEmailChanges =
|
|
172
172
|
export const formSubmissionGuidanceChanges =
|
173
173
|
Joi.object<FormSubmissionGuidanceChanges>()
|
174
174
|
.keys({
|
175
|
-
submissionGuidance: submissionGuidanceSchema
|
175
|
+
submissionGuidance: submissionGuidanceSchema
|
176
176
|
})
|
177
177
|
.required()
|
178
178
|
.description('Changes schema for FORM_SUBMISSION_GUIDANCE_UPDATED event')
|