@camunda/zeebe-element-templates-json-schema 0.4.0 → 0.5.0-alpha.1
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/package.json +5 -3
- package/resources/error-messages.json +314 -0
- package/resources/schema.json +95 -62
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/zeebe-element-templates-json-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-alpha.1",
|
|
4
4
|
"description": "JSON Schema for (Zeebe) Element Templates",
|
|
5
5
|
"files": [
|
|
6
6
|
"resources"
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
"test": "mocha -r esm --reporter=spec --recursive test/spec",
|
|
10
10
|
"dev": "npm run test -- --watch",
|
|
11
11
|
"all": "run-s build test",
|
|
12
|
-
"build": "
|
|
12
|
+
"build": "run-s build:error-messages build:schema",
|
|
13
|
+
"build:error-messages": "node ../../tasks/generate-error-messages.js --input=./src/error-messages.json --output=./resources/error-messages.json",
|
|
14
|
+
"build:schema": "node ../../tasks/generate-schema.js --input=./src/schema.json --output=./resources/schema.json",
|
|
13
15
|
"prepare": "run-s build"
|
|
14
16
|
},
|
|
15
17
|
"repository": {
|
|
@@ -23,5 +25,5 @@
|
|
|
23
25
|
"camunda"
|
|
24
26
|
],
|
|
25
27
|
"license": "MIT",
|
|
26
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "978d4f0535684456d2a5878658aa12744d237df7"
|
|
27
29
|
}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"path": [
|
|
4
|
+
"definitions",
|
|
5
|
+
"properties",
|
|
6
|
+
"allOf",
|
|
7
|
+
0,
|
|
8
|
+
"items",
|
|
9
|
+
"allOf",
|
|
10
|
+
0,
|
|
11
|
+
"then"
|
|
12
|
+
],
|
|
13
|
+
"errorMessage": "must provide choices=[] with \"Dropdown\" type"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"path": [
|
|
17
|
+
"definitions",
|
|
18
|
+
"properties",
|
|
19
|
+
"allOf",
|
|
20
|
+
0,
|
|
21
|
+
"items",
|
|
22
|
+
"properties",
|
|
23
|
+
"choices",
|
|
24
|
+
"items"
|
|
25
|
+
],
|
|
26
|
+
"errorMessage": {
|
|
27
|
+
"required": "{ name, value } must be specified for \"Dropdown\" choices"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": [
|
|
32
|
+
"definitions",
|
|
33
|
+
"properties",
|
|
34
|
+
"allOf",
|
|
35
|
+
1,
|
|
36
|
+
"items",
|
|
37
|
+
"properties",
|
|
38
|
+
"binding",
|
|
39
|
+
"allOf",
|
|
40
|
+
0,
|
|
41
|
+
"then"
|
|
42
|
+
],
|
|
43
|
+
"errorMessage": "property.binding ${0/type} requires name"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"path": [
|
|
47
|
+
"definitions",
|
|
48
|
+
"template",
|
|
49
|
+
"allOf",
|
|
50
|
+
0,
|
|
51
|
+
"properties",
|
|
52
|
+
"appliesTo",
|
|
53
|
+
"items"
|
|
54
|
+
],
|
|
55
|
+
"errorMessage": {
|
|
56
|
+
"pattern": "invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"path": [
|
|
61
|
+
"definitions",
|
|
62
|
+
"template",
|
|
63
|
+
"allOf",
|
|
64
|
+
0,
|
|
65
|
+
"properties",
|
|
66
|
+
"elementType"
|
|
67
|
+
],
|
|
68
|
+
"errorMessage": {
|
|
69
|
+
"required": {
|
|
70
|
+
"value": "missing elementType value"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"path": [
|
|
76
|
+
"definitions",
|
|
77
|
+
"template",
|
|
78
|
+
"allOf",
|
|
79
|
+
0,
|
|
80
|
+
"properties",
|
|
81
|
+
"elementType",
|
|
82
|
+
"properties",
|
|
83
|
+
"value"
|
|
84
|
+
],
|
|
85
|
+
"errorMessage": {
|
|
86
|
+
"pattern": "invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"path": [
|
|
91
|
+
"definitions",
|
|
92
|
+
"template",
|
|
93
|
+
"allOf",
|
|
94
|
+
"0",
|
|
95
|
+
"properties",
|
|
96
|
+
"groups",
|
|
97
|
+
"items"
|
|
98
|
+
],
|
|
99
|
+
"errorMessage": {
|
|
100
|
+
"required": {
|
|
101
|
+
"id": "missing id for group \"${0#}\"",
|
|
102
|
+
"label": "missing label for group \"${0#}\""
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"path": [
|
|
108
|
+
"definitions",
|
|
109
|
+
"template",
|
|
110
|
+
"allOf",
|
|
111
|
+
0,
|
|
112
|
+
"properties",
|
|
113
|
+
"documentationRef"
|
|
114
|
+
],
|
|
115
|
+
"errorMessage": {
|
|
116
|
+
"pattern": "Malformed documentation URL, must match \"^(https|http)://.*\""
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"path": [
|
|
121
|
+
"definitions",
|
|
122
|
+
"template",
|
|
123
|
+
"allOf",
|
|
124
|
+
0
|
|
125
|
+
],
|
|
126
|
+
"errorMessage": {
|
|
127
|
+
"required": {
|
|
128
|
+
"name": "missing template name",
|
|
129
|
+
"id": "missing template id",
|
|
130
|
+
"appliesTo": "missing appliesTo=[]",
|
|
131
|
+
"properties": "missing properties=[]"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"path": [
|
|
137
|
+
"definitions",
|
|
138
|
+
"properties",
|
|
139
|
+
"allOf",
|
|
140
|
+
0,
|
|
141
|
+
"items",
|
|
142
|
+
"properties",
|
|
143
|
+
"condition"
|
|
144
|
+
],
|
|
145
|
+
"errorMessage": {
|
|
146
|
+
"required": {
|
|
147
|
+
"property": "missing property name for condition"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"path": [
|
|
153
|
+
"definitions",
|
|
154
|
+
"properties",
|
|
155
|
+
"allOf",
|
|
156
|
+
1,
|
|
157
|
+
"items"
|
|
158
|
+
],
|
|
159
|
+
"errorMessage": {
|
|
160
|
+
"required": {
|
|
161
|
+
"binding": "missing binding for property \"${0#}\""
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"path": [
|
|
167
|
+
"definitions",
|
|
168
|
+
"properties",
|
|
169
|
+
"allOf",
|
|
170
|
+
1,
|
|
171
|
+
"items",
|
|
172
|
+
"allOf",
|
|
173
|
+
0,
|
|
174
|
+
"then",
|
|
175
|
+
"properties",
|
|
176
|
+
"type"
|
|
177
|
+
],
|
|
178
|
+
"errorMessage": "invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"path": [
|
|
182
|
+
"definitions",
|
|
183
|
+
"properties",
|
|
184
|
+
"allOf",
|
|
185
|
+
1,
|
|
186
|
+
"items",
|
|
187
|
+
"allOf",
|
|
188
|
+
1,
|
|
189
|
+
"then",
|
|
190
|
+
"properties",
|
|
191
|
+
"type"
|
|
192
|
+
],
|
|
193
|
+
"errorMessage": "invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"path": [
|
|
197
|
+
"definitions",
|
|
198
|
+
"properties",
|
|
199
|
+
"allOf",
|
|
200
|
+
1,
|
|
201
|
+
"items",
|
|
202
|
+
"allOf",
|
|
203
|
+
2,
|
|
204
|
+
"then",
|
|
205
|
+
"properties",
|
|
206
|
+
"binding",
|
|
207
|
+
"properties",
|
|
208
|
+
"type"
|
|
209
|
+
],
|
|
210
|
+
"errorMessage": "optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output }"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": [
|
|
214
|
+
"definitions",
|
|
215
|
+
"properties",
|
|
216
|
+
"allOf",
|
|
217
|
+
1,
|
|
218
|
+
"items",
|
|
219
|
+
"allOf",
|
|
220
|
+
3,
|
|
221
|
+
"then",
|
|
222
|
+
"properties",
|
|
223
|
+
"constraints",
|
|
224
|
+
"properties",
|
|
225
|
+
"notEmpty"
|
|
226
|
+
],
|
|
227
|
+
"errorMessage": "optional is not allowed for truthy \"notEmpty\" constraint"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"path": [
|
|
231
|
+
"definitions",
|
|
232
|
+
"properties",
|
|
233
|
+
"allOf",
|
|
234
|
+
1,
|
|
235
|
+
"items",
|
|
236
|
+
"allOf",
|
|
237
|
+
4,
|
|
238
|
+
"then",
|
|
239
|
+
"properties",
|
|
240
|
+
"type"
|
|
241
|
+
],
|
|
242
|
+
"errorMessage": "feel is only supported for \"String\" and \"Text\" type"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"path": [
|
|
246
|
+
"definitions",
|
|
247
|
+
"properties",
|
|
248
|
+
"allOf",
|
|
249
|
+
1,
|
|
250
|
+
"items",
|
|
251
|
+
"properties",
|
|
252
|
+
"binding",
|
|
253
|
+
"allOf",
|
|
254
|
+
1,
|
|
255
|
+
"then"
|
|
256
|
+
],
|
|
257
|
+
"errorMessage": "property.binding ${0/type} requires source"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"path": [
|
|
261
|
+
"definitions",
|
|
262
|
+
"properties",
|
|
263
|
+
"allOf",
|
|
264
|
+
1,
|
|
265
|
+
"items",
|
|
266
|
+
"properties",
|
|
267
|
+
"binding",
|
|
268
|
+
"allOf",
|
|
269
|
+
2,
|
|
270
|
+
"then"
|
|
271
|
+
],
|
|
272
|
+
"errorMessage": "property.binding ${0/type} requires key"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"path": [
|
|
276
|
+
"definitions",
|
|
277
|
+
"properties",
|
|
278
|
+
"allOf",
|
|
279
|
+
1,
|
|
280
|
+
"items",
|
|
281
|
+
"properties",
|
|
282
|
+
"binding",
|
|
283
|
+
"properties",
|
|
284
|
+
"type"
|
|
285
|
+
],
|
|
286
|
+
"errorMessage": "invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"path": [
|
|
290
|
+
"definitions",
|
|
291
|
+
"template",
|
|
292
|
+
"properties",
|
|
293
|
+
"icon",
|
|
294
|
+
"properties",
|
|
295
|
+
"contents"
|
|
296
|
+
],
|
|
297
|
+
"errorMessage": {
|
|
298
|
+
"pattern": "Malformed icon source, must be a valid HTTP(s) or data URL"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"path": [
|
|
303
|
+
"definitions",
|
|
304
|
+
"template",
|
|
305
|
+
"properties",
|
|
306
|
+
"icon"
|
|
307
|
+
],
|
|
308
|
+
"errorMessage": {
|
|
309
|
+
"required": {
|
|
310
|
+
"contents": "missing icon contents"
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
]
|
package/resources/schema.json
CHANGED
|
@@ -42,12 +42,15 @@
|
|
|
42
42
|
"then": {
|
|
43
43
|
"required": [
|
|
44
44
|
"choices"
|
|
45
|
-
]
|
|
46
|
-
"errorMessage": "must provide choices=[] with \"Dropdown\" type"
|
|
45
|
+
]
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
],
|
|
50
49
|
"properties": {
|
|
50
|
+
"id": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Unique identifier of the property."
|
|
53
|
+
},
|
|
51
54
|
"value": {
|
|
52
55
|
"$id": "#/properties/property/value",
|
|
53
56
|
"type": [
|
|
@@ -100,8 +103,7 @@
|
|
|
100
103
|
"required": [
|
|
101
104
|
"value",
|
|
102
105
|
"name"
|
|
103
|
-
]
|
|
104
|
-
"errorMessage": "{ name, value } must be specified for \"Dropdown\" choices"
|
|
106
|
+
]
|
|
105
107
|
}
|
|
106
108
|
},
|
|
107
109
|
"constraints": {
|
|
@@ -164,6 +166,79 @@
|
|
|
164
166
|
"$id": "#/properties/property/group",
|
|
165
167
|
"type": "string",
|
|
166
168
|
"description": "The custom group of a control field."
|
|
169
|
+
},
|
|
170
|
+
"condition": {
|
|
171
|
+
"$id": "#/condition",
|
|
172
|
+
"type": "object",
|
|
173
|
+
"description": "Condition to activate the binding.",
|
|
174
|
+
"allOf": [
|
|
175
|
+
{
|
|
176
|
+
"examples": [
|
|
177
|
+
{
|
|
178
|
+
"type": "simple",
|
|
179
|
+
"property": "httpMethod",
|
|
180
|
+
"equals": "GET"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "simple",
|
|
184
|
+
"property": "httpMethod",
|
|
185
|
+
"oneOf": [
|
|
186
|
+
"POST",
|
|
187
|
+
"PUT",
|
|
188
|
+
"DELETE"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"required": [
|
|
195
|
+
"property"
|
|
196
|
+
],
|
|
197
|
+
"properties": {
|
|
198
|
+
"type": {
|
|
199
|
+
"$id": "#/condition/type",
|
|
200
|
+
"const": "simple",
|
|
201
|
+
"description": "The type of the condition.",
|
|
202
|
+
"default": "simple"
|
|
203
|
+
},
|
|
204
|
+
"property": {
|
|
205
|
+
"$id": "#/condition/property",
|
|
206
|
+
"type": "string",
|
|
207
|
+
"description": "The id of the property to check."
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
"oneOf": [
|
|
211
|
+
{
|
|
212
|
+
"properties": {
|
|
213
|
+
"equals": {
|
|
214
|
+
"type": [
|
|
215
|
+
"string",
|
|
216
|
+
"number",
|
|
217
|
+
"boolean"
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"required": [
|
|
222
|
+
"equals"
|
|
223
|
+
]
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"properties": {
|
|
227
|
+
"oneOf": {
|
|
228
|
+
"type": "array",
|
|
229
|
+
"items": {
|
|
230
|
+
"type": [
|
|
231
|
+
"string",
|
|
232
|
+
"number"
|
|
233
|
+
]
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"required": [
|
|
238
|
+
"oneOf"
|
|
239
|
+
]
|
|
240
|
+
}
|
|
241
|
+
]
|
|
167
242
|
}
|
|
168
243
|
}
|
|
169
244
|
}
|
|
@@ -178,11 +253,6 @@
|
|
|
178
253
|
"required": [
|
|
179
254
|
"binding"
|
|
180
255
|
],
|
|
181
|
-
"errorMessage": {
|
|
182
|
-
"required": {
|
|
183
|
-
"binding": "missing binding for property \"${0#}\""
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
256
|
"allOf": [
|
|
187
257
|
{
|
|
188
258
|
"if": {
|
|
@@ -211,8 +281,7 @@
|
|
|
211
281
|
"Hidden",
|
|
212
282
|
"Dropdown",
|
|
213
283
|
"Boolean"
|
|
214
|
-
]
|
|
215
|
-
"errorMessage": "invalid property type ${0} for binding type \"property\"; must be any of { String, Text, Hidden, Dropdown, Boolean }"
|
|
284
|
+
]
|
|
216
285
|
}
|
|
217
286
|
}
|
|
218
287
|
}
|
|
@@ -248,8 +317,7 @@
|
|
|
248
317
|
"Text",
|
|
249
318
|
"Hidden",
|
|
250
319
|
"Dropdown"
|
|
251
|
-
]
|
|
252
|
-
"errorMessage": "invalid property type ${0} for binding type ${1/binding/type}; must be any of { String, Text, Hidden, Dropdown }"
|
|
320
|
+
]
|
|
253
321
|
}
|
|
254
322
|
}
|
|
255
323
|
}
|
|
@@ -273,8 +341,7 @@
|
|
|
273
341
|
"enum": [
|
|
274
342
|
"zeebe:input",
|
|
275
343
|
"zeebe:output"
|
|
276
|
-
]
|
|
277
|
-
"errorMessage": "optional is not supported for binding type ${0}; must be any of { zeebe:input, zeebe:output }"
|
|
344
|
+
]
|
|
278
345
|
}
|
|
279
346
|
},
|
|
280
347
|
"required": [
|
|
@@ -300,8 +367,7 @@
|
|
|
300
367
|
"constraints": {
|
|
301
368
|
"properties": {
|
|
302
369
|
"notEmpty": {
|
|
303
|
-
"const": false
|
|
304
|
-
"errorMessage": "optional is not allowed for truthy \"notEmpty\" constraint"
|
|
370
|
+
"const": false
|
|
305
371
|
}
|
|
306
372
|
},
|
|
307
373
|
"required": [
|
|
@@ -330,8 +396,7 @@
|
|
|
330
396
|
"enum": [
|
|
331
397
|
"String",
|
|
332
398
|
"Text"
|
|
333
|
-
]
|
|
334
|
-
"errorMessage": "feel is only supported for \"String\" and \"Text\" type"
|
|
399
|
+
]
|
|
335
400
|
}
|
|
336
401
|
},
|
|
337
402
|
"required": [
|
|
@@ -366,8 +431,7 @@
|
|
|
366
431
|
"then": {
|
|
367
432
|
"required": [
|
|
368
433
|
"name"
|
|
369
|
-
]
|
|
370
|
-
"errorMessage": "property.binding ${0/type} requires name"
|
|
434
|
+
]
|
|
371
435
|
}
|
|
372
436
|
},
|
|
373
437
|
{
|
|
@@ -384,8 +448,7 @@
|
|
|
384
448
|
"then": {
|
|
385
449
|
"required": [
|
|
386
450
|
"source"
|
|
387
|
-
]
|
|
388
|
-
"errorMessage": "property.binding ${0/type} requires source"
|
|
451
|
+
]
|
|
389
452
|
}
|
|
390
453
|
},
|
|
391
454
|
{
|
|
@@ -402,8 +465,7 @@
|
|
|
402
465
|
"then": {
|
|
403
466
|
"required": [
|
|
404
467
|
"key"
|
|
405
|
-
]
|
|
406
|
-
"errorMessage": "property.binding ${0/type} requires key"
|
|
468
|
+
]
|
|
407
469
|
}
|
|
408
470
|
},
|
|
409
471
|
{
|
|
@@ -441,8 +503,7 @@
|
|
|
441
503
|
"zeebe:input",
|
|
442
504
|
"zeebe:output",
|
|
443
505
|
"zeebe:taskHeader"
|
|
444
|
-
]
|
|
445
|
-
"errorMessage": "invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:taskHeader }"
|
|
506
|
+
]
|
|
446
507
|
},
|
|
447
508
|
"name": {
|
|
448
509
|
"$id": "#/properties/property/binding/name",
|
|
@@ -527,9 +588,6 @@
|
|
|
527
588
|
"$id": "#/appliesTo/items",
|
|
528
589
|
"type": "string",
|
|
529
590
|
"pattern": "^[\\w\\d]+:[\\w\\d]+$",
|
|
530
|
-
"errorMessage": {
|
|
531
|
-
"pattern": "invalid item for \"appliesTo\", should contain namespaced property, example: \"bpmn:Task\""
|
|
532
|
-
},
|
|
533
591
|
"allOf": [
|
|
534
592
|
{
|
|
535
593
|
"examples": [
|
|
@@ -549,14 +607,14 @@
|
|
|
549
607
|
"type": "object",
|
|
550
608
|
"description": "The BPMN type the element will be transformed into.",
|
|
551
609
|
"default": {},
|
|
610
|
+
"required": [
|
|
611
|
+
"value"
|
|
612
|
+
],
|
|
552
613
|
"properties": {
|
|
553
614
|
"value": {
|
|
554
615
|
"$id": "#/elementType/value",
|
|
555
616
|
"type": "string",
|
|
556
617
|
"pattern": "^[\\w\\d]+:[\\w\\d]+$",
|
|
557
|
-
"errorMessage": {
|
|
558
|
-
"pattern": "invalid item for \"elementType\", should contain namespaced property, example: \"bpmn:Task\""
|
|
559
|
-
},
|
|
560
618
|
"allOf": [
|
|
561
619
|
{
|
|
562
620
|
"examples": [
|
|
@@ -606,12 +664,6 @@
|
|
|
606
664
|
"id",
|
|
607
665
|
"label"
|
|
608
666
|
],
|
|
609
|
-
"errorMessage": {
|
|
610
|
-
"required": {
|
|
611
|
-
"id": "missing id for group \"${0#}\"",
|
|
612
|
-
"label": "missing label for group \"${0#}\""
|
|
613
|
-
}
|
|
614
|
-
},
|
|
615
667
|
"properties": {
|
|
616
668
|
"id": {
|
|
617
669
|
"$id": "#/groups/group/id",
|
|
@@ -627,20 +679,9 @@
|
|
|
627
679
|
}
|
|
628
680
|
},
|
|
629
681
|
"documentationRef": {
|
|
630
|
-
"$id": "#/
|
|
682
|
+
"$id": "#/documentationRef",
|
|
631
683
|
"type": "string",
|
|
632
|
-
"pattern": "^(https|http)://.*"
|
|
633
|
-
"errorMessage": {
|
|
634
|
-
"pattern": "Malformed documentation URL, must match \"^(https|http)://.*\""
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
},
|
|
638
|
-
"errorMessage": {
|
|
639
|
-
"required": {
|
|
640
|
-
"name": "missing template name",
|
|
641
|
-
"id": "missing template id",
|
|
642
|
-
"appliesTo": "missing appliesTo=[]",
|
|
643
|
-
"properties": "missing properties=[]"
|
|
684
|
+
"pattern": "^(https|http)://.*"
|
|
644
685
|
}
|
|
645
686
|
}
|
|
646
687
|
}
|
|
@@ -660,20 +701,12 @@
|
|
|
660
701
|
"$id": "#/icon/contents",
|
|
661
702
|
"type": "string",
|
|
662
703
|
"description": "The URL of an icon.",
|
|
663
|
-
"pattern": "^(https?|data):.*"
|
|
664
|
-
"errorMessage": {
|
|
665
|
-
"pattern": "Malformed icon source, must be a valid HTTP(s) or data URL"
|
|
666
|
-
}
|
|
704
|
+
"pattern": "^(https?|data):.*"
|
|
667
705
|
}
|
|
668
706
|
},
|
|
669
707
|
"required": [
|
|
670
708
|
"contents"
|
|
671
|
-
]
|
|
672
|
-
"errorMessage": {
|
|
673
|
-
"required": {
|
|
674
|
-
"contents": "missing icon contents"
|
|
675
|
-
}
|
|
676
|
-
}
|
|
709
|
+
]
|
|
677
710
|
}
|
|
678
711
|
}
|
|
679
712
|
}
|