Add GET /api/channels, move endpoints under /api prefix, serve Scalar docs at / (issue #1)
- New GET /api/channels: device Meshtastic channels from FromRadio.channel
frames during initial sync; psk/keys redacted; map reset on reconnect.
- app.setGlobalPrefix('api'): /status -> /api/status, /send -> /api/send.
- Scalar API docs at / (OpenAPI JSON at /docs-json) via @nestjs/swagger +
@scalar/nestjs-api-reference; light swagger decorators on endpoints/body.
- MESH_RECONNECT_MS env knob (default 5000 ms).
- v0.1.0: CHANGELOG entry, README/AGENTS/ORCHESTRATOR docs sync.
This commit is contained in:
@@ -21,13 +21,20 @@ Exposed via Traefik only (no published ports) at `http://bot.dev.kkhost.pl`.
|
||||
|
||||
## Endpoints
|
||||
|
||||
- `GET /status` — `{ connected, myNodeNum, host, port }`
|
||||
- `POST /send` — body `{ "text": "...", "to"?: <node number | "!b" | "broadcast"> }`, returns `{ id }`
|
||||
All API endpoints live under the `/api` prefix:
|
||||
|
||||
- `GET /api/status` — `{ connected, myNodeNum, host, port }`
|
||||
- `POST /api/send` — body `{ "text": "...", "to"?: <node number | "!b" | "broadcast"> }`, returns `{ id }`
|
||||
- `GET /api/channels` — the device's Meshtastic channels as `{ index, name, uplinkEnabled, downlinkEnabled }[]` (psk/keys are redacted; empty until the initial sync completes)
|
||||
|
||||
Interactive API docs (Scalar) are served at `/`, with the OpenAPI JSON at
|
||||
`/docs-json`.
|
||||
|
||||
```sh
|
||||
curl http://localhost:3000/status
|
||||
curl -X POST http://localhost:3000/send -H 'content-type: application/json' -d '{"text":"hi"}'
|
||||
curl -X POST http://localhost:3000/send -H 'content-type: application/json' -d '{"to":123456789,"text":"hello"}'
|
||||
curl http://localhost:3000/api/status
|
||||
curl -X POST http://localhost:3000/api/send -H 'content-type: application/json' -d '{"text":"hi"}'
|
||||
curl -X POST http://localhost:3000/api/send -H 'content-type: application/json' -d '{"to":123456789,"text":"hello"}'
|
||||
curl http://localhost:3000/api/channels
|
||||
```
|
||||
|
||||
`to` omitted, `"!b"`, or `"broadcast"` sends to the broadcast address `0xffffffff`.
|
||||
@@ -36,6 +43,7 @@ curl -X POST http://localhost:3000/send -H 'content-type: application/json' -d '
|
||||
|
||||
- `MESH_HOST` (default `192.168.1.4`) — bridge host
|
||||
- `MESH_PORT` (default `4003`) — bridge port
|
||||
- `MESH_RECONNECT_MS` (default `5000`) — reconnect interval in ms
|
||||
- `PORT` (default `3000`) — HTTP listen port
|
||||
|
||||
Note: the serial bridge accepts only ONE client at a time — if another app is
|
||||
|
||||
Reference in New Issue
Block a user