Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions[bot] 4377717a27 Update schema with new tags: internet, owner 2026-02-12 20:52:49 +00:00
github-actions[bot] 380e90395d Add community submission from @ggman12 (closes #9) 2026-02-12 20:52:48 +00:00
4 changed files with 38 additions and 30 deletions
@@ -1,14 +0,0 @@
[
{
"contributor_name": "hellohello",
"contributor_uuid": "2981c3ee-8712-5f96-84bf-732eda515a3f",
"creation_timestamp": "2026-02-12T21:02:32.325360+00:00",
"registration_number": "N12345",
"tags": {
"airshows": true,
"cat_friendly": false,
"dog_friendly": true,
"notes": "is a pet carrier"
}
}
]
@@ -0,0 +1,19 @@
[
{
"contributor_uuid": "2981c3ee-8712-5f96-84bf-732eda515a3f",
"creation_timestamp": "2026-02-12T20:52:47.207684+00:00",
"registration_number": "N12345",
"tags": {
"internet": "starlink"
}
},
{
"contributor_uuid": "2981c3ee-8712-5f96-84bf-732eda515a3f",
"creation_timestamp": "2026-02-12T20:52:47.207684+00:00",
"tags": {
"internet": "viasat",
"owner": "John Doe"
},
"transponder_code_hex": "ABC123"
}
]
+7 -13
View File
@@ -46,27 +46,21 @@
},
"tags": {
"type": "object",
"description": "Additional community-defined tags as key/value pairs (values may be scalar, array, or object).",
"description": "Community-defined tags. New tags can be added, but must use consistent types.",
"propertyNames": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,63}$"
},
"additionalProperties": {
"$ref": "#/$defs/tagValue"
},
"properties": {
"airshows": {
"type": "boolean"
"internet": {
"type": "string"
},
"cat_friendly": {
"type": "boolean"
},
"dog_friendly": {
"type": "boolean"
},
"notes": {
"owner": {
"type": "string"
}
},
"additionalProperties": {
"$ref": "#/$defs/tagValue"
}
}
},
+12 -3
View File
@@ -58,9 +58,18 @@ def generate_updated_schema(base_schema: dict, tag_registry: dict[str, str]) ->
for tag_name, type_name in sorted(tag_registry.items()):
tag_properties[tag_name] = type_name_to_json_schema(type_name)
# Only add/update the properties key within tags, preserve everything else
if "properties" in schema and "tags" in schema["properties"]:
schema["properties"]["tags"]["properties"] = tag_properties
# Update tags definition
schema["properties"]["tags"] = {
"type": "object",
"description": "Community-defined tags. New tags can be added, but must use consistent types.",
"propertyNames": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,63}$"
},
"properties": tag_properties,
# Still allow additional properties for new tags
"additionalProperties": {"$ref": "#/$defs/tagValue"}
}
return schema