@camunda/element-templates-json-schema 0.15.0 → 0.17.0

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/element-templates-json-schema",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "description": "JSON Schema for (Camunda) Element Templates",
5
5
  "files": [
6
6
  "resources"
@@ -25,5 +25,5 @@
25
25
  "camunda"
26
26
  ],
27
27
  "license": "MIT",
28
- "gitHead": "1d013fc892c24c622b6a1f471c7619a4517434c1"
28
+ "gitHead": "ad75f695f0459880535544cfbd08bffb01609f41"
29
29
  }
@@ -139,8 +139,8 @@
139
139
  "allOf",
140
140
  0,
141
141
  "items",
142
- "properties",
143
- "condition",
142
+ "allOf",
143
+ 1,
144
144
  "definitions",
145
145
  "condition"
146
146
  ],
@@ -150,6 +150,36 @@
150
150
  }
151
151
  }
152
152
  },
153
+ {
154
+ "path": [
155
+ "definitions",
156
+ "properties",
157
+ "allOf",
158
+ 0,
159
+ "items",
160
+ "allOf",
161
+ 1,
162
+ "allOf",
163
+ 0,
164
+ "then"
165
+ ],
166
+ "errorMessage": "Invalid condition.property, must be different than property.id"
167
+ },
168
+ {
169
+ "path": [
170
+ "definitions",
171
+ "properties",
172
+ "allOf",
173
+ 0,
174
+ "items",
175
+ "allOf",
176
+ 1,
177
+ "allOf",
178
+ 1,
179
+ "then"
180
+ ],
181
+ "errorMessage": "Invalid condition.property, must be different than property.id"
182
+ },
153
183
  {
154
184
  "path": [
155
185
  "definitions",
@@ -44,13 +44,225 @@
44
44
  "choices"
45
45
  ]
46
46
  }
