# Json schema for mining ops ## Example object ``` { 2021: { operations: [{label: 'tx1', address: '', energyConsumed: '', enrolled: true, dispatched: false}], certifications: [{instrument: '', unitQuantity: 2, location: ''}] }, 2022: { operations: [], certifications: [] } } ``` ## JSON Schema https://stackoverflow.com/questions/32044761/json-schema-with-unknown-property-names ``` { "type": "object", "properties": { "2021": { "type": "object" }, "2022": { "type": "object" }, } } ``` https://stackoverflow.com/questions/19715303/regex-that-accepts-only-numbers-0-9-and-no-characters ``` { "type": "object", "patternProperties": { "^[0-9]*$": { "type": "object", "properties": { "operations": { "type": "array", "items": [ { "type": "object", "properties": { "label": { "type": "string" }, "address": { "type": "string" }, "energyConsumed": { "type": "string" }, "enrolled": { "type": "boolean" }, "dispatched": { "type": "boolean" } }, "required": [ "label", "address", "energyConsumed", "enrolled", "dispatched" ] } ] }, "certifications": { "type": "array", "items": [ { "type": "object", "properties": { "instrument": { "type": "string" }, "unitQuantity": { "type": "integer" }, "location": { "type": "string" } }, "required": [ "instrument", "unitQuantity", "location" ] } ] } }, "required": [ "operations", "certifications" ] }, }, "additionalProperties": false } ```