summaryrefslogtreecommitdiff
path: root/sql/schema.sql (follow)
Commit message (Collapse)AuthorAgeFilesLines
* courses.go, schema.sql: Validate course{Type,Group} in server, not SQLRunxi Yu2024-10-041-9/+1
|
* *.sql: New schema with ctypes and cgroupsRunxi Yu2024-10-041-12/+22
|
* schema.sql: users.expr should be BIGINTRunxi Yu2024-10-031-1/+1
|
* ws.go, schema.sql: Enforce uniqueness of course choicesRunxi Yu2024-10-011-1/+1
| | | | References: https://todo.sr.ht/~runxiyu/cca/1
* ws.go, *.sql: Add course choices to the databaseRunxi Yu2024-10-011-1/+9
| | | | | | | | | | | | | | | | | | | | Note that this naive implementation currently allows users to submit multiple requests for the same course. See the TODO comment below: /* * TODO: Ensure that the user is not already enrolled in this course * and pay attention to relevant race conditions. It might be useful * to restructure this part, to begin a transaction that adds the user * to the database (and check the (currently not existing) uniqueness) * constraint at that exact moment, and abort the transaction if the * course limit is exceeded. * Or perhaps choices should be also stored in an internal data * structure, though that requires extra attention on consistency * issues between the internal data structure and the database. * (Sometime I should really go fix the LMDB bindings...) */ References: https://todo.sr.ht/~runxiyu/cca/1
* {auth,index,ws}.go, schema.sql: Move session cookie into the user tableRunxi Yu2024-09-301-7/+3
| | | | | | | One user shall only have one session at a time. This reduces the possibility of strange race conditions and simplifies the code a lot. References: https://todo.sr.ht/~runxiyu/cca/4
* docs, scripts, sql: Sort support files into subdirectoriesRunxi Yu2024-09-241-0/+20