@defra/forms-model 3.0.311 → 3.0.312
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-metadata/index.js +5 -1
- package/dist/module/form/form-metadata/index.js.map +1 -1
- package/dist/module/form/form-metadata/types.js.map +1 -1
- package/dist/types/form/form-metadata/index.d.ts +2 -0
- package/dist/types/form/form-metadata/index.d.ts.map +1 -1
- package/dist/types/form/form-metadata/types.d.ts +5 -1
- package/dist/types/form/form-metadata/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/form/form-metadata/index.ts +8 -1
- package/src/form/form-metadata/types.ts +6 -1
@@ -12,6 +12,9 @@ export const teamEmailSchema = Joi.string().email({
|
|
12
12
|
allow: ['uk']
|
13
13
|
}
|
14
14
|
}).trim().required();
|
15
|
+
export const privacyNoticeUrlSchema = Joi.string().uri({
|
16
|
+
scheme: ['http', 'https']
|
17
|
+
}).trim();
|
15
18
|
export const authoredAtSchema = Joi.date().iso().required();
|
16
19
|
export const authorIdSchema = Joi.string().trim().required();
|
17
20
|
export const authorDisplayNameSchema = Joi.string().trim().required();
|
@@ -19,7 +22,8 @@ export const formMetadataInputKeys = {
|
|
19
22
|
title: titleSchema,
|
20
23
|
organisation: organisationSchema,
|
21
24
|
teamName: teamNameSchema,
|
22
|
-
teamEmail: teamEmailSchema
|
25
|
+
teamEmail: teamEmailSchema,
|
26
|
+
privacyNoticeUrl: privacyNoticeUrlSchema
|
23
27
|
};
|
24
28
|
|
25
29
|
/**
|
@@ -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","authoredAtSchema","date","iso","authorIdSchema","authorDisplayNameSchema","formMetadataInputKeys","title","organisation","teamName","teamEmail","formMetadataInputSchema","object","keys","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} 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 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}\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":"AAAA,OAAOA,GAAG,MAAM,KAAK;AASrB,OAAO,MAAMC,aAAa,GAAG,CAC3B,uCAAuC,EACvC,mEAAmE,EACnE,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EACrB,sCAAsC,EACtC,iBAAiB,EACjB,6BAA6B,EAC7B,wCAAwC,CACzC;AAED,OAAO,MAAMC,QAAQ,GAAGF,GAAG,CAACG,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,MAAM,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC;AAChE,OAAO,MAAMC,WAAW,GAAGP,GAAG,CAACG,MAAM,CAAC,CAAC,CAACK,GAAG,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC;AAClE,OAAO,MAAMI,UAAU,GAAGV,GAAG,CAACG,MAAM,CAAC,CAAC,CACnCQ,OAAO,CAAC,cAAc,EAAE;EAAEC,IAAI,EAAE;AAAoC,CAAC,CAAC,CACtEN,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMO,kBAAkB,GAAGb,GAAG,CAACG,MAAM,CAAC,CAAC,CAC3CW,KAAK,CAAC,GAAGb,aAAa,CAAC,CACvBK,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMS,cAAc,GAAGf,GAAG,CAACG,MAAM,CAAC,CAAC,CAACK,GAAG,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC,CAACH,QAAQ,CAAC,CAAC;AACrE,OAAO,MAAMU,eAAe,GAAGhB,GAAG,CAACG,MAAM,CAAC,CAAC,CACxCc,KAAK,CAAC;EAAEC,IAAI,EAAE;IAAEC,KAAK,EAAE,CAAC,IAAI;EAAE;AAAE,CAAC,CAAC,CAClCV,IAAI,CAAC,CAAC,CACNH,QAAQ,CAAC,CAAC;AAEb,OAAO,MAAMc,
|
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","privacyNoticeUrlSchema","uri","scheme","authoredAtSchema","date","iso","authorIdSchema","authorDisplayNameSchema","formMetadataInputKeys","title","organisation","teamName","teamEmail","privacyNoticeUrl","formMetadataInputSchema","object","keys","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} 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 privacyNoticeUrlSchema = Joi.string()\n .uri({\n scheme: ['http', 'https']\n })\n .trim()\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 privacyNoticeUrl: privacyNoticeUrlSchema\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":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-metadata/types.ts"],"sourcesContent":["import { formMetadataSchema } from '~/src/form/form-metadata/index.js'\n\n/**\n * Interface for author (createdBy and updatedBy)\n */\nexport interface FormMetadataAuthor {\n /**\n * The ID of the user\n */\n id: string\n\n /**\n * The display name of the user\n */\n displayName: string\n}\n\n/**\n * Interface for metadata state (draft & live)\n */\nexport interface FormMetadataState {\n /**\n * The date the form state was created\n */\n createdAt: Date\n\n /**\n * The author who created the state\n */\n createdBy: FormMetadataAuthor\n\n /**\n * The date the form state was last updated\n */\n updatedAt: Date\n\n /**\n * The author who last updated the state\n */\n updatedBy: FormMetadataAuthor\n}\n\n/**\n * Interface for `formMetadataSchema` Joi schema\n * @see {@link formMetadataSchema}\n */\nexport interface FormMetadata {\n /**\n * The id of the form\n */\n id: string\n\n /**\n * The human-readable slug id of the form\n */\n slug: string\n\n /**\n * The human-readable title of the form\n */\n title: string\n\n /**\n * The organisation this form belongs to\n */\n organisation: string\n\n /**\n * The name of the team who own this form\n */\n teamName: string\n\n /**\n * The email of the team who own this form\n */\n teamEmail: string\n\n /**\n * The draft state of the form\n */\n draft?: FormMetadataState\n\n /**\n * The live state of the form\n */\n live?: FormMetadataState\n\n /**\n * The author who created the form\n */\n createdBy: FormMetadataState['createdBy']\n\n /**\n * The date the form was created\n */\n createdAt: FormMetadataState['createdAt']\n\n /**\n * The author who last updated the form\n */\n updatedBy: FormMetadataState['updatedBy']\n\n /**\n * The date the form was last updated\n */\n updatedAt: FormMetadataState['updatedAt']\n}\n\nexport type FormByIdInput = Pick<FormMetadata, 'id'>\nexport type FormBySlugInput = Pick<FormMetadata, 'slug'>\nexport type FormMetadataDocument = Omit<FormMetadata, 'id'>\nexport type FormMetadataInput = Pick<\n FormMetadata,\n 'title' | 'organisation' | 'teamName' | 'teamEmail'\n>\n\nexport interface FormResponse {\n id: FormMetadata['id']\n slug: FormMetadata['slug']\n status: string\n}\n"],"mappings":"","ignoreList":[]}
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-metadata/types.ts"],"sourcesContent":["import { formMetadataSchema } from '~/src/form/form-metadata/index.js'\n\n/**\n * Interface for author (createdBy and updatedBy)\n */\nexport interface FormMetadataAuthor {\n /**\n * The ID of the user\n */\n id: string\n\n /**\n * The display name of the user\n */\n displayName: string\n}\n\n/**\n * Interface for metadata state (draft & live)\n */\nexport interface FormMetadataState {\n /**\n * The date the form state was created\n */\n createdAt: Date\n\n /**\n * The author who created the state\n */\n createdBy: FormMetadataAuthor\n\n /**\n * The date the form state was last updated\n */\n updatedAt: Date\n\n /**\n * The author who last updated the state\n */\n updatedBy: FormMetadataAuthor\n}\n\n/**\n * Interface for `formMetadataSchema` Joi schema\n * @see {@link formMetadataSchema}\n */\nexport interface FormMetadata {\n /**\n * The id of the form\n */\n id: string\n\n /**\n * The human-readable slug id of the form\n */\n slug: string\n\n /**\n * The human-readable title of the form\n */\n title: string\n\n /**\n * The organisation this form belongs to\n */\n organisation: string\n\n /**\n * The name of the team who own this form\n */\n teamName: string\n\n /**\n * The email of the team who own this form\n */\n teamEmail: string\n\n /**\n * The url of the privacy notice\n */\n privacyNoticeUrl?: string\n\n /**\n * The draft state of the form\n */\n draft?: FormMetadataState\n\n /**\n * The live state of the form\n */\n live?: FormMetadataState\n\n /**\n * The author who created the form\n */\n createdBy: FormMetadataState['createdBy']\n\n /**\n * The date the form was created\n */\n createdAt: FormMetadataState['createdAt']\n\n /**\n * The author who last updated the form\n */\n updatedBy: FormMetadataState['updatedBy']\n\n /**\n * The date the form was last updated\n */\n updatedAt: FormMetadataState['updatedAt']\n}\n\nexport type FormByIdInput = Pick<FormMetadata, 'id'>\nexport type FormBySlugInput = Pick<FormMetadata, 'slug'>\nexport type FormMetadataDocument = Omit<FormMetadata, 'id'>\nexport type FormMetadataInput = Pick<\n FormMetadata,\n 'title' | 'organisation' | 'teamName' | 'teamEmail' | 'privacyNoticeUrl'\n>\n\nexport interface FormResponse {\n id: FormMetadata['id']\n slug: FormMetadata['slug']\n status: string\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -7,6 +7,7 @@ export declare const slugSchema: Joi.StringSchema<string>;
|
|
7
7
|
export declare const organisationSchema: Joi.StringSchema<string>;
|
8
8
|
export declare const teamNameSchema: Joi.StringSchema<string>;
|
9
9
|
export declare const teamEmailSchema: Joi.StringSchema<string>;
|
10
|
+
export declare const privacyNoticeUrlSchema: Joi.StringSchema<string>;
|
10
11
|
export declare const authoredAtSchema: Joi.DateSchema<Date>;
|
11
12
|
export declare const authorIdSchema: Joi.StringSchema<string>;
|
12
13
|
export declare const authorDisplayNameSchema: Joi.StringSchema<string>;
|
@@ -15,6 +16,7 @@ export declare const formMetadataInputKeys: {
|
|
15
16
|
organisation: Joi.StringSchema<string>;
|
16
17
|
teamName: Joi.StringSchema<string>;
|
17
18
|
teamEmail: Joi.StringSchema<string>;
|
19
|
+
privacyNoticeUrl: Joi.StringSchema<string>;
|
18
20
|
};
|
19
21
|
/**
|
20
22
|
* Joi schema for `FormMetadataInput` interface
|
@@ -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,EACxB,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,gBAAgB,sBAA8B,CAAA;AAC3D,eAAO,MAAM,cAAc,0BAAiC,CAAA;AAC5D,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AAErE,eAAO,MAAM,qBAAqB
|
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,EACxB,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,sBAAsB,0BAI1B,CAAA;AAET,eAAO,MAAM,gBAAgB,sBAA8B,CAAA;AAC3D,eAAO,MAAM,cAAc,0BAAiC,CAAA;AAC5D,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;CAMjC,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"}
|
@@ -61,6 +61,10 @@ export interface FormMetadata {
|
|
61
61
|
* The email of the team who own this form
|
62
62
|
*/
|
63
63
|
teamEmail: string;
|
64
|
+
/**
|
65
|
+
* The url of the privacy notice
|
66
|
+
*/
|
67
|
+
privacyNoticeUrl?: string;
|
64
68
|
/**
|
65
69
|
* The draft state of the form
|
66
70
|
*/
|
@@ -89,7 +93,7 @@ export interface FormMetadata {
|
|
89
93
|
export type FormByIdInput = Pick<FormMetadata, 'id'>;
|
90
94
|
export type FormBySlugInput = Pick<FormMetadata, 'slug'>;
|
91
95
|
export type FormMetadataDocument = Omit<FormMetadata, 'id'>;
|
92
|
-
export type FormMetadataInput = Pick<FormMetadata, 'title' | 'organisation' | 'teamName' | 'teamEmail'>;
|
96
|
+
export type FormMetadataInput = Pick<FormMetadata, 'title' | 'organisation' | 'teamName' | 'teamEmail' | 'privacyNoticeUrl'>;
|
93
97
|
export interface FormResponse {
|
94
98
|
id: FormMetadata['id'];
|
95
99
|
slug: FormMetadata['slug'];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,IAAI,CAAA;IAEf;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAA;IAE7B;;OAEG;IACH,SAAS,EAAE,IAAI,CAAA;IAEf;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAA;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAEzB;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IAExB;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AACpD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;AACxD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAC3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,YAAY,EACZ,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,IAAI,CAAA;IAEf;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAA;IAE7B;;OAEG;IACH,SAAS,EAAE,IAAI,CAAA;IAEf;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAA;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAEzB;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAA;IAExB;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEzC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC1C;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AACpD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;AACxD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AAC3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,YAAY,EACZ,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,kBAAkB,CACzE,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;CACf"}
|
package/package.json
CHANGED
@@ -35,6 +35,12 @@ export const teamEmailSchema = Joi.string()
|
|
35
35
|
.trim()
|
36
36
|
.required()
|
37
37
|
|
38
|
+
export const privacyNoticeUrlSchema = Joi.string()
|
39
|
+
.uri({
|
40
|
+
scheme: ['http', 'https']
|
41
|
+
})
|
42
|
+
.trim()
|
43
|
+
|
38
44
|
export const authoredAtSchema = Joi.date().iso().required()
|
39
45
|
export const authorIdSchema = Joi.string().trim().required()
|
40
46
|
export const authorDisplayNameSchema = Joi.string().trim().required()
|
@@ -43,7 +49,8 @@ export const formMetadataInputKeys = {
|
|
43
49
|
title: titleSchema,
|
44
50
|
organisation: organisationSchema,
|
45
51
|
teamName: teamNameSchema,
|
46
|
-
teamEmail: teamEmailSchema
|
52
|
+
teamEmail: teamEmailSchema,
|
53
|
+
privacyNoticeUrl: privacyNoticeUrlSchema
|
47
54
|
}
|
48
55
|
|
49
56
|
/**
|
@@ -75,6 +75,11 @@ export interface FormMetadata {
|
|
75
75
|
*/
|
76
76
|
teamEmail: string
|
77
77
|
|
78
|
+
/**
|
79
|
+
* The url of the privacy notice
|
80
|
+
*/
|
81
|
+
privacyNoticeUrl?: string
|
82
|
+
|
78
83
|
/**
|
79
84
|
* The draft state of the form
|
80
85
|
*/
|
@@ -111,7 +116,7 @@ export type FormBySlugInput = Pick<FormMetadata, 'slug'>
|
|
111
116
|
export type FormMetadataDocument = Omit<FormMetadata, 'id'>
|
112
117
|
export type FormMetadataInput = Pick<
|
113
118
|
FormMetadata,
|
114
|
-
'title' | 'organisation' | 'teamName' | 'teamEmail'
|
119
|
+
'title' | 'organisation' | 'teamName' | 'teamEmail' | 'privacyNoticeUrl'
|
115
120
|
>
|
116
121
|
|
117
122
|
export interface FormResponse {
|