47
+ },
48
+ {
49
+ "definitions": {
50
+ "condition": {
51
+ "type": "object",
52
+ "required": [
53
+ "property"
54
+ ],
55
+ "properties": {
56
+ "type": {
57
+ "$id": "#/condition/type",
58
+ "const": "simple",
59
+ "description": "The type of the condition.",
60
+ "default": "simple"
61
+ },
62
+ "property": {
63
+ "$id": "#/condition/property",
64
+ "type": "string",
65
+ "description": "The id of the property to check."
66
+ }
67
+ },
68
+ "oneOf": [
69
+ {
70
+ "properties": {
71
+ "equals": {
72
+ "type": [
73
+ "string",
74
+ "number",
75
+ "boolean"
76
+ ]
77
+ }
78
+ },
79
+ "required": [
80
+ "equals"
81
+ ]
82
+ },
83
+ {
84
+ "properties": {
85
+ "oneOf": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": [
89
+ "string",
90
+ "number"
91
+ ]
92
+ }
93
+ }
94
+ },
95
+ "required": [
96
+ "oneOf"
97
+ ]
98
+ },
99
+ {
100
+ "properties": {
101
+ "isActive": {
102
+ "type": "boolean",
103
+ "description": "For `true`, activates the property when given property is active"
104
+ }
105
+ },
106
+ "required": [
107
+ "isActive"
108
+ ]
109
+ }
110
+ ]
111
+ },
112
+ "conditionDependingOnId": {
113
+ "anyOf": [
114
+ {
115
+ "required": [
116
+ "property"
117
+ ],
118
+ "properties": {
119
+ "property": {
120
+ "const": {
121
+ "$data": "2/id"
122
+ }
123
+ }
124
+ }
125
+ },
126
+ {
127
+ "required": [
128
+ "allMatch"
129
+ ],
130
+ "allMatch": {
131
+ "contains": {
132
+ "properties": {
133
+ "property": {
134
+ "const": {
135
+ "$data": "2/id"
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+ ]
143
+ }
144
+ },
145
+ "allOf": [
146
+ {
147
+ "$comment": "property#condition should not depend on property#id",
148
+ "if": {
149
+ "required": [
150
+ "id",
151
+ "condition"
152
+ ],
153
+ "properties": {
154
+ "condition": {
155
+ "$ref": "#/definitions/properties/allOf/0/items/allOf/1/definitions/conditionDependingOnId"
156
+ }
157
+ }
158
+ },
159
+ "then": {
160
+ "not": {
161
+ "required": [
162
+ "condition"
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ {
168
+ "$comment": "property#condition should not depend on property#id",
169
+ "if": {
170
+ "required": [
171
+ "id",
172
+ "choices"
173
+ ],
174
+ "properties": {
175
+ "choices": {
176
+ "contains": {
177
+ "properties": {
178
+ "condition": {
179
+ "$ref": "#/definitions/properties/allOf/0/items/allOf/1/definitions/conditionDependingOnId"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ },
186
+ "then": {
187
+ "not": {
188
+ "required": [
189
+ "choices"
190
+ ]
191
+ }
192
+ }
193
+ }
194
+ ],
195
+ "properties": {
196
+ "id": {
197
+ "type": "string",
198
+ "description": "Unique identifier of the property."
199
+ },
200
+ "condition": {
201
+ "type": "object",
202
+ "description": "Condition(s) to activate the binding.",
203
+ "allOf": [
204
+ {
205
+ "examples": [
206
+ {
207
+ "type": "simple",
208
+ "property": "httpMethod",
209
+ "equals": "GET"
210
+ },
211
+ {
212
+ "type": "simple",
213
+ "property": "httpMethod",
214
+ "oneOf": [
215
+ "POST",
216
+ "PUT",
217
+ "DELETE"
218
+ ]
219
+ },
220
+ {
221
+ "allMatch": [
222
+ {
223
+ "type": "simple",
224
+ "property": "authType",
225
+ "equals": "Basic"
226
+ },
227
+ {
228
+ "type": "simple",
229
+ "property": "httpMethod",
230
+ "oneOf": [
231
+ "POST",
232
+ "PUT",
233
+ "DELETE"
234
+ ]
235
+ }
236
+ ]
237
+ }
238
+ ]
239
+ }
240
+ ],
241
+ "oneOf": [
242
+ {
243
+ "$ref": "#/definitions/properties/allOf/0/items/allOf/1/definitions/condition"
244
+ },
245
+ {
246
+ "properties": {
247
+ "allMatch": {
248
+ "$id": "#/allMatch",
249
+ "type": "array",
250
+ "items": {
251
+ "$ref": "#/definitions/properties/allOf/0/items/allOf/1/definitions/condition"
252
+ },
253
+ "minItems": 1
254
+ }
255
+ },
256
+ "required": [
257
+ "allMatch"
258
+ ]
259
+ }
260
+ ]
261
+ }
262
+ }
47
263
  }
48
264
  ],
49
265
  "properties": {
50
- "id": {
51
- "type": "string",
52
- "description": "Unique identifier of the property."
53
- },
54
266
  "value": {
55
267
  "$id": "#/properties/property/value",
56
268
  "type": [
@@ -100,7 +312,7 @@
100
312
  "description": "The value of a choice."
101
313
  },
102
314
  "condition": {
103
- "$ref": "#/definitions/properties/allOf/0/items/properties/condition"
315
+ "$ref": "#/definitions/properties/allOf/0/items/allOf/1/properties/condition"
104
316
  }
105
317
  },
106
318
  "required": [
@@ -169,122 +381,6 @@
169
381
  "$id": "#/properties/property/group",
170
382
  "type": "string",
171
383
  "description": "The custom group of a control field."
172
- },
173
- "condition": {
174
- "$id": "#/condition",
175
- "type": "object",
176
- "description": "Condition(s) to activate the binding.",
177
- "allOf": [
178
- {
179
- "examples": [
180
- {
181
- "type": "simple",
182
- "property": "httpMethod",
183
- "equals": "GET"
184
- },
185
- {
186
- "type": "simple",
187
- "property": "httpMethod",
188
- "oneOf": [
189
- "POST",
190
- "PUT",
191
- "DELETE"
192
- ]
193
- },
194
- {
195
- "allMatch": [
196
- {
197
- "type": "simple",
198
- "property": "authType",
199
- "equals": "Basic"
200
- },
201
- {
202
- "type": "simple",
203
- "property": "httpMethod",
204
- "oneOf": [
205
- "POST",
206
- "PUT",
207
- "DELETE"
208
- ]
209
- }
210
- ]
211
- }
212
- ]
213
- }
214
- ],
215
- "definitions": {
216
- "condition": {
217
- "type": "object",
218
- "required": [
219
- "property"
220
- ],
221
- "properties": {
222
- "type": {
223
- "$id": "#/condition/type",
224
- "const": "simple",
225
- "description": "The type of the condition.",
226
- "default": "simple"
227
- },
228
- "property": {
229
- "$id": "#/condition/property",
230
- "type": "string",
231
- "description": "The id of the property to check."
232
- }
233
- },
234
- "oneOf": [
235
- {
236
- "properties": {
237
- "equals": {
238
- "type": [
239
- "string",
240
- "number",
241
- "boolean"
242
- ]
243
- }
244
- },
245
- "required": [
246
- "equals"
247
- ]
248
- },
249
- {
250
- "properties": {
251
- "oneOf": {
252
- "type": "array",
253
- "items": {
254
- "type": [
255
- "string",
256
- "number"
257
- ]
258
- }
259
- }
260
- },
261
- "required": [
262
- "oneOf"
263
- ]
264
- }
265
- ]
266
- }
267
- },
268
- "oneOf": [
269
- {
270
- "$ref": "#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"
271
- },
272
- {
273
- "properties": {
274
- "allMatch": {
275
- "$id": "#/allMatch",
276
- "type": "array",
277
- "items": {
278
- "$ref": "#/definitions/properties/allOf/0/items/properties/condition/definitions/condition"
279
- },
280
- "minItems": 1
281
- }
282
- },
283
- "required": [
284
- "allMatch"
285
- ]
286
- }
287
- ]
288
384
  }
289
385
  }
290
386
  }