@defra/forms-model 3.0.349 → 3.0.350
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.
@@ -13,11 +13,7 @@ export const teamEmailSchema = Joi.string().email({
|
|
13
13
|
}
|
14
14
|
}).trim().required();
|
15
15
|
export const phoneSchema = Joi.string().trim();
|
16
|
-
export const emailAddressSchema = Joi.string().email(
|
17
|
-
tlds: {
|
18
|
-
allow: ['uk']
|
19
|
-
}
|
20
|
-
}).trim().pattern(/\.gov\.uk$|\.org\.uk$/).required();
|
16
|
+
export const emailAddressSchema = Joi.string().email().trim().required();
|
21
17
|
export const emailResponseTimeSchema = Joi.string().trim().required();
|
22
18
|
export const emailSchema = Joi.object().keys({
|
23
19
|
address: emailAddressSchema,
|
@@ -40,6 +36,11 @@ export const submissionGuidanceSchema = Joi.string().trim();
|
|
40
36
|
export const privacyNoticeUrlSchema = Joi.string().uri({
|
41
37
|
scheme: ['http', 'https']
|
42
38
|
}).trim();
|
39
|
+
export const notificationEmailAddressSchema = Joi.string().email({
|
40
|
+
tlds: {
|
41
|
+
allow: ['uk']
|
42
|
+
}
|
43
|
+
}).trim().pattern(/\.gov\.uk$|\.org\.uk$/);
|
43
44
|
export const authoredAtSchema = Joi.date().iso().required();
|
44
45
|
export const authorIdSchema = Joi.string().trim().required();
|
45
46
|
export const authorDisplayNameSchema = Joi.string().trim().required();
|
@@ -51,7 +52,7 @@ export const formMetadataInputKeys = {
|
|
51
52
|
contact: contactSchema,
|
52
53
|
submissionGuidance: submissionGuidanceSchema,
|
53
54
|
privacyNoticeUrl: privacyNoticeUrlSchema,
|
54
|
-
notificationEmail:
|
55
|
+
notificationEmail: notificationEmailAddressSchema
|
55
56
|
};
|
56
57
|
|
57
58
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":["Joi","organisations","idSchema","string","hex","length","required","titleSchema","max","trim","slugSchema","pattern","name","organisationSchema","valid","teamNameSchema","teamEmailSchema","email","tlds","allow","phoneSchema","emailAddressSchema","emailResponseTimeSchema","emailSchema","object","keys","address","responseTime","onlineUrlSchema","uri","scheme","onlineTextSchema","onlineSchema","url","text","contactSchema","phone","online","submissionGuidanceSchema","privacyNoticeUrlSchema","authoredAtSchema","date","iso","authorIdSchema","authorDisplayNameSchema","formMetadataInputKeys","title","organisation","teamName","teamEmail","contact","submissionGuidance","privacyNoticeUrl","notificationEmail","formMetadataInputSchema","formMetadataAuthorSchema","id","displayName","formMetadataStateSchema","createdAt","createdBy","updatedAt","updatedBy","formMetadataSchema","append","slug","draft","live"],"sources":["../../../../src/form/form-metadata/index.ts"],"sourcesContent":["import Joi from 'joi'\n\nimport {\n type FormMetadata,\n type FormMetadataInput,\n type FormMetadataState,\n type FormMetadataAuthor,\n type FormMetadataContact,\n type FormMetadataContactOnline,\n type FormMetadataContactEmail\n} from '~/src/form/form-metadata/types.js'\n\nexport const organisations = [\n 'Animal and Plant Health Agency – APHA',\n 'Centre for Environment, Fisheries and Aquaculture Science – Cefas',\n 'Defra',\n 'Environment Agency',\n 'Forestry Commission',\n 'Marine Management Organisation – MMO',\n 'Natural England',\n 'Rural Payments Agency – RPA',\n 'Veterinary Medicines Directorate – VMD'\n]\n\nexport const idSchema = Joi.string().hex().length(24).required()\nexport const titleSchema = Joi.string().max(250).trim().required()\nexport const slugSchema = Joi.string()\n .pattern(/^[a-z0-9-]+$/, { name: 'letters, numbers and hyphens only' })\n .required()\n\nexport const organisationSchema = Joi.string()\n .valid(...organisations)\n .required()\n\nexport const teamNameSchema = Joi.string().max(100).trim().required()\nexport const teamEmailSchema = Joi.string()\n .email({ tlds: { allow: ['uk'] } })\n .trim()\n .required()\n\nexport const phoneSchema = Joi.string().trim()\n\nexport const emailAddressSchema = Joi.string()
|
1
|
+
{"version":3,"file":"index.js","names":["Joi","organisations","idSchema","string","hex","length","required","titleSchema","max","trim","slugSchema","pattern","name","organisationSchema","valid","teamNameSchema","teamEmailSchema","email","tlds","allow","phoneSchema","emailAddressSchema","emailResponseTimeSchema","emailSchema","object","keys","address","responseTime","onlineUrlSchema","uri","scheme","onlineTextSchema","onlineSchema","url","text","contactSchema","phone","online","submissionGuidanceSchema","privacyNoticeUrlSchema","notificationEmailAddressSchema","authoredAtSchema","date","iso","authorIdSchema","authorDisplayNameSchema","formMetadataInputKeys","title","organisation","teamName","teamEmail","contact","submissionGuidance","privacyNoticeUrl","notificationEmail","formMetadataInputSchema","formMetadataAuthorSchema","id","displayName","formMetadataStateSchema","createdAt","createdBy","updatedAt","updatedBy","formMetadataSchema","append","slug","draft","live"],"sources":["../../../../src/form/form-metadata/index.ts"],"sourcesContent":["import Joi from 'joi'\n\nimport {\n type FormMetadata,\n type FormMetadataInput,\n type FormMetadataState,\n type FormMetadataAuthor,\n type FormMetadataContact,\n type FormMetadataContactOnline,\n type FormMetadataContactEmail\n} from '~/src/form/form-metadata/types.js'\n\nexport const organisations = [\n 'Animal and Plant Health Agency – APHA',\n 'Centre for Environment, Fisheries and Aquaculture Science – Cefas',\n 'Defra',\n 'Environment Agency',\n 'Forestry Commission',\n 'Marine Management Organisation – MMO',\n 'Natural England',\n 'Rural Payments Agency – RPA',\n 'Veterinary Medicines Directorate – VMD'\n]\n\nexport const idSchema = Joi.string().hex().length(24).required()\nexport const titleSchema = Joi.string().max(250).trim().required()\nexport const slugSchema = Joi.string()\n .pattern(/^[a-z0-9-]+$/, { name: 'letters, numbers and hyphens only' })\n .required()\n\nexport const organisationSchema = Joi.string()\n .valid(...organisations)\n .required()\n\nexport const teamNameSchema = Joi.string().max(100).trim().required()\nexport const teamEmailSchema = Joi.string()\n .email({ tlds: { allow: ['uk'] } })\n .trim()\n .required()\n\nexport const phoneSchema = Joi.string().trim()\n\nexport const emailAddressSchema = Joi.string().email().trim().required()\nexport const emailResponseTimeSchema = Joi.string().trim().required()\nexport const emailSchema = Joi.object<FormMetadataContactEmail>().keys({\n address: emailAddressSchema,\n responseTime: emailResponseTimeSchema\n})\n\nexport const onlineUrlSchema = Joi.string()\n .uri({\n scheme: ['http', 'https']\n })\n .trim()\n .required()\nexport const onlineTextSchema = Joi.string().trim().required()\nexport const onlineSchema = Joi.object<FormMetadataContactOnline>().keys({\n url: onlineUrlSchema,\n text: onlineTextSchema\n})\n\nexport const contactSchema = Joi.object<FormMetadataContact>().keys({\n phone: phoneSchema,\n email: emailSchema,\n online: onlineSchema\n})\n\nexport const submissionGuidanceSchema = Joi.string().trim()\n\nexport const privacyNoticeUrlSchema = Joi.string()\n .uri({\n scheme: ['http', 'https']\n })\n .trim()\n\nexport const notificationEmailAddressSchema = Joi.string()\n .email({ tlds: { allow: ['uk'] } })\n .trim()\n .pattern(/\\.gov\\.uk$|\\.org\\.uk$/)\n\nexport const authoredAtSchema = Joi.date().iso().required()\nexport const authorIdSchema = Joi.string().trim().required()\nexport const authorDisplayNameSchema = Joi.string().trim().required()\n\nexport const formMetadataInputKeys = {\n title: titleSchema,\n organisation: organisationSchema,\n teamName: teamNameSchema,\n teamEmail: teamEmailSchema,\n contact: contactSchema,\n submissionGuidance: submissionGuidanceSchema,\n privacyNoticeUrl: privacyNoticeUrlSchema,\n notificationEmail: notificationEmailAddressSchema\n}\n\n/**\n * Joi schema for `FormMetadataInput` interface\n * @see {@link FormMetadataInput}\n */\nexport const formMetadataInputSchema = Joi.object<FormMetadataInput>()\n .keys(formMetadataInputKeys)\n .required()\n\n/**\n * Joi schema for `FormMetadataAuthor` interface\n * @see {@link FormMetadataAuthor}\n */\nexport const formMetadataAuthorSchema = Joi.object<FormMetadataAuthor>()\n .keys({\n id: authorIdSchema,\n displayName: authorDisplayNameSchema\n })\n .required()\n\n/**\n * Joi schema for `FormMetadataState` interface\n * @see {@link FormMetadataState}\n */\nexport const formMetadataStateSchema = Joi.object<FormMetadataState>().keys({\n createdAt: authoredAtSchema,\n createdBy: formMetadataAuthorSchema,\n updatedAt: authoredAtSchema,\n updatedBy: formMetadataAuthorSchema\n})\n\n/**\n * Joi schema for `FormMetadata` interface\n * @see {@link FormMetadata}\n */\nexport const formMetadataSchema = formMetadataInputSchema.append<FormMetadata>({\n id: idSchema,\n slug: slugSchema,\n draft: formMetadataStateSchema,\n live: formMetadataStateSchema,\n createdAt: authoredAtSchema,\n createdBy: formMetadataAuthorSchema,\n updatedAt: authoredAtSchema,\n updatedBy: formMetadataAuthorSchema\n})\n"],"mappings":"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","ignoreList":[]}
|
@@ -17,6 +17,7 @@ export declare const onlineSchema: Joi.ObjectSchema<FormMetadataContactOnline>;
|
|
17
17
|
export declare const contactSchema: Joi.ObjectSchema<FormMetadataContact>;
|
18
18
|
export declare const submissionGuidanceSchema: Joi.StringSchema<string>;
|
19
19
|
export declare const privacyNoticeUrlSchema: Joi.StringSchema<string>;
|
20
|
+
export declare const notificationEmailAddressSchema: Joi.StringSchema<string>;
|
20
21
|
export declare const authoredAtSchema: Joi.DateSchema<Date>;
|
21
22
|
export declare const authorIdSchema: Joi.StringSchema<string>;
|
22
23
|
export declare const authorDisplayNameSchema: Joi.StringSchema<string>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAA;AAE1C,eAAO,MAAM,aAAa,UAUzB,CAAA;AAED,eAAO,MAAM,QAAQ,0BAA2C,CAAA;AAChE,eAAO,MAAM,WAAW,0BAA0C,CAAA;AAClE,eAAO,MAAM,UAAU,0BAEV,CAAA;AAEb,eAAO,MAAM,kBAAkB,0BAElB,CAAA;AAEb,eAAO,MAAM,cAAc,0BAA0C,CAAA;AACrE,eAAO,MAAM,eAAe,0BAGf,CAAA;AAEb,eAAO,MAAM,WAAW,0BAAsB,CAAA;AAE9C,eAAO,MAAM,kBAAkB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAA;AAE1C,eAAO,MAAM,aAAa,UAUzB,CAAA;AAED,eAAO,MAAM,QAAQ,0BAA2C,CAAA;AAChE,eAAO,MAAM,WAAW,0BAA0C,CAAA;AAClE,eAAO,MAAM,UAAU,0BAEV,CAAA;AAEb,eAAO,MAAM,kBAAkB,0BAElB,CAAA;AAEb,eAAO,MAAM,cAAc,0BAA0C,CAAA;AACrE,eAAO,MAAM,eAAe,0BAGf,CAAA;AAEb,eAAO,MAAM,WAAW,0BAAsB,CAAA;AAE9C,eAAO,MAAM,kBAAkB,0BAAyC,CAAA;AACxE,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AACrE,eAAO,MAAM,WAAW,4CAGtB,CAAA;AAEF,eAAO,MAAM,eAAe,0BAKf,CAAA;AACb,eAAO,MAAM,gBAAgB,0BAAiC,CAAA;AAC9D,eAAO,MAAM,YAAY,6CAGvB,CAAA;AAEF,eAAO,MAAM,aAAa,uCAIxB,CAAA;AAEF,eAAO,MAAM,wBAAwB,0BAAsB,CAAA;AAE3D,eAAO,MAAM,sBAAsB,0BAI1B,CAAA;AAET,eAAO,MAAM,8BAA8B,0BAGR,CAAA;AAEnC,eAAO,MAAM,gBAAgB,sBAA8B,CAAA;AAC3D,eAAO,MAAM,cAAc,0BAAiC,CAAA;AAC5D,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;CASjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAEvB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sCAKxB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAKlC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gCAS7B,CAAA"}
|
package/package.json
CHANGED
@@ -40,11 +40,7 @@ export const teamEmailSchema = Joi.string()
|
|
40
40
|
|
41
41
|
export const phoneSchema = Joi.string().trim()
|
42
42
|
|
43
|
-
export const emailAddressSchema = Joi.string()
|
44
|
-
.email({ tlds: { allow: ['uk'] } })
|
45
|
-
.trim()
|
46
|
-
.pattern(/\.gov\.uk$|\.org\.uk$/)
|
47
|
-
.required()
|
43
|
+
export const emailAddressSchema = Joi.string().email().trim().required()
|
48
44
|
export const emailResponseTimeSchema = Joi.string().trim().required()
|
49
45
|
export const emailSchema = Joi.object<FormMetadataContactEmail>().keys({
|
50
46
|
address: emailAddressSchema,
|
@@ -77,6 +73,11 @@ export const privacyNoticeUrlSchema = Joi.string()
|
|
77
73
|
})
|
78
74
|
.trim()
|
79
75
|
|
76
|
+
export const notificationEmailAddressSchema = Joi.string()
|
77
|
+
.email({ tlds: { allow: ['uk'] } })
|
78
|
+
.trim()
|
79
|
+
.pattern(/\.gov\.uk$|\.org\.uk$/)
|
80
|
+
|
80
81
|
export const authoredAtSchema = Joi.date().iso().required()
|
81
82
|
export const authorIdSchema = Joi.string().trim().required()
|
82
83
|
export const authorDisplayNameSchema = Joi.string().trim().required()
|
@@ -89,7 +90,7 @@ export const formMetadataInputKeys = {
|
|
89
90
|
contact: contactSchema,
|
90
91
|
submissionGuidance: submissionGuidanceSchema,
|
91
92
|
privacyNoticeUrl: privacyNoticeUrlSchema,
|
92
|
-
notificationEmail:
|
93
|
+
notificationEmail: notificationEmailAddressSchema
|
93
94
|
}
|
94
95
|
|
95
96
|
/**
|