Commit Graph

744 Commits

Author SHA1 Message Date
MingxuanGame
5ff6708781 feat(beatmapset): add error handling for missing beatmapset additions 2025-10-02 08:07:05 +00:00
MingxuanGame
6252e04253 feat(beatmapset): add mechanism to prevent duplicate missing beatmapset additions 2025-10-02 07:37:33 +00:00
MingxuanGame
3f6776847e feat(beatmap,score): update beatmaps from Bancho & deleting scores (#50)
New API:

- DELETE /api/private/score/{score_id}: delete a score
- POST /api/private/beatmapsets/{beatmapset_id}/sync: request for syncing a beatmapset

New configuration:

- OLD_SCORE_PROCESSING_MODE
2025-10-02 13:36:09 +08:00
MingxuanGame
860ebe9fa9 feat(mods): configure ranked mods by file (#49) 2025-09-30 20:47:04 +08:00
MingxuanGame
017b058e63 chore(linter): make linter happy 2025-09-30 07:57:08 +00:00
咕谷酱
0f637446df Update audio_proxy.py 2025-09-29 21:33:29 +08:00
咕谷酱
4017f2af73 fix:修复音频代理缓存报错 2025-09-29 21:22:06 +08:00
咕谷酱
bc6553f143 Merge pull request #46 from GooGuTeam/totp-fix
Totp fix
2025-09-24 03:19:23 +08:00
咕谷酱
3a434ee02c 修复部分报错 2025-09-24 03:04:09 +08:00
咕谷酱
86c7bbb74e 优化验证 2025-09-24 02:08:13 +08:00
咕谷酱
8054281b15 添加防止重放攻击 2025-09-24 00:35:57 +08:00
咕谷酱
953f33be4f fix ranking total 0 2025-09-24 00:29:32 +08:00
咕谷酱
99d6af1c1f 修复邮件验证部分问题 2025-09-23 22:13:15 +08:00
咕谷酱
7d6eeae073 添加音频代理 2025-09-23 03:32:30 +08:00
咕谷酱
884a4cad2c 添加音频代理 2025-09-23 03:28:13 +08:00
咕谷酱
79805c2858 Update ranking.py 2025-09-23 02:37:04 +08:00
咕谷酱
0cd10bc543 修复排行榜返回用户数量问题 2025-09-23 02:36:20 +08:00
咕谷酱
bb06643de8 fix error 2025-09-23 01:56:50 +08:00
咕谷酱
f8e5fdc08e 添加排行榜/战队 total字段 2025-09-23 01:54:00 +08:00
咕谷酱
edbf01daa1 添加谱面查询缓存 2025-09-23 01:34:43 +08:00
MingxuanGame
1527e23b43 feat(session-verify): 添加 TOTP 支持 (#34)
* chore(deps): add pyotp

* feat(auth): implement TOTP verification

feat(auth): implement TOTP verification and email verification services

- Added TOTP keys management with a new database model `TotpKeys`.
- Introduced `EmailVerification` and `LoginSession` models for email verification.
- Created `verification_service` to handle email verification logic and TOTP processes.
- Updated user response models to include session verification methods.
- Implemented routes for TOTP creation, verification, and fallback to email verification.
- Enhanced login session management to support new location checks and verification methods.
- Added migration script to create `totp_keys` table in the database.

* feat(config): update config example

* docs(totp): complete creating TOTP flow

* refactor(totp): resolve review

* feat(api): forbid unverified request

* fix(totp): trace session by token id to avoid other sessions are forbidden

* chore(linter): make pyright happy

* fix(totp): only mark sessions with a specified token id
2025-09-21 19:50:11 +08:00
MingxuanGame
7b4ff1224d style(genereator): fix alias style 2025-09-21 11:25:06 +00:00
MingxuanGame
ccab7bc584 ci(genereator): fix ci 2025-09-21 11:21:20 +00:00
MingxuanGame
509f759b1a feat(config): add docs & auto-generated document 2025-09-21 11:17:46 +00:00
MingxuanGame
bef303cc93 fix(ranking): missing arguments when calling get_country_ranking 2025-09-21 05:28:28 +00:00
MingxuanGame
19c7303b83 docs(readme): update badge links in README 2025-09-21 05:24:45 +00:00
MingxuanGame
ca9a2abc6f fix(ranking): remove redirect to make client to access
Client will not attach `Authorization` to the redirected request
2025-09-21 05:23:06 +00:00
MingxuanGame
9e7409c9f7 deploy(docker): mapping newrelic.ini to container 2025-09-20 10:47:21 +00:00
MingxuanGame
ad78663ba0 chore(linter): make ruff happy 2025-09-20 10:41:15 +00:00
咕谷酱
b834799a2d 优化ip库获取逻辑 2025-09-19 17:03:45 +08:00
咕谷酱
08ff35509e 修复代理问题,添加头像接口 2025-09-19 17:02:24 +08:00
咕谷酱
acb12120a2 Merge pull request #33 from 4aya/main
Fixed .env.example file
2025-09-18 01:50:08 +08:00
pre-commit-ci[bot]
6330e9b6e1 chore(linter): auto fix by pre-commit hooks 2025-09-17 17:39:21 +00:00
4ayo
dbbabc8a15 Fixed .env.example file 2025-09-17 19:38:11 +02:00
咕谷酱
e3976c0a11 更换许可 2025-09-17 01:01:33 +08:00
咕谷酱
0913625836 Update bbcode_service.py 2025-09-16 00:44:38 +08:00
咕谷酱
0b43f2aad8 支持个人介绍编辑 2025-09-16 00:33:46 +08:00
咕谷酱
55225366dc 临时修复成就事件格式问题 2025-09-15 20:35:44 +08:00
咕谷酱
0bfe4d3702 Create fix_achievement_event_payload.py 2025-09-15 20:30:10 +08:00
咕谷酱
1554f448d0 添加成就下载脚本 2025-09-15 20:19:26 +08:00
咕谷酱
7a3752669f Delete copilot-instructions.md 2025-09-15 18:57:21 +08:00
咕谷酱
6baaeda1af 修复 kudosu 422 错误 2025-09-15 18:22:27 +08:00
咕谷酱
fa6b7487aa 占位 kudosu 接口 2025-09-15 18:11:45 +08:00
MingxuanGame
98f5a1d184 fix(user-cache): fix wrong score cache model for legacy format 2025-09-14 08:19:20 +00:00
MingxuanGame
7f1aee3d4a docs(agent): update agent instruction 2025-09-14 07:58:37 +00:00
MingxuanGame
c31c05d3f6 fix(score): typo eventgi_payload -> event_payload 2025-09-14 06:53:13 +00:00
MingxuanGame
61639454a3 feat(room): use participated user count as participant count for playlist room 2025-09-14 06:31:29 +00:00
MingxuanGame
19f94fffbb feat(api): 支持 x-api-version (#29)
* feat(relationship): support legacy-compatible response format

* feat(score): add support for legacy score response format in API

* fix(score): avoid missing greenlet

* fix(score): fix missing field for model validation

* feat(user): apply legacy score format for user

* feat(api): use `int` to hint `APIVersion`
2025-09-14 14:09:53 +08:00
MingxuanGame
e591280620 refactor(database): rename migrations to make them more clear 2025-09-14 05:56:01 +00:00
MingxuanGame
66b5610dea deploy(docker): update COPY commands to explicitly include necessary files and directories 2025-09-14 05:43:36 +00:00