metadata_presenter 0.1.0 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/validators/metadata_presenter/validate_schema.rb +1 -2
- data/app/views/metadata_presenter/page/summary.html.erb +4 -3
- data/config/routes.rb +1 -1
- data/default_metadata/config/meta.json +24 -0
- data/default_metadata/config/service.json +4 -0
- data/default_metadata/page/confirmation.json +4 -0
- data/default_metadata/page/summary.json +6 -0
- data/default_metadata/service/base.json +18 -0
- data/default_metadata/string/error.max_length.json +6 -0
- data/default_metadata/string/error.min_length.json +6 -0
- data/default_metadata/string/error.required.json +7 -0
- data/fixtures/non_finished_service.json +123 -0
- data/fixtures/service.json +51 -0
- data/fixtures/version.json +146 -0
- data/lib/metadata_presenter/version.rb +1 -1
- data/schemas/condition/condition.json +48 -0
- data/schemas/config/meta.json +27 -0
- data/schemas/config/service.json +106 -0
- data/schemas/definition/block.json +28 -0
- data/schemas/definition/component.json +13 -0
- data/schemas/definition/components.json +15 -0
- data/schemas/definition/condition.base.json +25 -0
- data/schemas/definition/condition.boolean.json +25 -0
- data/schemas/definition/condition.defined.json +25 -0
- data/schemas/definition/condition.expression.json +22 -0
- data/schemas/definition/condition.number.json +49 -0
- data/schemas/definition/condition.text.json +48 -0
- data/schemas/definition/condition.value_type.json +24 -0
- data/schemas/definition/conditional.boolean.json +20 -0
- data/schemas/definition/conditions.all.json +20 -0
- data/schemas/definition/conditions.any.json +26 -0
- data/schemas/definition/conditions.exactly.json +26 -0
- data/schemas/definition/control.json +75 -0
- data/schemas/definition/data.json +28 -0
- data/schemas/definition/field.json +26 -0
- data/schemas/definition/html_attributes.json +37 -0
- data/schemas/definition/label.json +30 -0
- data/schemas/definition/link_list.json +30 -0
- data/schemas/definition/name.json +18 -0
- data/schemas/definition/namespace.json +28 -0
- data/schemas/definition/next_page.json +40 -0
- data/schemas/definition/page.content.json +23 -0
- data/schemas/definition/page.form.json +96 -0
- data/schemas/definition/page.json +109 -0
- data/schemas/definition/page.singlequestion.json +31 -0
- data/schemas/definition/repeatable.json +72 -0
- data/schemas/definition/width_class.input.json +48 -0
- data/schemas/definition/width_class.json +34 -0
- data/schemas/errors/errors.json +139 -0
- data/schemas/link/link.json +46 -0
- data/schemas/page/confirmation.json +35 -0
- data/schemas/page/start.json +34 -0
- data/schemas/page/summary.json +63 -0
- data/schemas/request/service.json +13 -0
- data/schemas/service/base.json +52 -0
- data/schemas/service/configuration.json +22 -0
- data/schemas/service/locale.json +12 -0
- data/schemas/text/text.json +23 -0
- data/schemas/validations/validations.json +443 -0
- metadata +57 -2
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/condition",
|
3
|
+
"_name": "condition",
|
4
|
+
"title": "Condition",
|
5
|
+
"type": "object",
|
6
|
+
"allOf": [
|
7
|
+
{
|
8
|
+
"properties": {
|
9
|
+
"_id": {
|
10
|
+
"title": "Condition ID",
|
11
|
+
"type": "string"
|
12
|
+
},
|
13
|
+
"_type": {
|
14
|
+
"title": "Type",
|
15
|
+
"type": "string",
|
16
|
+
"const": "condition"
|
17
|
+
},
|
18
|
+
"description": {
|
19
|
+
"title": "Description",
|
20
|
+
"type": "string"
|
21
|
+
},
|
22
|
+
"negated": {
|
23
|
+
"title": "Negated",
|
24
|
+
"type": "boolean"
|
25
|
+
}
|
26
|
+
}
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"oneOf": [
|
30
|
+
{
|
31
|
+
"$ref": "definition.condition.expression"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"$ref": "definition.conditions.all"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"$ref": "definition.conditions.any"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"$ref": "definition.conditions.exactly"
|
41
|
+
}
|
42
|
+
]
|
43
|
+
}
|
44
|
+
],
|
45
|
+
"category": [
|
46
|
+
"definition"
|
47
|
+
]
|
48
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/config/meta",
|
3
|
+
"_name": "config.meta",
|
4
|
+
"title": "Form meta links",
|
5
|
+
"description": "List of links to display in GOVUK footer",
|
6
|
+
"usage": "Use the config.meta component to provide a list of links in the footer",
|
7
|
+
"type": "object",
|
8
|
+
"allOf": [
|
9
|
+
{
|
10
|
+
"$ref": "definition.link_list"
|
11
|
+
}
|
12
|
+
],
|
13
|
+
"properties": {
|
14
|
+
"_id": {
|
15
|
+
"const": "config.meta"
|
16
|
+
},
|
17
|
+
"_type": {
|
18
|
+
"const": "config.meta"
|
19
|
+
},
|
20
|
+
"title": {
|
21
|
+
"type": "null"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"category": [
|
25
|
+
"configuration"
|
26
|
+
]
|
27
|
+
}
|
@@ -0,0 +1,106 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/config/service",
|
3
|
+
"title": "Service configuration options",
|
4
|
+
"_name": "config.service",
|
5
|
+
"description": "Configuration options for a service",
|
6
|
+
"type": "object",
|
7
|
+
"properties": {
|
8
|
+
"_id": {
|
9
|
+
"const": "config.service"
|
10
|
+
},
|
11
|
+
"_type": {
|
12
|
+
"const": "config.service"
|
13
|
+
},
|
14
|
+
"homepage_url": {
|
15
|
+
"title": "Homepage URL",
|
16
|
+
"description": "The Homepage URL of the service",
|
17
|
+
"type": "string"
|
18
|
+
},
|
19
|
+
"service_email_address": {
|
20
|
+
"title": "Service Email Address",
|
21
|
+
"description": "The email address of the service",
|
22
|
+
"type": "string"
|
23
|
+
},
|
24
|
+
"service_url": {
|
25
|
+
"title": "Service URL",
|
26
|
+
"description": "The URL of the first page of the service",
|
27
|
+
"type": "string"
|
28
|
+
},
|
29
|
+
"phase": {
|
30
|
+
"title": "Form phase",
|
31
|
+
"type": "string",
|
32
|
+
"enum": [
|
33
|
+
"none",
|
34
|
+
"alpha",
|
35
|
+
"beta"
|
36
|
+
],
|
37
|
+
"default": "alpha"
|
38
|
+
},
|
39
|
+
"phase_text": {
|
40
|
+
"title": "Form phase text",
|
41
|
+
"type": "string",
|
42
|
+
"content": true
|
43
|
+
},
|
44
|
+
"code": {
|
45
|
+
"title": "Form code",
|
46
|
+
"description": "Code used for form (eg. C100)",
|
47
|
+
"type": "string"
|
48
|
+
},
|
49
|
+
"pdf_heading": {
|
50
|
+
"title": "PDF heading",
|
51
|
+
"description": "Used as form’s heading when generating PDF output",
|
52
|
+
"type": "string"
|
53
|
+
},
|
54
|
+
"pdf_sub_heading": {
|
55
|
+
"title": "PDF subheading",
|
56
|
+
"description": "Used as form’s subheading when generating PDF output",
|
57
|
+
"type": "string"
|
58
|
+
},
|
59
|
+
"email_input_name_user": {
|
60
|
+
"title": "CC email address field",
|
61
|
+
"description": "Name of input used as email address to send user a copy of submission details",
|
62
|
+
"type": "string"
|
63
|
+
},
|
64
|
+
"attach_user_submission": {
|
65
|
+
"title": "Attach confirmation of submission to user email",
|
66
|
+
"type": "boolean",
|
67
|
+
"default": false
|
68
|
+
},
|
69
|
+
"email_subject_user": {
|
70
|
+
"title": "CC email subject",
|
71
|
+
"type": "string"
|
72
|
+
},
|
73
|
+
"email_template_user": {
|
74
|
+
"title": "CC email template",
|
75
|
+
"type": "string",
|
76
|
+
"multiline": true
|
77
|
+
},
|
78
|
+
"email_subject_team": {
|
79
|
+
"title": "Form team email subject",
|
80
|
+
"type": "string"
|
81
|
+
},
|
82
|
+
"email_template_team": {
|
83
|
+
"title": "Form team email template",
|
84
|
+
"type": "string",
|
85
|
+
"multiline": true
|
86
|
+
},
|
87
|
+
"session_duration": {
|
88
|
+
"title": "Session duration",
|
89
|
+
"description": "How many minutes a user’s session should last",
|
90
|
+
"type": "number"
|
91
|
+
},
|
92
|
+
"data_retention_duration": {
|
93
|
+
"title": "User data retention duration",
|
94
|
+
"description": "How many days a user’s data should be kept for",
|
95
|
+
"type": "number"
|
96
|
+
}
|
97
|
+
},
|
98
|
+
"allOf": [
|
99
|
+
{
|
100
|
+
"$ref": "definition.data"
|
101
|
+
}
|
102
|
+
],
|
103
|
+
"category": [
|
104
|
+
"configuration"
|
105
|
+
]
|
106
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/block",
|
3
|
+
"_name": "definition.block",
|
4
|
+
"title": "Block definition",
|
5
|
+
"properties": {
|
6
|
+
"show": {
|
7
|
+
"title": "Visibility",
|
8
|
+
"category": [
|
9
|
+
"logic"
|
10
|
+
],
|
11
|
+
"description": "Whether to show or hide the page/component",
|
12
|
+
"oneOf": [
|
13
|
+
{
|
14
|
+
"$ref": "definition.conditional.boolean"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"default": true
|
18
|
+
}
|
19
|
+
},
|
20
|
+
"allOf": [
|
21
|
+
{
|
22
|
+
"$ref": "definition.data"
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"category": [
|
26
|
+
"definition"
|
27
|
+
]
|
28
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/components",
|
3
|
+
"_name": "definition.components",
|
4
|
+
"title": "Components definition",
|
5
|
+
"properties": {
|
6
|
+
"components": {
|
7
|
+
"title": "Components",
|
8
|
+
"description": "The form or content elements used on the page",
|
9
|
+
"type": "array",
|
10
|
+
"items": {
|
11
|
+
"$ref": "definition.component"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/base",
|
3
|
+
"_name": "definition.condition.base",
|
4
|
+
"title": "Base condition properties",
|
5
|
+
"properties": {
|
6
|
+
"identifier": {
|
7
|
+
"title": "Identifier",
|
8
|
+
"type": "string"
|
9
|
+
},
|
10
|
+
"identifier_type": {
|
11
|
+
"title": "Identifier type",
|
12
|
+
"type": "string",
|
13
|
+
"enum": [
|
14
|
+
"input",
|
15
|
+
"feature"
|
16
|
+
]
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"required": [
|
20
|
+
"identifier"
|
21
|
+
],
|
22
|
+
"category": [
|
23
|
+
"definition"
|
24
|
+
]
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/boolean",
|
3
|
+
"_name": "definition.condition.boolean",
|
4
|
+
"title": "Boolean condition properties",
|
5
|
+
"allOf": [
|
6
|
+
{
|
7
|
+
"$ref": "definition.condition.base"
|
8
|
+
}
|
9
|
+
],
|
10
|
+
"properties": {
|
11
|
+
"operator": {
|
12
|
+
"title": "Operator",
|
13
|
+
"type": "string",
|
14
|
+
"enum": [
|
15
|
+
"isTrue"
|
16
|
+
]
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"required": [
|
20
|
+
"operator"
|
21
|
+
],
|
22
|
+
"category": [
|
23
|
+
"definition"
|
24
|
+
]
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/defined",
|
3
|
+
"_name": "definition.condition.defined",
|
4
|
+
"title": "Defined condition properties",
|
5
|
+
"allOf": [
|
6
|
+
{
|
7
|
+
"$ref": "definition.condition.base"
|
8
|
+
}
|
9
|
+
],
|
10
|
+
"properties": {
|
11
|
+
"operator": {
|
12
|
+
"title": "Operator",
|
13
|
+
"type": "string",
|
14
|
+
"enum": [
|
15
|
+
"defined"
|
16
|
+
]
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"required": [
|
20
|
+
"operator"
|
21
|
+
],
|
22
|
+
"category": [
|
23
|
+
"definition"
|
24
|
+
]
|
25
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/expression",
|
3
|
+
"_name": "definition.condition.expression",
|
4
|
+
"title": "Single expression condition properties",
|
5
|
+
"oneOf": [
|
6
|
+
{
|
7
|
+
"$ref": "definition.condition.defined"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"$ref": "definition.condition.text"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"$ref": "definition.condition.number"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"$ref": "definition.condition.boolean"
|
17
|
+
}
|
18
|
+
],
|
19
|
+
"category": [
|
20
|
+
"definition"
|
21
|
+
]
|
22
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/number",
|
3
|
+
"_name": "definition.condition.number",
|
4
|
+
"title": "Number condition properties",
|
5
|
+
"allOf": [
|
6
|
+
{
|
7
|
+
"$ref": "definition.condition.base"
|
8
|
+
}
|
9
|
+
],
|
10
|
+
"properties": {
|
11
|
+
"operator": {
|
12
|
+
"title": "Operator",
|
13
|
+
"type": "string",
|
14
|
+
"enum": [
|
15
|
+
"equals",
|
16
|
+
"greater_than",
|
17
|
+
"greater_than_or_equal_to",
|
18
|
+
"less_than",
|
19
|
+
"less_than_or_equal_to",
|
20
|
+
"multiple_of"
|
21
|
+
]
|
22
|
+
},
|
23
|
+
"value": {
|
24
|
+
"title": "Value"
|
25
|
+
}
|
26
|
+
},
|
27
|
+
"if": {
|
28
|
+
"required": [
|
29
|
+
"value_type"
|
30
|
+
]
|
31
|
+
},
|
32
|
+
"then": {
|
33
|
+
"$ref": "definition.condition.value_type"
|
34
|
+
},
|
35
|
+
"else": {
|
36
|
+
"properties": {
|
37
|
+
"value": {
|
38
|
+
"type": "number"
|
39
|
+
}
|
40
|
+
}
|
41
|
+
},
|
42
|
+
"required": [
|
43
|
+
"operator",
|
44
|
+
"value"
|
45
|
+
],
|
46
|
+
"category": [
|
47
|
+
"definition"
|
48
|
+
]
|
49
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/definition/condition/text",
|
3
|
+
"_name": "definition.condition.text",
|
4
|
+
"title": "Text condition properties",
|
5
|
+
"allOf": [
|
6
|
+
{
|
7
|
+
"$ref": "definition.condition.base"
|
8
|
+
}
|
9
|
+
],
|
10
|
+
"properties": {
|
11
|
+
"operator": {
|
12
|
+
"title": "Operator",
|
13
|
+
"type": "string",
|
14
|
+
"enum": [
|
15
|
+
"is",
|
16
|
+
"starts_with",
|
17
|
+
"ends_with",
|
18
|
+
"includes",
|
19
|
+
"match"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"value": {
|
23
|
+
"title": "Value"
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"if": {
|
27
|
+
"required": [
|
28
|
+
"value_type"
|
29
|
+
]
|
30
|
+
},
|
31
|
+
"then": {
|
32
|
+
"$ref": "definition.condition.value_type"
|
33
|
+
},
|
34
|
+
"else": {
|
35
|
+
"properties": {
|
36
|
+
"value": {
|
37
|
+
"type": "string"
|
38
|
+
}
|
39
|
+
}
|
40
|
+
},
|
41
|
+
"required": [
|
42
|
+
"operator",
|
43
|
+
"value"
|
44
|
+
],
|
45
|
+
"category": [
|
46
|
+
"definition"
|
47
|
+
]
|
48
|
+
}
|