No description
Find a file
Mitchell R 5d23079086
feat: add anyvali input validation to all external API endpoints
Create shared/api-schemas.ts with av.object schemas for:
- pair/initiate, pair/claim (pairing flow)
- kiosk/heartbeat (telemetry with displays, partitions, hwmon)
- kiosk/event (ONVIF/system events)
- kiosk/logs (batched log entries)
- firmware/applied, os/applied (update reports)
- auth/login, auth/totp, setup (admin auth)

Each endpoint now calls validateBody(Schema, body) which returns 400
on schema violation. All string fields have maxLength, numeric fields
have min/max ranges, arrays strip unknown keys. Rejects malformed
input before it reaches DB or business logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-26 14:03:58 +02:00
.github/workflows feat: expand BF_DATA on first boot + wire update progress banner + partition reporting 2026-05-26 08:09:20 +02:00
deploy feat: expand BF_DATA on first boot + wire update progress banner + partition reporting 2026-05-26 08:09:20 +02:00
docs feat(ota): add RAUC OS update foundation 2026-05-20 05:15:29 +02:00
kiosk fix: graceful FK violation on event insert + kiosk stale file cleanup 2026-05-26 13:56:24 +02:00
nodered feat(nodered): motion + ANPR + generic ONVIF event trigger nodes 2026-05-23 02:17:05 +02:00
scripts fix(rauc): switch signing keys from Ed25519 to ECDSA P-256 2026-05-21 15:45:26 +02:00
server feat: add anyvali input validation to all external API endpoints 2026-05-26 14:03:58 +02:00
.gitattributes fix(deploy): mark setup-pi-kiosk.sh executable in git index + add .gitattributes 2026-05-13 03:33:41 +02:00
.gitignore chore: gitignore doc files + remove from tracking 2026-05-26 04:16:33 +02:00
CLAUDE.md fix(proxy): split Node-RED route surfaces 2026-05-11 10:44:45 +02:00
docker-compose.coolify.yml fix(docker): simplify version arg to COOLIFY_GIT_COMMIT 2026-05-26 03:36:09 +02:00
docker-compose.yml fix: resolve merge conflict + align BSB workdir /home/bsb 2026-05-23 23:58:36 +02:00
LICENSE-AGPL.txt docs: dual-license declaration + vendored AGPL-3.0 text 2026-05-15 04:47:46 +02:00
LICENSE-COMMERCIAL.md docs: dual-license declaration + vendored AGPL-3.0 text 2026-05-15 04:47:46 +02:00
LICENSE.md docs: dual-license declaration + vendored AGPL-3.0 text 2026-05-15 04:47:46 +02:00
package-lock.json fix: regenerate lockfile for package name betterframe 2026-05-24 03:19:38 +02:00
package.json adding initial project 2026-05-10 01:09:13 +02:00
sec-config.template.yaml refactor: decommission SQLite + add UUIDv7 PK migration for existing PG 2026-05-26 13:22:29 +02:00
tsconfig.base.json adding initial project 2026-05-10 01:09:13 +02:00