@defra/forms-model 3.0.10 → 3.0.12
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/components/component-types.js +1 -5
- package/dist/module/components/component-types.js.map +1 -1
- package/dist/module/components/conditional-component-types.js +1 -5
- package/dist/module/components/conditional-component-types.js.map +1 -1
- package/dist/module/components/enums.js +1 -5
- package/dist/module/components/enums.js.map +1 -1
- package/dist/module/components/index.js +3 -24
- package/dist/module/components/index.js.map +1 -1
- package/dist/module/components/types.js +1 -1
- package/dist/module/conditions/condition-abstract.js +3 -8
- package/dist/module/conditions/condition-abstract.js.map +1 -1
- package/dist/module/conditions/condition-field.js +3 -8
- package/dist/module/conditions/condition-field.js.map +1 -1
- package/dist/module/conditions/condition-group-def.js +1 -6
- package/dist/module/conditions/condition-group-def.js.map +1 -1
- package/dist/module/conditions/condition-group.js +4 -9
- package/dist/module/conditions/condition-group.js.map +1 -1
- package/dist/module/conditions/condition-model.js +20 -25
- package/dist/module/conditions/condition-model.js.map +1 -1
- package/dist/module/conditions/condition-operators.js +15 -23
- package/dist/module/conditions/condition-operators.js.map +1 -1
- package/dist/module/conditions/condition-ref.js +2 -7
- package/dist/module/conditions/condition-ref.js.map +1 -1
- package/dist/module/conditions/condition-value-abstract.js +3 -8
- package/dist/module/conditions/condition-value-abstract.js.map +1 -1
- package/dist/module/conditions/condition-value-registration.js +1 -6
- package/dist/module/conditions/condition-value-registration.js.map +1 -1
- package/dist/module/conditions/condition-values.js +12 -20
- package/dist/module/conditions/condition-values.js.map +1 -1
- package/dist/module/conditions/condition.js +9 -14
- package/dist/module/conditions/condition.js.map +1 -1
- package/dist/module/conditions/enums.js +1 -5
- package/dist/module/conditions/enums.js.map +1 -1
- package/dist/module/conditions/helpers.js +2 -7
- package/dist/module/conditions/helpers.js.map +1 -1
- package/dist/module/conditions/index.js +10 -139
- package/dist/module/conditions/index.js.map +1 -1
- package/dist/module/conditions/inline-condition-model.js +15 -26
- package/dist/module/conditions/inline-condition-model.js.map +1 -1
- package/dist/module/conditions/inline-condition-operators.js +15 -23
- package/dist/module/conditions/inline-condition-operators.js.map +1 -1
- package/dist/module/conditions/inline-condition-values.js +9 -17
- package/dist/module/conditions/inline-condition-values.js.map +1 -1
- package/dist/module/conditions/types.js +1 -1
- package/dist/module/conditions/types.js.map +1 -1
- package/dist/module/data-model/conditions-wrapper.js +3 -8
- package/dist/module/data-model/conditions-wrapper.js.map +1 -1
- package/dist/module/data-model/enums.js +1 -5
- package/dist/module/data-model/enums.js.map +1 -1
- package/dist/module/data-model/index.js +3 -24
- package/dist/module/data-model/index.js.map +1 -1
- package/dist/module/data-model/input-wrapper.js +3 -8
- package/dist/module/data-model/input-wrapper.js.map +1 -1
- package/dist/module/data-model/types.js +1 -5
- package/dist/module/data-model/types.js.map +1 -1
- package/dist/module/form/form-configuration.js +1 -6
- package/dist/module/form/form-configuration.js.map +1 -1
- package/dist/module/form/index.js +1 -10
- package/dist/module/form/index.js.map +1 -1
- package/dist/module/index.js +8 -91
- package/dist/module/index.js.map +1 -1
- package/dist/module/migration/index.js +1 -10
- package/dist/module/migration/index.js.map +1 -1
- package/dist/module/migration/migration.0-2.js +1 -5
- package/dist/module/migration/migration.0-2.js.map +1 -1
- package/dist/module/migration/migration.1-2.js +3 -6
- package/dist/module/migration/migration.1-2.js.map +1 -1
- package/dist/module/migration/types.js +1 -1
- package/dist/module/migration/whichMigrations.js +5 -9
- package/dist/module/migration/whichMigrations.js.map +1 -1
- package/dist/module/schema/index.js +1 -16
- package/dist/module/schema/index.js.map +1 -1
- package/dist/module/schema/schema.js +163 -167
- package/dist/module/schema/schema.js.map +1 -1
- package/dist/module/utils/helpers.js +5 -13
- package/dist/module/utils/helpers.js.map +1 -1
- package/dist/module/utils/logger.js +1 -6
- package/dist/module/utils/logger.js.map +1 -1
- package/dist/types/components/component-types.d.ts +1 -1
- package/dist/types/components/component-types.d.ts.map +1 -1
- package/dist/types/components/conditional-component-types.d.ts +1 -1
- package/dist/types/components/conditional-component-types.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +3 -3
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/conditions/condition-abstract.d.ts +1 -1
- package/dist/types/conditions/condition-abstract.d.ts.map +1 -1
- package/dist/types/conditions/condition-field.d.ts +1 -1
- package/dist/types/conditions/condition-field.d.ts.map +1 -1
- package/dist/types/conditions/condition-group-def.d.ts +2 -2
- package/dist/types/conditions/condition-group-def.d.ts.map +1 -1
- package/dist/types/conditions/condition-group.d.ts +2 -2
- package/dist/types/conditions/condition-group.d.ts.map +1 -1
- package/dist/types/conditions/condition-model.d.ts +5 -5
- package/dist/types/conditions/condition-model.d.ts.map +1 -1
- package/dist/types/conditions/condition-operators.d.ts +2 -2
- package/dist/types/conditions/condition-operators.d.ts.map +1 -1
- package/dist/types/conditions/condition-ref.d.ts +2 -2
- package/dist/types/conditions/condition-ref.d.ts.map +1 -1
- package/dist/types/conditions/condition-value-abstract.d.ts +1 -1
- package/dist/types/conditions/condition-value-abstract.d.ts.map +1 -1
- package/dist/types/conditions/condition-values.d.ts +3 -3
- package/dist/types/conditions/condition-values.d.ts.map +1 -1
- package/dist/types/conditions/condition.d.ts +4 -4
- package/dist/types/conditions/condition.d.ts.map +1 -1
- package/dist/types/conditions/index.d.ts +10 -10
- package/dist/types/conditions/index.d.ts.map +1 -1
- package/dist/types/conditions/types.d.ts +3 -3
- package/dist/types/conditions/types.d.ts.map +1 -1
- package/dist/types/data-model/conditions-wrapper.d.ts +1 -1
- package/dist/types/data-model/conditions-wrapper.d.ts.map +1 -1
- package/dist/types/data-model/index.d.ts +3 -3
- package/dist/types/data-model/index.d.ts.map +1 -1
- package/dist/types/data-model/input-wrapper.d.ts +2 -2
- package/dist/types/data-model/input-wrapper.d.ts.map +1 -1
- package/dist/types/data-model/types.d.ts +3 -3
- package/dist/types/data-model/types.d.ts.map +1 -1
- package/dist/types/form/index.d.ts +1 -1
- package/dist/types/form/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/migration/index.d.ts +1 -1
- package/dist/types/migration/index.d.ts.map +1 -1
- package/dist/types/migration/migration.0-2.d.ts +1 -1
- package/dist/types/migration/migration.0-2.d.ts.map +1 -1
- package/dist/types/migration/migration.1-2.d.ts +1 -1
- package/dist/types/migration/migration.1-2.d.ts.map +1 -1
- package/dist/types/migration/whichMigrations.d.ts +1 -1
- package/dist/types/migration/whichMigrations.d.ts.map +1 -1
- package/dist/types/schema/index.d.ts +1 -1
- package/dist/types/schema/index.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/components/component-types.ts +1 -1
- package/src/components/conditional-component-types.ts +1 -1
- package/src/components/index.ts +3 -3
- package/src/conditions/condition-abstract.ts +1 -1
- package/src/conditions/condition-field.ts +2 -2
- package/src/conditions/condition-group-def.ts +1 -1
- package/src/conditions/condition-group.ts +3 -3
- package/src/conditions/condition-model.ts +9 -9
- package/src/conditions/condition-operators.ts +6 -3
- package/src/conditions/condition-ref.ts +2 -2
- package/src/conditions/condition-value-abstract.ts +1 -1
- package/src/conditions/condition-values.ts +3 -3
- package/src/conditions/condition.ts +6 -6
- package/src/conditions/index.ts +10 -10
- package/src/conditions/inline-condition-model.ts +3 -3
- package/src/conditions/inline-condition-operators.ts +1 -1
- package/src/conditions/types.ts +3 -3
- package/src/data-model/conditions-wrapper.ts +2 -2
- package/src/data-model/index.ts +3 -3
- package/src/data-model/input-wrapper.ts +3 -3
- package/src/data-model/types.ts +3 -3
- package/src/form/index.ts +1 -1
- package/src/index.ts +11 -11
- package/src/migration/index.ts +1 -1
- package/src/migration/migration.0-2.ts +1 -1
- package/src/migration/migration.1-2.ts +2 -2
- package/src/migration/whichMigrations.ts +3 -3
- package/src/schema/index.ts +1 -1
- package/dist/browser/components/component-types.js +0 -220
- package/dist/browser/components/component-types.js.map +0 -1
- package/dist/browser/components/conditional-component-types.js +0 -28
- package/dist/browser/components/conditional-component-types.js.map +0 -1
- package/dist/browser/components/enums.js +0 -46
- package/dist/browser/components/enums.js.map +0 -1
- package/dist/browser/components/index.js +0 -36
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/components/types.js +0 -16
- package/dist/browser/components/types.js.map +0 -1
- package/dist/browser/conditions/condition-abstract.js +0 -62
- package/dist/browser/conditions/condition-abstract.js.map +0 -1
- package/dist/browser/conditions/condition-field.js +0 -45
- package/dist/browser/conditions/condition-field.js.map +0 -1
- package/dist/browser/conditions/condition-group-def.js +0 -45
- package/dist/browser/conditions/condition-group-def.js.map +0 -1
- package/dist/browser/conditions/condition-group.js +0 -64
- package/dist/browser/conditions/condition-group.js.map +0 -1
- package/dist/browser/conditions/condition-model.js +0 -214
- package/dist/browser/conditions/condition-model.js.map +0 -1
- package/dist/browser/conditions/condition-operators.js +0 -132
- package/dist/browser/conditions/condition-operators.js.map +0 -1
- package/dist/browser/conditions/condition-ref.js +0 -51
- package/dist/browser/conditions/condition-ref.js.map +0 -1
- package/dist/browser/conditions/condition-value-abstract.js +0 -41
- package/dist/browser/conditions/condition-value-abstract.js.map +0 -1
- package/dist/browser/conditions/condition-value-registration.js +0 -37
- package/dist/browser/conditions/condition-value-registration.js.map +0 -1
- package/dist/browser/conditions/condition-values.js +0 -127
- package/dist/browser/conditions/condition-values.js.map +0 -1
- package/dist/browser/conditions/condition.js +0 -56
- package/dist/browser/conditions/condition.js.map +0 -1
- package/dist/browser/conditions/enums.js +0 -24
- package/dist/browser/conditions/enums.js.map +0 -1
- package/dist/browser/conditions/helpers.js +0 -26
- package/dist/browser/conditions/helpers.js.map +0 -1
- package/dist/browser/conditions/index.js +0 -144
- package/dist/browser/conditions/index.js.map +0 -1
- package/dist/browser/conditions/inline-condition-model.js +0 -418
- package/dist/browser/conditions/inline-condition-model.js.map +0 -1
- package/dist/browser/conditions/inline-condition-operators.js +0 -132
- package/dist/browser/conditions/inline-condition-operators.js.map +0 -1
- package/dist/browser/conditions/inline-condition-values.js +0 -159
- package/dist/browser/conditions/inline-condition-values.js.map +0 -1
- package/dist/browser/conditions/types.js +0 -16
- package/dist/browser/conditions/types.js.map +0 -1
- package/dist/browser/data-model/conditions-wrapper.js +0 -49
- package/dist/browser/data-model/conditions-wrapper.js.map +0 -1
- package/dist/browser/data-model/enums.js +0 -25
- package/dist/browser/data-model/enums.js.map +0 -1
- package/dist/browser/data-model/index.js +0 -36
- package/dist/browser/data-model/index.js.map +0 -1
- package/dist/browser/data-model/input-wrapper.js +0 -49
- package/dist/browser/data-model/input-wrapper.js.map +0 -1
- package/dist/browser/data-model/types.js +0 -27
- package/dist/browser/data-model/types.js.map +0 -1
- package/dist/browser/form/form-configuration.js +0 -38
- package/dist/browser/form/form-configuration.js.map +0 -1
- package/dist/browser/form/index.js +0 -24
- package/dist/browser/form/index.js.map +0 -1
- package/dist/browser/index.js +0 -98
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/migration/index.js +0 -24
- package/dist/browser/migration/index.js.map +0 -1
- package/dist/browser/migration/migration.0-2.js +0 -65
- package/dist/browser/migration/migration.0-2.js.map +0 -1
- package/dist/browser/migration/migration.1-2.js +0 -108
- package/dist/browser/migration/migration.1-2.js.map +0 -1
- package/dist/browser/migration/types.js +0 -16
- package/dist/browser/migration/types.js.map +0 -1
- package/dist/browser/migration/whichMigrations.js +0 -38
- package/dist/browser/migration/whichMigrations.js.map +0 -1
- package/dist/browser/schema/index.js +0 -30
- package/dist/browser/schema/index.js.map +0 -1
- package/dist/browser/schema/schema.js +0 -255
- package/dist/browser/schema/schema.js.map +0 -1
- package/dist/browser/utils/helpers.js +0 -48
- package/dist/browser/utils/helpers.js.map +0 -1
- package/dist/browser/utils/logger.js +0 -46
- package/dist/browser/utils/logger.js.map +0 -1
@@ -1,193 +1,189 @@
|
|
1
|
-
|
1
|
+
import joi from 'joi';
|
2
2
|
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.componentSchema = exports.Schema = exports.CURRENT_VERSION = void 0;
|
5
|
-
var _joi = _interopRequireDefault(require("joi"));
|
6
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7
3
|
/**
|
8
4
|
* If an optional key is added, CURRENT_VERSION does not need to be incremented.
|
9
5
|
* Only breaking changes will require an increment, as well as a migration script.
|
10
6
|
*/
|
11
|
-
const CURRENT_VERSION =
|
12
|
-
const sectionsSchema =
|
13
|
-
name:
|
14
|
-
title:
|
15
|
-
hideTitle:
|
16
|
-
});
|
17
|
-
const conditionFieldSchema =
|
18
|
-
name:
|
19
|
-
type:
|
20
|
-
display:
|
21
|
-
});
|
22
|
-
const conditionValueSchema =
|
23
|
-
type:
|
24
|
-
value:
|
25
|
-
display:
|
26
|
-
});
|
27
|
-
const relativeTimeValueSchema =
|
28
|
-
type:
|
29
|
-
timePeriod:
|
30
|
-
timeUnit:
|
31
|
-
direction:
|
32
|
-
timeOnly:
|
33
|
-
});
|
34
|
-
const conditionRefSchema =
|
35
|
-
conditionName:
|
36
|
-
conditionDisplayName:
|
37
|
-
coordinator:
|
38
|
-
});
|
39
|
-
const conditionSchema =
|
7
|
+
export const CURRENT_VERSION = 2;
|
8
|
+
const sectionsSchema = joi.object().keys({
|
9
|
+
name: joi.string().required(),
|
10
|
+
title: joi.string().required(),
|
11
|
+
hideTitle: joi.boolean().default(false)
|
12
|
+
});
|
13
|
+
const conditionFieldSchema = joi.object().keys({
|
14
|
+
name: joi.string().required(),
|
15
|
+
type: joi.string().required(),
|
16
|
+
display: joi.string().required()
|
17
|
+
});
|
18
|
+
const conditionValueSchema = joi.object().keys({
|
19
|
+
type: joi.string().required(),
|
20
|
+
value: joi.string().required(),
|
21
|
+
display: joi.string().required()
|
22
|
+
});
|
23
|
+
const relativeTimeValueSchema = joi.object().keys({
|
24
|
+
type: joi.string().required(),
|
25
|
+
timePeriod: joi.string().required(),
|
26
|
+
timeUnit: joi.string().required(),
|
27
|
+
direction: joi.string().required(),
|
28
|
+
timeOnly: joi.boolean().required()
|
29
|
+
});
|
30
|
+
const conditionRefSchema = joi.object().keys({
|
31
|
+
conditionName: joi.string().required(),
|
32
|
+
conditionDisplayName: joi.string().required(),
|
33
|
+
coordinator: joi.string().optional()
|
34
|
+
});
|
35
|
+
const conditionSchema = joi.object().keys({
|
40
36
|
field: conditionFieldSchema,
|
41
|
-
operator:
|
42
|
-
value:
|
43
|
-
coordinator:
|
44
|
-
});
|
45
|
-
const conditionGroupSchema =
|
46
|
-
conditions:
|
47
|
-
});
|
48
|
-
const conditionsModelSchema =
|
49
|
-
name:
|
50
|
-
conditions:
|
51
|
-
});
|
52
|
-
const conditionsSchema =
|
53
|
-
name:
|
54
|
-
displayName:
|
55
|
-
value:
|
56
|
-
});
|
57
|
-
const localisedString =
|
58
|
-
a:
|
59
|
-
}).unknown(),
|
60
|
-
const componentSchema =
|
61
|
-
type:
|
62
|
-
name:
|
37
|
+
operator: joi.string().required(),
|
38
|
+
value: joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),
|
39
|
+
coordinator: joi.string().optional()
|
40
|
+
});
|
41
|
+
const conditionGroupSchema = joi.object().keys({
|
42
|
+
conditions: joi.array().items(joi.alternatives().try(conditionSchema, conditionRefSchema, joi.any() /** Should be a joi.link('#conditionGroupSchema') */))
|
43
|
+
});
|
44
|
+
const conditionsModelSchema = joi.object().keys({
|
45
|
+
name: joi.string().required(),
|
46
|
+
conditions: joi.array().items(joi.alternatives().try(conditionSchema, conditionRefSchema, conditionGroupSchema))
|
47
|
+
});
|
48
|
+
const conditionsSchema = joi.object().keys({
|
49
|
+
name: joi.string().required(),
|
50
|
+
displayName: joi.string(),
|
51
|
+
value: joi.alternatives().try(joi.string(), conditionsModelSchema).required()
|
52
|
+
});
|
53
|
+
const localisedString = joi.alternatives().try(joi.object({
|
54
|
+
a: joi.any()
|
55
|
+
}).unknown(), joi.string().allow(''));
|
56
|
+
export const componentSchema = joi.object().keys({
|
57
|
+
type: joi.string().required(),
|
58
|
+
name: joi.string(),
|
63
59
|
title: localisedString,
|
64
60
|
hint: localisedString.optional(),
|
65
|
-
options:
|
66
|
-
schema:
|
67
|
-
min:
|
68
|
-
max:
|
61
|
+
options: joi.object().default({}),
|
62
|
+
schema: joi.object({
|
63
|
+
min: joi.number(),
|
64
|
+
max: joi.number()
|
69
65
|
}).unknown(true).default({}),
|
70
|
-
list:
|
66
|
+
list: joi.string().optional()
|
71
67
|
}).unknown(true);
|
72
|
-
const nextSchema =
|
73
|
-
path:
|
74
|
-
condition:
|
75
|
-
redirect:
|
68
|
+
const nextSchema = joi.object().keys({
|
69
|
+
path: joi.string().required(),
|
70
|
+
condition: joi.string().allow('').optional(),
|
71
|
+
redirect: joi.string().uri().optional()
|
76
72
|
});
|
77
73
|
|
78
74
|
/**
|
79
75
|
* `/status` is a special route for providing a user's application status.
|
80
76
|
* It should not be configured via the designer.
|
81
77
|
*/
|
82
|
-
const pageSchema =
|
83
|
-
path:
|
78
|
+
const pageSchema = joi.object().keys({
|
79
|
+
path: joi.string().required().disallow('/status'),
|
84
80
|
title: localisedString,
|
85
|
-
section:
|
86
|
-
controller:
|
87
|
-
components:
|
88
|
-
next:
|
89
|
-
repeatField:
|
90
|
-
options:
|
91
|
-
backLinkFallback:
|
92
|
-
});
|
93
|
-
const toggleableString =
|
94
|
-
const confirmationPageSchema =
|
95
|
-
customText:
|
96
|
-
title:
|
81
|
+
section: joi.string(),
|
82
|
+
controller: joi.string(),
|
83
|
+
components: joi.array().items(componentSchema),
|
84
|
+
next: joi.array().items(nextSchema),
|
85
|
+
repeatField: joi.string().optional(),
|
86
|
+
options: joi.object().optional(),
|
87
|
+
backLinkFallback: joi.string().optional()
|
88
|
+
});
|
89
|
+
const toggleableString = joi.alternatives().try(joi.boolean(), joi.string());
|
90
|
+
const confirmationPageSchema = joi.object({
|
91
|
+
customText: joi.object({
|
92
|
+
title: joi.string().default('Application complete'),
|
97
93
|
paymentSkipped: toggleableString.default('Someone will be in touch to make a payment.'),
|
98
94
|
nextSteps: toggleableString.default('You will receive an email with details with the next steps.')
|
99
95
|
}).default(),
|
100
|
-
components:
|
96
|
+
components: joi.array().items(componentSchema)
|
101
97
|
});
|
102
|
-
const paymentSkippedWarningPage =
|
103
|
-
customText:
|
104
|
-
title:
|
105
|
-
caption:
|
106
|
-
body:
|
98
|
+
const paymentSkippedWarningPage = joi.object({
|
99
|
+
customText: joi.object({
|
100
|
+
title: joi.string().default('Pay for your application').optional(),
|
101
|
+
caption: joi.string().default('Payment').optional(),
|
102
|
+
body: joi.string().default('').optional()
|
107
103
|
})
|
108
104
|
});
|
109
|
-
const specialPagesSchema =
|
105
|
+
const specialPagesSchema = joi.object().keys({
|
110
106
|
confirmationPage: confirmationPageSchema.optional(),
|
111
107
|
paymentSkippedWarningPage: paymentSkippedWarningPage.optional()
|
112
108
|
});
|
113
|
-
const listItemSchema =
|
109
|
+
const listItemSchema = joi.object().keys({
|
114
110
|
text: localisedString,
|
115
|
-
value:
|
111
|
+
value: joi.alternatives().try(joi.number(), joi.string()),
|
116
112
|
description: localisedString.optional(),
|
117
|
-
conditional:
|
118
|
-
components:
|
113
|
+
conditional: joi.object().keys({
|
114
|
+
components: joi.array().required().items(componentSchema.unknown(true)).unique('name')
|
119
115
|
}).allow(null).optional(),
|
120
|
-
condition:
|
116
|
+
condition: joi.string().allow(null, '').optional()
|
121
117
|
});
|
122
|
-
const listSchema =
|
123
|
-
name:
|
118
|
+
const listSchema = joi.object().keys({
|
119
|
+
name: joi.string().required(),
|
124
120
|
title: localisedString,
|
125
|
-
type:
|
126
|
-
items:
|
127
|
-
});
|
128
|
-
const feeSchema =
|
129
|
-
description:
|
130
|
-
amount:
|
131
|
-
multiplier:
|
132
|
-
condition:
|
133
|
-
prefix:
|
134
|
-
});
|
135
|
-
const multiApiKeySchema =
|
136
|
-
test:
|
137
|
-
production:
|
138
|
-
});
|
139
|
-
const replyToConfigurationSchema =
|
140
|
-
emailReplyToId:
|
141
|
-
condition:
|
142
|
-
});
|
143
|
-
const notifySchema =
|
144
|
-
apiKey: [
|
145
|
-
templateId:
|
146
|
-
emailField:
|
147
|
-
personalisation:
|
148
|
-
personalisationFieldCustomisation:
|
149
|
-
addReferencesToPersonalisation:
|
150
|
-
emailReplyToIdConfiguration:
|
151
|
-
});
|
152
|
-
const emailSchema =
|
153
|
-
emailAddress:
|
154
|
-
});
|
155
|
-
const webhookSchema =
|
156
|
-
url:
|
157
|
-
allowRetry:
|
158
|
-
});
|
159
|
-
const outputSchema =
|
160
|
-
name:
|
161
|
-
title:
|
162
|
-
type:
|
163
|
-
outputConfiguration:
|
164
|
-
});
|
165
|
-
const feedbackSchema =
|
166
|
-
feedbackForm:
|
167
|
-
url:
|
168
|
-
is:
|
169
|
-
then:
|
121
|
+
type: joi.string().required().valid('string', 'number'),
|
122
|
+
items: joi.array().items(listItemSchema)
|
123
|
+
});
|
124
|
+
const feeSchema = joi.object().keys({
|
125
|
+
description: joi.string().required(),
|
126
|
+
amount: joi.number().required(),
|
127
|
+
multiplier: joi.string().optional(),
|
128
|
+
condition: joi.string().optional(),
|
129
|
+
prefix: joi.string().optional()
|
130
|
+
});
|
131
|
+
const multiApiKeySchema = joi.object({
|
132
|
+
test: joi.string().optional(),
|
133
|
+
production: joi.string().optional()
|
134
|
+
});
|
135
|
+
const replyToConfigurationSchema = joi.object({
|
136
|
+
emailReplyToId: joi.string(),
|
137
|
+
condition: joi.string().allow('').optional()
|
138
|
+
});
|
139
|
+
const notifySchema = joi.object().keys({
|
140
|
+
apiKey: [joi.string().allow('').optional(), multiApiKeySchema],
|
141
|
+
templateId: joi.string(),
|
142
|
+
emailField: joi.string(),
|
143
|
+
personalisation: joi.array().items(joi.string()),
|
144
|
+
personalisationFieldCustomisation: joi.object().pattern(/./, joi.array().items(joi.string())).optional(),
|
145
|
+
addReferencesToPersonalisation: joi.boolean().optional(),
|
146
|
+
emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema)
|
147
|
+
});
|
148
|
+
const emailSchema = joi.object().keys({
|
149
|
+
emailAddress: joi.string()
|
150
|
+
});
|
151
|
+
const webhookSchema = joi.object().keys({
|
152
|
+
url: joi.string(),
|
153
|
+
allowRetry: joi.boolean().default(true)
|
154
|
+
});
|
155
|
+
const outputSchema = joi.object().keys({
|
156
|
+
name: joi.string(),
|
157
|
+
title: joi.string().optional(),
|
158
|
+
type: joi.string().allow('notify', 'email', 'webhook', 'sheets'),
|
159
|
+
outputConfiguration: joi.alternatives().try(notifySchema, emailSchema, webhookSchema)
|
160
|
+
});
|
161
|
+
const feedbackSchema = joi.object().keys({
|
162
|
+
feedbackForm: joi.boolean().default(false),
|
163
|
+
url: joi.when('feedbackForm', {
|
164
|
+
is: joi.boolean().valid(false),
|
165
|
+
then: joi.string().optional().allow('')
|
170
166
|
}),
|
171
|
-
emailAddress:
|
167
|
+
emailAddress: joi.string().email({
|
172
168
|
tlds: {
|
173
169
|
allow: false
|
174
170
|
}
|
175
171
|
}).optional()
|
176
172
|
});
|
177
|
-
const phaseBannerSchema =
|
178
|
-
phase:
|
179
|
-
});
|
180
|
-
const feeOptionSchema =
|
181
|
-
payApiKey: [
|
182
|
-
paymentReferenceFormat: [
|
183
|
-
payReturnUrl:
|
184
|
-
allowSubmissionWithoutPayment:
|
185
|
-
maxAttempts:
|
186
|
-
customPayErrorMessage:
|
187
|
-
showPaymentSkippedWarningPage:
|
173
|
+
const phaseBannerSchema = joi.object().keys({
|
174
|
+
phase: joi.string().valid('alpha', 'beta')
|
175
|
+
});
|
176
|
+
const feeOptionSchema = joi.object().keys({
|
177
|
+
payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],
|
178
|
+
paymentReferenceFormat: [joi.string().optional()],
|
179
|
+
payReturnUrl: joi.string().optional(),
|
180
|
+
allowSubmissionWithoutPayment: joi.boolean().optional().default(true),
|
181
|
+
maxAttempts: joi.number().optional().default(3),
|
182
|
+
customPayErrorMessage: joi.string().optional(),
|
183
|
+
showPaymentSkippedWarningPage: joi.when('allowSubmissionWithoutPayment', {
|
188
184
|
is: true,
|
189
|
-
then:
|
190
|
-
otherwise:
|
185
|
+
then: joi.boolean().valid(true, false).default(false),
|
186
|
+
otherwise: joi.boolean().valid(false).default(false)
|
191
187
|
})
|
192
188
|
}).default(({
|
193
189
|
payApiKey,
|
@@ -202,24 +198,24 @@ const feeOptionSchema = _joi.default.object().keys({
|
|
202
198
|
})
|
203
199
|
};
|
204
200
|
});
|
205
|
-
const Schema =
|
201
|
+
export const Schema = joi.object().required().keys({
|
206
202
|
name: localisedString.optional(),
|
207
203
|
feedback: feedbackSchema,
|
208
|
-
startPage:
|
209
|
-
pages:
|
210
|
-
sections:
|
211
|
-
conditions:
|
212
|
-
lists:
|
213
|
-
fees:
|
214
|
-
paymentReferenceFormat:
|
215
|
-
metadata:
|
216
|
-
a:
|
204
|
+
startPage: joi.string().required(),
|
205
|
+
pages: joi.array().required().items(pageSchema).unique('path'),
|
206
|
+
sections: joi.array().items(sectionsSchema).unique('name').required(),
|
207
|
+
conditions: joi.array().items(conditionsSchema).unique('name'),
|
208
|
+
lists: joi.array().items(listSchema).unique('name'),
|
209
|
+
fees: joi.array().items(feeSchema).optional(),
|
210
|
+
paymentReferenceFormat: joi.string().optional(),
|
211
|
+
metadata: joi.object({
|
212
|
+
a: joi.any()
|
217
213
|
}).unknown().optional(),
|
218
|
-
declaration:
|
219
|
-
outputs:
|
220
|
-
payApiKey: [
|
221
|
-
skipSummary:
|
222
|
-
version:
|
214
|
+
declaration: joi.string().allow('').optional(),
|
215
|
+
outputs: joi.array().items(outputSchema),
|
216
|
+
payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],
|
217
|
+
skipSummary: joi.boolean().default(false),
|
218
|
+
version: joi.number().default(CURRENT_VERSION),
|
223
219
|
phaseBanner: phaseBannerSchema,
|
224
220
|
specialPages: specialPagesSchema.optional(),
|
225
221
|
feeOptions: feeOptionSchema
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","names":["_joi","_interopRequireDefault","require","obj","__esModule","default","CURRENT_VERSION","exports","sectionsSchema","joi","object","keys","name","string","required","title","hideTitle","boolean","conditionFieldSchema","type","display","conditionValueSchema","value","relativeTimeValueSchema","timePeriod","timeUnit","direction","timeOnly","conditionRefSchema","conditionName","conditionDisplayName","coordinator","optional","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","any","conditionsModelSchema","conditionsSchema","displayName","localisedString","a","unknown","allow","componentSchema","hint","options","schema","min","number","max","list","nextSchema","path","condition","redirect","uri","pageSchema","disallow","section","controller","components","next","repeatField","backLinkFallback","toggleableString","confirmationPageSchema","customText","paymentSkipped","nextSteps","paymentSkippedWarningPage","caption","body","specialPagesSchema","confirmationPage","listItemSchema","text","description","conditional","unique","listSchema","valid","feeSchema","amount","multiplier","prefix","multiApiKeySchema","test","production","replyToConfigurationSchema","emailReplyToId","notifySchema","apiKey","templateId","emailField","personalisation","personalisationFieldCustomisation","pattern","addReferencesToPersonalisation","emailReplyToIdConfiguration","emailSchema","emailAddress","webhookSchema","url","allowRetry","outputSchema","outputConfiguration","feedbackSchema","feedbackForm","when","is","then","email","tlds","phaseBannerSchema","phase","feeOptionSchema","payApiKey","paymentReferenceFormat","payReturnUrl","allowSubmissionWithoutPayment","maxAttempts","customPayErrorMessage","showPaymentSkippedWarningPage","otherwise","Schema","feedback","startPage","pages","sections","lists","fees","metadata","declaration","outputs","skipSummary","version","phaseBanner","specialPages","feeOptions"],"sources":["../../../src/schema/schema.ts"],"sourcesContent":["import joi from 'joi'\n\n/**\n * If an optional key is added, CURRENT_VERSION does not need to be incremented.\n * Only breaking changes will require an increment, as well as a migration script.\n */\nexport const CURRENT_VERSION = 2\nconst sectionsSchema = joi.object().keys({\n name: joi.string().required(),\n title: joi.string().required(),\n hideTitle: joi.boolean().default(false)\n})\n\nconst conditionFieldSchema = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().required(),\n display: joi.string().required()\n})\n\nconst conditionValueSchema = joi.object().keys({\n type: joi.string().required(),\n value: joi.string().required(),\n display: joi.string().required()\n})\n\nconst relativeTimeValueSchema = joi.object().keys({\n type: joi.string().required(),\n timePeriod: joi.string().required(),\n timeUnit: joi.string().required(),\n direction: joi.string().required(),\n timeOnly: joi.boolean().required()\n})\n\nconst conditionRefSchema = joi.object().keys({\n conditionName: joi.string().required(),\n conditionDisplayName: joi.string().required(),\n coordinator: joi.string().optional()\n})\n\nconst conditionSchema = joi.object().keys({\n field: conditionFieldSchema,\n operator: joi.string().required(),\n value: joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),\n coordinator: joi.string().optional()\n})\n\nconst conditionGroupSchema = joi.object().keys({\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(\n conditionSchema,\n conditionRefSchema,\n joi.any() /** Should be a joi.link('#conditionGroupSchema') */\n )\n )\n})\n\nconst conditionsModelSchema = joi.object().keys({\n name: joi.string().required(),\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(conditionSchema, conditionRefSchema, conditionGroupSchema)\n )\n})\n\nconst conditionsSchema = joi.object().keys({\n name: joi.string().required(),\n displayName: joi.string(),\n value: joi.alternatives().try(joi.string(), conditionsModelSchema).required()\n})\n\nconst localisedString = joi\n .alternatives()\n .try(joi.object({ a: joi.any() }).unknown(), joi.string().allow(''))\n\nexport const componentSchema = joi\n .object()\n .keys({\n type: joi.string().required(),\n name: joi.string(),\n title: localisedString,\n hint: localisedString.optional(),\n options: joi.object().default({}),\n schema: joi\n .object({ min: joi.number(), max: joi.number() })\n .unknown(true)\n .default({}),\n list: joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = joi.object().keys({\n path: joi.string().required(),\n condition: joi.string().allow('').optional(),\n redirect: joi.string().uri().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = joi.object().keys({\n path: joi.string().required().disallow('/status'),\n title: localisedString,\n section: joi.string(),\n controller: joi.string(),\n components: joi.array().items(componentSchema),\n next: joi.array().items(nextSchema),\n repeatField: joi.string().optional(),\n options: joi.object().optional(),\n backLinkFallback: joi.string().optional()\n})\n\nconst toggleableString = joi.alternatives().try(joi.boolean(), joi.string())\n\nconst confirmationPageSchema = joi.object({\n customText: joi\n .object({\n title: joi.string().default('Application complete'),\n paymentSkipped: toggleableString.default(\n 'Someone will be in touch to make a payment.'\n ),\n nextSteps: toggleableString.default(\n 'You will receive an email with details with the next steps.'\n )\n })\n .default(),\n components: joi.array().items(componentSchema)\n})\n\nconst paymentSkippedWarningPage = joi.object({\n customText: joi.object({\n title: joi.string().default('Pay for your application').optional(),\n caption: joi.string().default('Payment').optional(),\n body: joi.string().default('').optional()\n })\n})\n\nconst specialPagesSchema = joi.object().keys({\n confirmationPage: confirmationPageSchema.optional(),\n paymentSkippedWarningPage: paymentSkippedWarningPage.optional()\n})\n\nconst listItemSchema = joi.object().keys({\n text: localisedString,\n value: joi.alternatives().try(joi.number(), joi.string()),\n description: localisedString.optional(),\n conditional: joi\n .object()\n .keys({\n components: joi\n .array()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .allow(null)\n .optional(),\n condition: joi.string().allow(null, '').optional()\n})\n\nconst listSchema = joi.object().keys({\n name: joi.string().required(),\n title: localisedString,\n type: joi.string().required().valid('string', 'number'),\n items: joi.array().items(listItemSchema)\n})\n\nconst feeSchema = joi.object().keys({\n description: joi.string().required(),\n amount: joi.number().required(),\n multiplier: joi.string().optional(),\n condition: joi.string().optional(),\n prefix: joi.string().optional()\n})\n\nconst multiApiKeySchema = joi.object({\n test: joi.string().optional(),\n production: joi.string().optional()\n})\n\nconst replyToConfigurationSchema = joi.object({\n emailReplyToId: joi.string(),\n condition: joi.string().allow('').optional()\n})\n\nconst notifySchema = joi.object().keys({\n apiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n templateId: joi.string(),\n emailField: joi.string(),\n personalisation: joi.array().items(joi.string()),\n personalisationFieldCustomisation: joi\n .object()\n .pattern(/./, joi.array().items(joi.string()))\n .optional(),\n addReferencesToPersonalisation: joi.boolean().optional(),\n emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema)\n})\n\nconst emailSchema = joi.object().keys({\n emailAddress: joi.string()\n})\n\nconst webhookSchema = joi.object().keys({\n url: joi.string(),\n allowRetry: joi.boolean().default(true)\n})\n\nconst outputSchema = joi.object().keys({\n name: joi.string(),\n title: joi.string().optional(),\n type: joi.string().allow('notify', 'email', 'webhook', 'sheets'),\n outputConfiguration: joi\n .alternatives()\n .try(notifySchema, emailSchema, webhookSchema)\n})\n\nconst feedbackSchema = joi.object().keys({\n feedbackForm: joi.boolean().default(false),\n url: joi.when('feedbackForm', {\n is: joi.boolean().valid(false),\n then: joi.string().optional().allow('')\n }),\n emailAddress: joi\n .string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = joi.object().keys({\n phase: joi.string().valid('alpha', 'beta')\n})\n\nconst feeOptionSchema = joi\n .object()\n .keys({\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n paymentReferenceFormat: [joi.string().optional()],\n payReturnUrl: joi.string().optional(),\n allowSubmissionWithoutPayment: joi.boolean().optional().default(true),\n maxAttempts: joi.number().optional().default(3),\n customPayErrorMessage: joi.string().optional(),\n showPaymentSkippedWarningPage: joi.when('allowSubmissionWithoutPayment', {\n is: true,\n then: joi.boolean().valid(true, false).default(false),\n otherwise: joi.boolean().valid(false).default(false)\n })\n })\n .default(({ payApiKey, paymentReferenceFormat }) => {\n return {\n ...(payApiKey && { payApiKey }),\n ...(paymentReferenceFormat && { paymentReferenceFormat })\n }\n })\n\nexport const Schema = joi\n .object()\n .required()\n .keys({\n name: localisedString.optional(),\n feedback: feedbackSchema,\n startPage: joi.string().required(),\n pages: joi.array().required().items(pageSchema).unique('path'),\n sections: joi.array().items(sectionsSchema).unique('name').required(),\n conditions: joi.array().items(conditionsSchema).unique('name'),\n lists: joi.array().items(listSchema).unique('name'),\n fees: joi.array().items(feeSchema).optional(),\n paymentReferenceFormat: joi.string().optional(),\n metadata: joi.object({ a: joi.any() }).unknown().optional(),\n declaration: joi.string().allow('').optional(),\n outputs: joi.array().items(outputSchema),\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n skipSummary: joi.boolean().default(false),\n version: joi.number().default(CURRENT_VERSION),\n phaseBanner: phaseBannerSchema,\n specialPages: specialPagesSchema.optional(),\n feeOptions: feeOptionSchema\n })\n\n/**\n * Schema versions:\n * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.\n * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain\n * options as 'values' rather than referencing a data list\n * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.\n * TODO:- merge fees and paymentReferenceFormat\n * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.\n * if feeOptions are empty, it will pull values from the top level keys.\n * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.\n **/\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"schema.js","names":["joi","CURRENT_VERSION","sectionsSchema","object","keys","name","string","required","title","hideTitle","boolean","default","conditionFieldSchema","type","display","conditionValueSchema","value","relativeTimeValueSchema","timePeriod","timeUnit","direction","timeOnly","conditionRefSchema","conditionName","conditionDisplayName","coordinator","optional","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","any","conditionsModelSchema","conditionsSchema","displayName","localisedString","a","unknown","allow","componentSchema","hint","options","schema","min","number","max","list","nextSchema","path","condition","redirect","uri","pageSchema","disallow","section","controller","components","next","repeatField","backLinkFallback","toggleableString","confirmationPageSchema","customText","paymentSkipped","nextSteps","paymentSkippedWarningPage","caption","body","specialPagesSchema","confirmationPage","listItemSchema","text","description","conditional","unique","listSchema","valid","feeSchema","amount","multiplier","prefix","multiApiKeySchema","test","production","replyToConfigurationSchema","emailReplyToId","notifySchema","apiKey","templateId","emailField","personalisation","personalisationFieldCustomisation","pattern","addReferencesToPersonalisation","emailReplyToIdConfiguration","emailSchema","emailAddress","webhookSchema","url","allowRetry","outputSchema","outputConfiguration","feedbackSchema","feedbackForm","when","is","then","email","tlds","phaseBannerSchema","phase","feeOptionSchema","payApiKey","paymentReferenceFormat","payReturnUrl","allowSubmissionWithoutPayment","maxAttempts","customPayErrorMessage","showPaymentSkippedWarningPage","otherwise","Schema","feedback","startPage","pages","sections","lists","fees","metadata","declaration","outputs","skipSummary","version","phaseBanner","specialPages","feeOptions"],"sources":["../../../src/schema/schema.ts"],"sourcesContent":["import joi from 'joi'\n\n/**\n * If an optional key is added, CURRENT_VERSION does not need to be incremented.\n * Only breaking changes will require an increment, as well as a migration script.\n */\nexport const CURRENT_VERSION = 2\nconst sectionsSchema = joi.object().keys({\n name: joi.string().required(),\n title: joi.string().required(),\n hideTitle: joi.boolean().default(false)\n})\n\nconst conditionFieldSchema = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().required(),\n display: joi.string().required()\n})\n\nconst conditionValueSchema = joi.object().keys({\n type: joi.string().required(),\n value: joi.string().required(),\n display: joi.string().required()\n})\n\nconst relativeTimeValueSchema = joi.object().keys({\n type: joi.string().required(),\n timePeriod: joi.string().required(),\n timeUnit: joi.string().required(),\n direction: joi.string().required(),\n timeOnly: joi.boolean().required()\n})\n\nconst conditionRefSchema = joi.object().keys({\n conditionName: joi.string().required(),\n conditionDisplayName: joi.string().required(),\n coordinator: joi.string().optional()\n})\n\nconst conditionSchema = joi.object().keys({\n field: conditionFieldSchema,\n operator: joi.string().required(),\n value: joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),\n coordinator: joi.string().optional()\n})\n\nconst conditionGroupSchema = joi.object().keys({\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(\n conditionSchema,\n conditionRefSchema,\n joi.any() /** Should be a joi.link('#conditionGroupSchema') */\n )\n )\n})\n\nconst conditionsModelSchema = joi.object().keys({\n name: joi.string().required(),\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(conditionSchema, conditionRefSchema, conditionGroupSchema)\n )\n})\n\nconst conditionsSchema = joi.object().keys({\n name: joi.string().required(),\n displayName: joi.string(),\n value: joi.alternatives().try(joi.string(), conditionsModelSchema).required()\n})\n\nconst localisedString = joi\n .alternatives()\n .try(joi.object({ a: joi.any() }).unknown(), joi.string().allow(''))\n\nexport const componentSchema = joi\n .object()\n .keys({\n type: joi.string().required(),\n name: joi.string(),\n title: localisedString,\n hint: localisedString.optional(),\n options: joi.object().default({}),\n schema: joi\n .object({ min: joi.number(), max: joi.number() })\n .unknown(true)\n .default({}),\n list: joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = joi.object().keys({\n path: joi.string().required(),\n condition: joi.string().allow('').optional(),\n redirect: joi.string().uri().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = joi.object().keys({\n path: joi.string().required().disallow('/status'),\n title: localisedString,\n section: joi.string(),\n controller: joi.string(),\n components: joi.array().items(componentSchema),\n next: joi.array().items(nextSchema),\n repeatField: joi.string().optional(),\n options: joi.object().optional(),\n backLinkFallback: joi.string().optional()\n})\n\nconst toggleableString = joi.alternatives().try(joi.boolean(), joi.string())\n\nconst confirmationPageSchema = joi.object({\n customText: joi\n .object({\n title: joi.string().default('Application complete'),\n paymentSkipped: toggleableString.default(\n 'Someone will be in touch to make a payment.'\n ),\n nextSteps: toggleableString.default(\n 'You will receive an email with details with the next steps.'\n )\n })\n .default(),\n components: joi.array().items(componentSchema)\n})\n\nconst paymentSkippedWarningPage = joi.object({\n customText: joi.object({\n title: joi.string().default('Pay for your application').optional(),\n caption: joi.string().default('Payment').optional(),\n body: joi.string().default('').optional()\n })\n})\n\nconst specialPagesSchema = joi.object().keys({\n confirmationPage: confirmationPageSchema.optional(),\n paymentSkippedWarningPage: paymentSkippedWarningPage.optional()\n})\n\nconst listItemSchema = joi.object().keys({\n text: localisedString,\n value: joi.alternatives().try(joi.number(), joi.string()),\n description: localisedString.optional(),\n conditional: joi\n .object()\n .keys({\n components: joi\n .array()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .allow(null)\n .optional(),\n condition: joi.string().allow(null, '').optional()\n})\n\nconst listSchema = joi.object().keys({\n name: joi.string().required(),\n title: localisedString,\n type: joi.string().required().valid('string', 'number'),\n items: joi.array().items(listItemSchema)\n})\n\nconst feeSchema = joi.object().keys({\n description: joi.string().required(),\n amount: joi.number().required(),\n multiplier: joi.string().optional(),\n condition: joi.string().optional(),\n prefix: joi.string().optional()\n})\n\nconst multiApiKeySchema = joi.object({\n test: joi.string().optional(),\n production: joi.string().optional()\n})\n\nconst replyToConfigurationSchema = joi.object({\n emailReplyToId: joi.string(),\n condition: joi.string().allow('').optional()\n})\n\nconst notifySchema = joi.object().keys({\n apiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n templateId: joi.string(),\n emailField: joi.string(),\n personalisation: joi.array().items(joi.string()),\n personalisationFieldCustomisation: joi\n .object()\n .pattern(/./, joi.array().items(joi.string()))\n .optional(),\n addReferencesToPersonalisation: joi.boolean().optional(),\n emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema)\n})\n\nconst emailSchema = joi.object().keys({\n emailAddress: joi.string()\n})\n\nconst webhookSchema = joi.object().keys({\n url: joi.string(),\n allowRetry: joi.boolean().default(true)\n})\n\nconst outputSchema = joi.object().keys({\n name: joi.string(),\n title: joi.string().optional(),\n type: joi.string().allow('notify', 'email', 'webhook', 'sheets'),\n outputConfiguration: joi\n .alternatives()\n .try(notifySchema, emailSchema, webhookSchema)\n})\n\nconst feedbackSchema = joi.object().keys({\n feedbackForm: joi.boolean().default(false),\n url: joi.when('feedbackForm', {\n is: joi.boolean().valid(false),\n then: joi.string().optional().allow('')\n }),\n emailAddress: joi\n .string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = joi.object().keys({\n phase: joi.string().valid('alpha', 'beta')\n})\n\nconst feeOptionSchema = joi\n .object()\n .keys({\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n paymentReferenceFormat: [joi.string().optional()],\n payReturnUrl: joi.string().optional(),\n allowSubmissionWithoutPayment: joi.boolean().optional().default(true),\n maxAttempts: joi.number().optional().default(3),\n customPayErrorMessage: joi.string().optional(),\n showPaymentSkippedWarningPage: joi.when('allowSubmissionWithoutPayment', {\n is: true,\n then: joi.boolean().valid(true, false).default(false),\n otherwise: joi.boolean().valid(false).default(false)\n })\n })\n .default(({ payApiKey, paymentReferenceFormat }) => {\n return {\n ...(payApiKey && { payApiKey }),\n ...(paymentReferenceFormat && { paymentReferenceFormat })\n }\n })\n\nexport const Schema = joi\n .object()\n .required()\n .keys({\n name: localisedString.optional(),\n feedback: feedbackSchema,\n startPage: joi.string().required(),\n pages: joi.array().required().items(pageSchema).unique('path'),\n sections: joi.array().items(sectionsSchema).unique('name').required(),\n conditions: joi.array().items(conditionsSchema).unique('name'),\n lists: joi.array().items(listSchema).unique('name'),\n fees: joi.array().items(feeSchema).optional(),\n paymentReferenceFormat: joi.string().optional(),\n metadata: joi.object({ a: joi.any() }).unknown().optional(),\n declaration: joi.string().allow('').optional(),\n outputs: joi.array().items(outputSchema),\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n skipSummary: joi.boolean().default(false),\n version: joi.number().default(CURRENT_VERSION),\n phaseBanner: phaseBannerSchema,\n specialPages: specialPagesSchema.optional(),\n feeOptions: feeOptionSchema\n })\n\n/**\n * Schema versions:\n * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.\n * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain\n * options as 'values' rather than referencing a data list\n * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.\n * TODO:- merge fees and paymentReferenceFormat\n * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.\n * if feeOptions are empty, it will pull values from the top level keys.\n * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.\n **/\n"],"mappings":"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"}
|
@@ -1,18 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.clone = void 0;
|
5
|
-
exports.filter = filter;
|
6
|
-
exports.serialiseAndDeserialise = exports.nanoid = void 0;
|
7
|
-
var _nanoid = require("nanoid");
|
8
|
-
const serialiseAndDeserialise = obj => {
|
1
|
+
import { customAlphabet } from 'nanoid';
|
2
|
+
export const serialiseAndDeserialise = obj => {
|
9
3
|
if (typeof obj === 'object' && obj !== null) {
|
10
4
|
return JSON.parse(JSON.stringify(obj));
|
11
5
|
}
|
12
6
|
return obj;
|
13
7
|
};
|
14
|
-
|
15
|
-
const clone = obj => {
|
8
|
+
export const clone = obj => {
|
16
9
|
if (obj) {
|
17
10
|
if (typeof obj.clone === 'function') {
|
18
11
|
return obj.clone();
|
@@ -21,8 +14,7 @@ const clone = obj => {
|
|
21
14
|
}
|
22
15
|
return obj;
|
23
16
|
};
|
24
|
-
|
25
|
-
function filter(obj, predicate) {
|
17
|
+
export function filter(obj, predicate) {
|
26
18
|
const result = {};
|
27
19
|
for (const [key, value] of Object.entries(obj)) {
|
28
20
|
if (value && predicate(value)) {
|
@@ -31,5 +23,5 @@ function filter(obj, predicate) {
|
|
31
23
|
}
|
32
24
|
return result;
|
33
25
|
}
|
34
|
-
const nanoid =
|
26
|
+
export const nanoid = customAlphabet('0123456789_abcdefghijklmnopqrstuvwxyz', 6);
|
35
27
|
//# sourceMappingURL=helpers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["
|
1
|
+
{"version":3,"file":"helpers.js","names":["customAlphabet","serialiseAndDeserialise","obj","JSON","parse","stringify","clone","filter","predicate","result","key","value","Object","entries","nanoid"],"sources":["../../../src/utils/helpers.ts"],"sourcesContent":["import { customAlphabet } from 'nanoid'\n\nexport const serialiseAndDeserialise = <T>(obj: T): T => {\n if (typeof obj === 'object' && obj !== null) {\n return JSON.parse(JSON.stringify(obj))\n }\n\n return obj\n}\n\nexport const clone = <T>(obj: T & { clone?: () => T }): T => {\n if (obj) {\n if (typeof obj.clone === 'function') {\n return obj.clone()\n }\n\n return serialiseAndDeserialise<T>(obj)\n }\n return obj\n}\n\nexport function filter<T extends { [key: string]: unknown }>(\n obj: T,\n predicate: (value: any) => boolean\n): Partial<T> {\n const result = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (value && predicate(value)) {\n result[key] = value\n }\n }\n\n return result\n}\n\nexport const nanoid = customAlphabet('0123456789_abcdefghijklmnopqrstuvwxyz', 6)\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,QAAQ;AAEvC,OAAO,MAAMC,uBAAuB,GAAOC,GAAM,IAAQ;EACvD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;IAC3C,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,GAAG,CAAC,CAAC;EACxC;EAEA,OAAOA,GAAG;AACZ,CAAC;AAED,OAAO,MAAMI,KAAK,GAAOJ,GAA4B,IAAQ;EAC3D,IAAIA,GAAG,EAAE;IACP,IAAI,OAAOA,GAAG,CAACI,KAAK,KAAK,UAAU,EAAE;MACnC,OAAOJ,GAAG,CAACI,KAAK,CAAC,CAAC;IACpB;IAEA,OAAOL,uBAAuB,CAAIC,GAAG,CAAC;EACxC;EACA,OAAOA,GAAG;AACZ,CAAC;AAED,OAAO,SAASK,MAAMA,CACpBL,GAAM,EACNM,SAAkC,EACtB;EACZ,MAAMC,MAAM,GAAG,CAAC,CAAC;EAEjB,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,GAAG,CAAC,EAAE;IAC9C,IAAIS,KAAK,IAAIH,SAAS,CAACG,KAAK,CAAC,EAAE;MAC7BF,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK;IACrB;EACF;EAEA,OAAOF,MAAM;AACf;AAEA,OAAO,MAAMK,MAAM,GAAGd,cAAc,CAAC,uCAAuC,EAAE,CAAC,CAAC"}
|
@@ -1,8 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
exports.Logger = void 0;
|
5
|
-
class Logger {
|
1
|
+
export class Logger {
|
6
2
|
constructor(server, name) {
|
7
3
|
this.server = server;
|
8
4
|
this.name = name;
|
@@ -23,5 +19,4 @@ class Logger {
|
|
23
19
|
this.server.log([level, this.name], message);
|
24
20
|
}
|
25
21
|
}
|
26
|
-
exports.Logger = Logger;
|
27
22
|
//# sourceMappingURL=logger.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.js","names":["Logger","constructor","server","name","error","message","log","warn","info","debug","level"
|
1
|
+
{"version":3,"file":"logger.js","names":["Logger","constructor","server","name","error","message","log","warn","info","debug","level"],"sources":["../../../src/utils/logger.ts"],"sourcesContent":["export class Logger {\n server: any\n name: string\n\n constructor(server: any, name: string) {\n this.server = server\n this.name = name\n }\n\n error(message: string) {\n this.log('error', message)\n }\n\n warn(message: string) {\n this.log('warn', message)\n }\n\n info(message: string) {\n this.log('info', message)\n }\n\n debug(message: string) {\n this.log('debug', message)\n }\n\n log(level: string, message: string) {\n this.server.log([level, this.name], message)\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,MAAM,CAAC;EAIlBC,WAAWA,CAACC,MAAW,EAAEC,IAAY,EAAE;IACrC,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;EAEAC,KAAKA,CAACC,OAAe,EAAE;IACrB,IAAI,CAACC,GAAG,CAAC,OAAO,EAAED,OAAO,CAAC;EAC5B;EAEAE,IAAIA,CAACF,OAAe,EAAE;IACpB,IAAI,CAACC,GAAG,CAAC,MAAM,EAAED,OAAO,CAAC;EAC3B;EAEAG,IAAIA,CAACH,OAAe,EAAE;IACpB,IAAI,CAACC,GAAG,CAAC,MAAM,EAAED,OAAO,CAAC;EAC3B;EAEAI,KAAKA,CAACJ,OAAe,EAAE;IACrB,IAAI,CAACC,GAAG,CAAC,OAAO,EAAED,OAAO,CAAC;EAC5B;EAEAC,GAAGA,CAACI,KAAa,EAAEL,OAAe,EAAE;IAClC,IAAI,CAACH,MAAM,CAACI,GAAG,CAAC,CAACI,KAAK,EAAE,IAAI,CAACP,IAAI,CAAC,EAAEE,OAAO,CAAC;EAC9C;AACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,eAAO,MAAM,cAAc,EAAE,YAAY,EAkOxC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"conditional-component-types.d.ts","sourceRoot":"","sources":["../../../src/components/conditional-component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"conditional-component-types.d.ts","sourceRoot":"","sources":["../../../src/components/conditional-component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,eAAO,MAAM,yBAAyB,EAAE,oBAAoB,EAW3D,CAAA"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export { ComponentTypes } from '../components/component-types';
|
2
|
-
export { ConditionalComponentTypes } from '../components/conditional-component-types';
|
3
|
-
export { ComponentTypeEnum } from '../components/enums';
|
1
|
+
export { ComponentTypes } from '../components/component-types.js';
|
2
|
+
export { ConditionalComponentTypes } from '../components/conditional-component-types.js';
|
3
|
+
export { ComponentTypeEnum } from '../components/enums.js';
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAA;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA"}
|