-
no database
- Redis datastore for queues.
- (no need to have any info/coupling about tracks)
-
sqlite3 for community login tokens?
-
asgi
-
mqtt
-
redis
- redis-py - aoi?
Don't need JSON - newline text? split? No need for field names? test/csv
records? (no heading?)
track_id,performer_name,session_owner,timestamp_play
abc123,MahName1,xyz456,1661094171425
def456,MahName2,xyz457,1661094271426
- /room/
- GET (admin)
- list
- POST
- new room (demo - 10 tracks?)
- new room (transient)
- new named room (admin)
- GET (admin)
- /room/XYZ/
- DELETE room
- /room/XYZ/settings
- GET
- POST/PUT (admin)
- queue limit model (priority token or points)
- /room/XYZ/tracks
- GET
- 302 redirect to static track_datafile from hash of filter_tags
- GET
- /room/XYZ/items
- GET (only used for testing - this is pushed to mqtt)
- POST (limit performer_name or admin)
- name, trackid
- return id
- /room/XYZ/items/ABC
- DELETE (session_id or admin only)
- PUT (admin)
- (weight, timestamp_play)
curl -X GET http://localhost:8000/room/test/tracks.json
curl -X GET http://localhost:8000/room/test/queue.csv
curl -X GET http://localhost:8000/room/test/queue.json
curl -X POST --cookie "session_id=test" http://localhost:8000/room/test/queue.json -d '{"track_id": "KAT_TUN_Your_side_Instrumental_", "performer_name": "test"}'
curl -X DELETE --cookie "session_id=admin" http://localhost:8000/room/test/queue/8684541502363635.json
curl -X PUT --cookie "session_id=admin" http://localhost:8000/room/test/queue.json -d '{"source": 543, "target": 223}'
curl -X GET http://localhost:8000/room/test/settings.json
curl -X PUT --cookie "session_id=admin" https://karakara.uk/room/test/settings.json -d '{"track_space": 42}'
curl -X GET --cookie "session_id=admin" http://localhost:8000/room/test/command/play.json
curl -X GET --cookie "session_id=admin" http://localhost:8000/room/test/command/stop/json