Skip to content

feat(packets): feeder v3 routes and v2 node-upsert legacy aliases#340

Merged
pskillen merged 1 commit into
mainfrom
api-339/paddy/feeder-v3-node-upsert
May 22, 2026
Merged

feat(packets): feeder v3 routes and v2 node-upsert legacy aliases#340
pskillen merged 1 commit into
mainfrom
api-339/paddy/feeder-v3-node-upsert

Conversation

@pskillen

Copy link
Copy Markdown
Owner

Summary

  • v2 wire (existing URLs): POST /api/packets/{id}/nodes/ accepts legacy location_source, channel_utilization, and air_util_tx as aliases for meshtastic_* fields, with defaults when empty (fixes wild meshtastic-bot releases; see [ERROR] StorageAPI.store_node on startup meshflow-bot#110).
  • v3 wire (new URLs): POST /api/v3/packets/{id}/nodes/ requires strict meshtastic_* nested fields; ingest and bot-version mirrored under /api/v3/packets/....
  • OpenAPI and docs updated; unit tests for legacy wire, v3 strict validation, and URL routing.

Closes #339

Related: pskillen/meshflow-bot#110, pskillen/meshflow-bot#111

Deploy this before merging bot PR #111 (which defaults STORAGE_API_VERSION=3).

Testing performed

  • pytest packets/tests/test_packet_serializers.py::NodeSerializerTest packets/tests/test_feeder_v3_urls.py -v
  • Manual: old-bot-shaped node upsert against /api/packets/.../nodes/ returns 200

Accept location_source/channel_utilization/air_util_tx on POST
/api/packets/{id}/nodes/ for deployed bots. Add /api/v3/packets/... with
strict meshtastic_* node upsert wire. Closes #339

Related: pskillen/meshflow-bot#110
@pskillen pskillen merged commit d03a375 into main May 22, 2026
2 checks passed
@pskillen pskillen deleted the api-339/paddy/feeder-v3-node-upsert branch May 22, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feeder API v3 routes + v2 node-upsert field aliases

2 participants