Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | *.go: Shorter line lengths | Runxi Yu | 2024-09-09 | 3 | -8/+34 | |
| | ||||||
* | *.go: Add comments | Runxi Yu | 2024-09-09 | 8 | -11/+134 | |
| | ||||||
* | ws.go: splitMsg should return strings instead of bytes | Runxi Yu | 2024-09-09 | 1 | -7/+9 | |
| | ||||||
* | ws.go: Split IRC-style messages | Runxi Yu | 2024-09-09 | 2 | -3/+30 | |
| | ||||||
* | ws.go: gofmt | Runxi Yu | 2024-09-09 | 1 | -1/+1 | |
| | ||||||
* | index.tmpl: Add git.rx and GitHub URL | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | style.css, index.tmpl: Style changes | Runxi Yu | 2024-09-08 | 2 | -2/+8 | |
| | ||||||
* | main.js, index.tmpl: Confirmation button | Runxi Yu | 2024-09-08 | 2 | -0/+17 | |
| | | | | | In the future we shall the confirmation button to only work when all fields are correctly completed. | |||||
* | index.tmpl: Place the search bar inside the table | Runxi Yu | 2024-09-08 | 1 | -3/+5 | |
| | ||||||
* | *: Password login stub | Runxi Yu | 2024-09-08 | 4 | -4/+76 | |
| | ||||||
* | index.tmpl: Rename the "Course" field into "Name", in the HTML | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | ws.go: Check session cookie | Runxi Yu | 2024-09-08 | 1 | -2/+24 | |
| | | | | I'm not sure if all browsers send them along in WebSocket requests. | |||||
* | main.js: More robust check handling | Runxi Yu | 2024-09-08 | 1 | -1/+15 | |
| | ||||||
* | main.js: Send message whenever the checkbox changes | Runxi Yu | 2024-09-08 | 1 | -0/+6 | |
| | ||||||
* | main.js: Send HELLO, not BLOOP | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | main.js: Slight reformat and code comments | Runxi Yu | 2024-09-08 | 1 | -0/+7 | |
| | ||||||
* | index.tmpl: Add .coursecheckbox to checkboxes | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | ws.go: Don't close the connection that fast | Runxi Yu | 2024-09-08 | 1 | -7/+8 | |
| | ||||||
* | ws.go: Don't echo messages back | Runxi Yu | 2024-09-08 | 1 | -4/+9 | |
| | ||||||
* | tcourse.sql: Test SQL file to add random courses | Runxi Yu | 2024-09-08 | 1 | -0/+6 | |
| | ||||||
* | schema.sql: course.id PRIMARY KEY; rearrange sessions | Runxi Yu | 2024-09-08 | 1 | -2/+2 | |
| | ||||||
* | ws.go: More helpful error message for non-WS connections | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | main.js: Break after case | Runxi Yu | 2024-09-08 | 1 | -3/+2 | |
| | | | | | Go's switch statements break implicitly so I assumed it was the same in JavaScript, but JavaScript's case is actually just like C's. | |||||
* | index.tmpl: Search bar | Runxi Yu | 2024-09-08 | 1 | -3/+18 | |
| | ||||||
* | main.js: Fix WS url and consistently use automatic semicolon insertion | Runxi Yu | 2024-09-08 | 1 | -8/+11 | |
| | ||||||
* | courses.go: Remove unused imports | Runxi Yu | 2024-09-08 | 1 | -1/+0 | |
| | ||||||
* | index.tmpl: Checkbox should not have {{.Id}} as text | Runxi Yu | 2024-09-08 | 1 | -1/+1 | |
| | ||||||
* | *: Display courses | Runxi Yu | 2024-09-08 | 6 | -35/+123 | |
| | ||||||
* | *.go: Simplify error messages and reformat | Runxi Yu | 2024-09-08 | 2 | -31/+30 | |
| | ||||||
* | *: Basic WebSocket connection may be established now | Runxi Yu | 2024-09-08 | 9 | -3/+143 | |
| | ||||||
* | sizechk.js: Delete as it's useless for CCAs | Runxi Yu | 2024-09-08 | 1 | -27/+0 | |
| | ||||||
* | index.tmpl: JavaScript warning | Runxi Yu | 2024-09-08 | 1 | -1/+23 | |
| | ||||||
* | auth.go: Expand staff departments | Runxi Yu | 2024-09-07 | 1 | -2/+2 | |
| | ||||||
* | *: Call Graph API for department information | Runxi Yu | 2024-09-07 | 9 | -72/+141 | |
| | | | | | | | | | | | | I am using a hybrid flow with "id_token" for OpenID Connect and "code" for an Authorization Code. I would use "token" too but that doesn't seem to be supported for standard web-apps and could result in strange session-hijacking issues. We still need PKCE sometime in the future; however it's not a priority: the worst attack someone could pull off is to use a different user's Authorization Code and steal a Department, which probably isn't too big of a deal as the Authorization Code should be secret anyways. | |||||
* | *: Basic authentication and templates | Runxi Yu | 2024-09-07 | 15 | -0/+1247 | |
| | | | | | | | | These are imported from FBFP and slightly modified to be specific to YKPS (while not being hard to port to other environments that use APIs that use OAUTH 2.0). Some code is also simplified. Database code still needs an audit, and things are not tested yet. | |||||
* | go.mod: Initialize go module | Runxi Yu | 2024-09-07 | 1 | -0/+3 | |
| | ||||||
* | Add a README | Runxi Yu | 2024-09-07 | 1 | -0/+34 | |
| | ||||||
* | LICENSE: BSD-2-Clause | Runxi Yu | 2024-09-07 | 1 | -0/+24 | |