summaryrefslogtreecommitdiff
path: root/courses.go (follow)
Commit message (Expand)AuthorAgeFilesLines
* {courses,wsm}.go: Use in-memory structure to fetch cgroup, not SQLRunxi Yu11 days1-17/+6
* {courses,sem,ws,wsm}.go: Second step towards an efficient state propagatorRunxi Yu11 days1-4/+6
* {courses,sem,ws}.go: First step towards an efficient state propagatorRunxi Yu11 days1-1/+10
* courses.go: ReformatRunxi Yu11 days1-1/+1
* {courses,wsm}.go: Add getCourseByIDRunxi Yu11 days1-0/+6
* {courses,wsm}.go: Add (*courseT).decrementSelectedAndPropagateRunxi Yu11 days1-0/+11
* {courses,ws,wsm}.go: Update userCourseGroups during choose/unchooseRunxi Yu11 days1-7/+18
* {courses,ws}.go: Populate userCourseGroups in a separate functionRunxi Yu11 days1-0/+34
* {courses,ws}.go: Populate userCourseGroups for each connectionRunxi Yu12 days1-5/+19
* courses.go, schema.sql: Validate course{Type,Group} in server, not SQLRunxi Yu12 days1-10/+44
* courses.go: Propagate course.Selected when setting up coursesRunxi Yu2024-10-011-2/+7
* *: Change license to AGPL-3.0-or-laterRunxi Yu2024-09-301-21/+11
* courses.go: courseT.{Lock->SelectedLock}Runxi Yu2024-09-291-12/+12
* courses.go: Add a RWMutex to courseTRunxi Yu2024-09-281-8/+15
* courses.go, etc: Make courses a map instead of a sliceRunxi Yu2024-09-261-3/+3
* *.go, cca.scfg.example: Expose performance optionsRunxi Yu2024-09-261-1/+1
* *.go: Wrap errorsRunxi Yu2024-09-261-3/+4
* *.go: LintingRunxi Yu2024-09-241-11/+11
* courses.go: Comment out coursetype_t enum to make linter happy for nowRunxi Yu2024-09-241-5/+7
* *.go: Add more licensesRunxi Yu2024-09-091-0/+30
* *.go: Add commentsRunxi Yu2024-09-091-2/+18
* courses.go: Remove unused importsRunxi Yu2024-09-081-1/+0
* *: Display coursesRunxi Yu2024-09-081-0/+69