rgb-cln/doc/schemas/commando-listrunes.schema.json

113 lines
3.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"required": [
"runes"
],
"properties": {
"runes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"rune",
"unique_id",
"restrictions",
"restrictions_as_english"
],
"properties": {
"rune": {
"type": "string",
"description": "Base64 encoded rune"
},
"unique_id": {
"type": "string",
"description": "Unique id assigned when the rune was generated; this is always a u64 for commando runes"
},
"restrictions": {
"type": "array",
"description": "The restrictions on what commands this rune can authorize",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"alternatives",
"english"
],
"properties": {
"alternatives": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"fieldname",
"value",
"condition",
"english"
],
"properties": {
"fieldname": {
"type": "string",
"description": "The field this restriction applies to; see commando-rune(7)"
},
"value": {
"type": "string",
"description": "The value accepted for this field"
},
"condition": {
"type": "string",
"description": "The way to compare fieldname and value"
},
"english": {
"type": "string",
"description": "English readable description of this alternative"
}
}
}
},
"english": {
"type": "string",
"description": "English readable summary of alternatives above"
}
}
}
},
"restrictions_as_english": {
"type": "string",
"description": "English readable description of the restrictions array above"
},
"stored": {
"type": "boolean",
"enum": [
false
],
"description": "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)"
},
"blacklisted": {
"type": "boolean",
"enum": [
true
],
"description": "The rune has been blacklisted; see commando-blacklist(7)"
},
"last_used": {
"type": "number",
"description": "The last time this rune was successfully used",
"added": "23.11"
},
"our_rune": {
"type": "boolean",
"enum": [
false
],
"description": "This is not a rune for this node (only possible when `rune` is specified)"
}
}
}
}
}
}