|
252 | 252 | "required": ["name", "type"],
|
253 | 253 | }
|
254 | 254 |
|
| 255 | +metric_config_schema = { |
| 256 | + "$id": "metric_config_schema", |
| 257 | + "type": "object", |
| 258 | + "properties": { |
| 259 | + "meta": {"type": "object", "propertyNames": {"type": "string"}}, |
| 260 | + }, |
| 261 | + "additionalProperties": False, |
| 262 | +} |
| 263 | + |
255 | 264 | # Top level object schemas
|
256 | 265 | metric_schema = {
|
257 | 266 | "$id": "metric_schema",
|
|
266 | 275 | "filter": {"$ref": "filter_schema"},
|
267 | 276 | "description": {"type": "string"},
|
268 | 277 | "label": {"type": "string"},
|
| 278 | + "config": {"$ref": "metric_config_schema"}, |
269 | 279 | },
|
270 | 280 | "additionalProperties": False,
|
271 | 281 | "required": ["name", "type", "type_params"],
|
|
378 | 388 | "additionalProperties": False,
|
379 | 389 | }
|
380 | 390 |
|
| 391 | +semantic_model_config_schema = { |
| 392 | + "$id": "semantic_model_config_schema", |
| 393 | + "type": "object", |
| 394 | + "properties": { |
| 395 | + "meta": {"type": "object", "propertyNames": {"type": "string"}}, |
| 396 | + }, |
| 397 | + "additionalProperties": False, |
| 398 | +} |
| 399 | + |
381 | 400 | semantic_model_schema = {
|
382 | 401 | "$id": "semantic_model_schema",
|
383 | 402 | "type": "object",
|
|
396 | 415 | "dimensions": {"type": "array", "items": {"$ref": "dimension_schema"}},
|
397 | 416 | "description": {"type": "string"},
|
398 | 417 | "label": {"type": "string"},
|
| 418 | + "config": {"$ref": "semantic_model_config_schema"}, |
399 | 419 | },
|
400 | 420 | "additionalProperties": False,
|
401 | 421 | "required": ["name"],
|
|
428 | 448 | export_schema["$id"]: export_schema,
|
429 | 449 | export_config_schema["$id"]: export_config_schema,
|
430 | 450 | saved_query_query_params_schema["$id"]: saved_query_query_params_schema,
|
| 451 | + semantic_model_config_schema["$id"]: semantic_model_config_schema, |
| 452 | + metric_config_schema["$id"]: metric_config_schema, |
431 | 453 | }
|
432 | 454 |
|
433 | 455 | resources: List[Tuple[str, Resource]] = [(str(k), DRAFT7.create_resource(v)) for k, v in schema_store.items()]
|
|
0 commit comments