No description
Find a file
jmcqueen 086edd5fe0 Add admin token-protected REST API and web UI for managing codes/members
- Require ADMIN_TOKEN bearer auth on /members and new /schedule CRUD routes
- Validate JSON body shape and reject empty/malformed writes so a
  bad multipart POST can no longer wipe authorized.json
- Make saveJSON atomic (tmp -> rename) with a one-generation .bak file
- Serve a self-contained admin SPA at /admin (public/admin.html) for
  editing the discount schedule and authorized members without hand-
  editing JSON, with a /preview endpoint that renders the bot's
  fallback text for draft entries
- Dockerfile now copies public/ into the image

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 11:50:21 -04:00
config import existing project 2026-07-01 13:27:52 -04:00
public Add admin token-protected REST API and web UI for managing codes/members 2026-07-06 11:50:21 -04:00
src import existing project 2026-07-01 13:27:52 -04:00
.dockerignore import existing project 2026-07-01 13:27:52 -04:00
.gitignore import existing project 2026-07-01 13:27:52 -04:00
docker-compose.yml import existing project 2026-07-01 13:27:52 -04:00
Dockerfile Add admin token-protected REST API and web UI for managing codes/members 2026-07-06 11:50:21 -04:00
index copy.js import existing project 2026-07-01 13:27:52 -04:00
index.js Add admin token-protected REST API and web UI for managing codes/members 2026-07-06 11:50:21 -04:00
package-lock.json import existing project 2026-07-01 13:27:52 -04:00
package.json import existing project 2026-07-01 13:27:52 -04:00
README.md import existing project 2026-07-01 13:27:52 -04:00

discount