mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
feat: add new HTTP JSON contracts and schemas for map data status, published, and heard endpoints
This commit is contained in:
parent
da89eadb3d
commit
7094d39594
3 changed files with 63 additions and 0 deletions
BIN
meshchatx.rsm
BIN
meshchatx.rsm
Binary file not shown.
|
|
@ -65,6 +65,9 @@ from tests.backend.http_api_response_schemas import (
|
|||
LXMF_SIEVE_FILTERS_SCHEMA,
|
||||
MAINTENANCE_MESSAGES_PURGE_PREVIEW_SCHEMA,
|
||||
MAINTENANCE_MESSAGES_DUPLICATES_SCHEMA,
|
||||
MAP_DATA_HEARD_SCHEMA,
|
||||
MAP_DATA_PUBLISHED_SCHEMA,
|
||||
MAP_DATA_STATUS_SCHEMA,
|
||||
MAP_DRAWINGS_SCHEMA,
|
||||
MAP_MBTILES_SCHEMA,
|
||||
MAP_OFFLINE_SCHEMA,
|
||||
|
|
@ -403,6 +406,27 @@ HTTP_JSON_GET_CONTRACTS: tuple[HttpJsonContract, ...] = (
|
|||
HttpJsonContract("GET", "/api/v1/map/drawings", MAP_DRAWINGS_SCHEMA),
|
||||
HttpJsonContract("GET", "/api/v1/map/offline", MAP_OFFLINE_SCHEMA),
|
||||
HttpJsonContract("GET", "/api/v1/map/mbtiles", MAP_MBTILES_SCHEMA),
|
||||
HttpJsonContract(
|
||||
"GET",
|
||||
"/api/v1/map/data/status",
|
||||
MAP_DATA_STATUS_SCHEMA,
|
||||
allow_statuses=(200, 503),
|
||||
alt_schemas=(ERROR_ENVELOPE_SCHEMA,),
|
||||
),
|
||||
HttpJsonContract(
|
||||
"GET",
|
||||
"/api/v1/map/data/published",
|
||||
MAP_DATA_PUBLISHED_SCHEMA,
|
||||
allow_statuses=(200, 503),
|
||||
alt_schemas=(ERROR_ENVELOPE_SCHEMA,),
|
||||
),
|
||||
HttpJsonContract(
|
||||
"GET",
|
||||
"/api/v1/map/data/heard",
|
||||
MAP_DATA_HEARD_SCHEMA,
|
||||
allow_statuses=(200, 503),
|
||||
alt_schemas=(ERROR_ENVELOPE_SCHEMA,),
|
||||
),
|
||||
HttpJsonContract("GET", "/api/v1/telemetry/peers", TELEMETRY_PEERS_SCHEMA),
|
||||
HttpJsonContract("GET", "/api/v1/telemetry/tracking", TELEMETRY_TRACKING_SCHEMA),
|
||||
HttpJsonContract(
|
||||
|
|
|
|||
|
|
@ -453,6 +453,45 @@ MAP_MBTILES_SCHEMA: dict = {
|
|||
"items": _OBJECT,
|
||||
}
|
||||
|
||||
MAP_DATA_STATUS_SCHEMA: dict = {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"aspect",
|
||||
"running",
|
||||
"destination_hash",
|
||||
"display_name",
|
||||
"announce_enabled",
|
||||
"announce_interval",
|
||||
"max_bytes",
|
||||
"published_count",
|
||||
],
|
||||
"properties": {
|
||||
"aspect": _STRING,
|
||||
"running": _BOOLEAN,
|
||||
"destination_hash": {"type": ["string", "null"]},
|
||||
"display_name": _STRING,
|
||||
"announce_enabled": _BOOLEAN,
|
||||
"announce_interval": _INTEGER,
|
||||
"max_bytes": _INTEGER,
|
||||
"published_count": _INTEGER,
|
||||
},
|
||||
"additionalProperties": True,
|
||||
}
|
||||
|
||||
MAP_DATA_PUBLISHED_SCHEMA: dict = {
|
||||
"type": "object",
|
||||
"required": ["maps"],
|
||||
"properties": {"maps": _ARRAY},
|
||||
"additionalProperties": True,
|
||||
}
|
||||
|
||||
MAP_DATA_HEARD_SCHEMA: dict = {
|
||||
"type": "object",
|
||||
"required": ["announces"],
|
||||
"properties": {"announces": _ARRAY},
|
||||
"additionalProperties": True,
|
||||
}
|
||||
|
||||
TELEMETRY_PEERS_SCHEMA: dict = {
|
||||
"type": "object",
|
||||
"required": ["telemetry"],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue