Spaces:
Paused
Paused
|
Download README.md from Shaurya2020/paddock-api: direct link, hf CLI and curl.
- Browser
- Download file 1.56 kB
-
https://huggingface.co/spaces/Shaurya2020/paddock-api/resolve/main/README.md
- Command line
-
hf download hf://spaces/Shaurya2020/paddock-api/README.md
-
curl -L -o README.md https://huggingface.co/spaces/Shaurya2020/paddock-api/resolve/main/README.md
1.56 kB
| title: Paddock API | |
| emoji: π | |
| colorFrom: gray | |
| colorTo: yellow | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| # Paddock API | |
| Node/Express backend for a white-label horse racing betting platform. SQLite, no | |
| external services, migrates and seeds itself on boot. | |
| ## Endpoints | |
| | Module | Count | Base | | |
| |---|---|---| | |
| | Race events | 6 | `/api/race-events` | | |
| | Odds | 3 | `/api/race-events/:id/odds` | | |
| | Betting | 4 | `/api/bets` | | |
| | Settlement | 5 | `/api/settlements` | | |
| | Content | 8 | `/api/teams`, `/api/jockeys` | | |
| Plus `/api/health`, `/api/auth/login`, `/api/me`. | |
| ## Sign in | |
| ``` | |
| POST /api/auth/login {"email":"ops@paddock.io","password":"super"} role 1, sees every operator | |
| POST /api/auth/login {"email":"admin@meridian.in","password":"meridian"} role 2, sees its own rows | |
| POST /api/auth/login {"email":"admin@kingsgate.in","password":"kingsgate"} role 2, sees its own rows | |
| ``` | |
| Send the returned token as `Authorization: Bearer <token>` on every other call. | |
| ## Notes | |
| The multi-tenant guarantee is a SQL `WHERE` clause, not an application-layer | |
| filter β a role-2 admin who forges another operator's id gets an empty result | |
| set from the database rather than a row that code has to remember to reject. | |
| Straight bets snapshot the price at placement (`struck_odds`); exotics settle | |
| pari-mutuel from the net pool. Settlement writes payouts and the audit row in a | |
| single transaction. | |
| The database lives in `/tmp` and resets when the Space restarts. Point `DB_PATH` | |
| at a mounted volume, or swap `node:sqlite` for Postgres, to persist. | |