MingxuanGame
|
e553b0cc40
|
fix(fetcher): URL encode scope in authorization URL
|
2025-09-13 17:15:06 +00:00 |
|
MingxuanGame
|
6382b744c1
|
chore(deps): upgrade packages
|
2025-09-13 16:41:35 +00:00 |
|
MingxuanGame
|
7d0b2c657d
|
feat(event): replace beatmap url with server url
|
2025-09-13 14:38:43 +00:00 |
|
MingxuanGame
|
ffe4c5b14d
|
chore(linter): make ruff happy
|
2025-09-13 14:38:29 +00:00 |
|
咕谷酱
|
c072dde9d5
|
Fix the interface return format
|
2025-09-11 02:49:19 +08:00 |
|
咕谷酱
|
e589e68881
|
Add public API for player statistics and information queries
|
2025-09-11 02:34:01 +08:00 |
|
MingxuanGame
|
7d79f3cee7
|
feat(storage): save MIME type into storage service
|
2025-08-30 12:36:43 +00:00 |
|
MingxuanGame
|
c167cbcea6
|
feat(score): add specific rate limit for download replay API
|
2025-08-30 12:28:53 +00:00 |
|
MingxuanGame
|
617fdc2cfc
|
fix(api): see details
/team/{team_id}: fix tag typo
beatmapset: remove download-service API
API Doc: fix v1 APi prefix
|
2025-08-30 12:08:31 +00:00 |
|
MingxuanGame
|
59ee88c603
|
feat(team): return team & member count in ranking
|
2025-08-30 11:58:43 +00:00 |
|
MingxuanGame
|
76f38b84b9
|
feat(team): invalidate team ranking cache when team members changed
|
2025-08-30 11:56:36 +00:00 |
|
MingxuanGame
|
e872c25918
|
fix(score): make scores of loved beatmap as ranked scores
|
2025-08-30 11:49:23 +00:00 |
|
MingxuanGame
|
554f1e6432
|
fix(daily-challenge): last_update will return correct time to display in client
|
2025-08-30 10:26:12 +00:00 |
|
陈晋瑭
|
6c2e88c485
|
feat(beatmap): 添加谱面用户标签功能 (#25)
* feat(tags): 添加 beatmap tags 相关功能
- 新增 BeatmapTags 模型类,用于表示 beatmap 的标签信息
- 实现加载标签数据、根据 ID 获取标签、获取所有标签等功能
* feat(database): 新增 BeatmapTagVote 数据库模型和迁移脚本
* fix(database): 修改 BeatmapTagVote 模型并创建新表
- 将 BeatmapTagVote 模型的表名从 "beatmap_tag_votes" 改为 "beatmap_tags"
- 创建新的数据库迁移文件以替换错误的原迁移文件
- 删除错误的迁移文件 "4a827ddba235_add_table_beatmap_tags.py"
* feat(tags): 添加用户标签功能
- 在 BeatmapResp 类中添加了 top_tag_ids 和 current_user_tag_ids 字段
- 新增了 /tags 相关的路由,包括获取所有标签和投票/取消投票功能
- 实现了标签投票和取消投票的数据库操作
* fix(tags): 修复标签投票查询和返回过程中的逻辑问题
- 修复 BeatmapResp 类中 current_user_tag_ids 字段的查询逻辑
- 优化 vote_beatmap_tags 函数中的标签验证过程
* fix(tags): add suggested changes from reviews
- 在 BeatmapResp 中添加 top_tag_ids 和 current_user_tag_ids 字段
- 实现用户标签投票功能,包括检查用户是否有资格投票
- 优化标签数据的加载方式
- 调整标签相关路由,增加路径参数描述
* fix(tags): apply changes from review
* fix(tag): apply changes from review suggests
- 更新标签接口文档,统一参数描述
- 修改标签投票接口状态码为 204
- 优化标签投票接口的用户认证方式
- 改进标签相关错误处理,使用更友好的错误信息
* fix(tag): use client authorization
* chore(linter): auto fix by pre-commit hooks
---------
Co-authored-by: MingxuanGame <MingxuanGame@outlook.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
2025-08-30 16:23:59 +08:00 |
|
MingxuanGame
|
d38cf12826
|
fix(daily-challenge): fix don't calculate user's statistics
|
2025-08-29 16:19:37 +08:00 |
|
MingxuanGame
|
224e890e31
|
feat(recalculate): add scheduled job to recalculate failed scores
|
2025-08-28 16:53:15 +00:00 |
|
MingxuanGame
|
fdb08fe31f
|
fix(rate-limit): apply on router to avoid TypeError on ws endpoint
|
2025-08-28 16:41:33 +00:00 |
|
MingxuanGame
|
4324d7ed2b
|
deploy(docker): use gu pp algorithm for osurx
|
2025-08-28 15:13:50 +00:00 |
|
MingxuanGame
|
e35e7ee0ef
|
ci(docker): auto publish to Docker Hub
|
2025-08-28 15:05:59 +00:00 |
|
MingxuanGame
|
bc2f481323
|
chore(revert): revert "feat(score): use gu pp algorithm" due to pp algorithm will crash
This reverts commit dfe173b40f.
|
2025-08-28 14:32:36 +00:00 |
|
MingxuanGame
|
d5aaab480b
|
docs(readme): update readme
|
2025-08-28 14:28:49 +00:00 |
|
MingxuanGame
|
aa239a81fa
|
feat(api): add rate limiting for API requests
|
2025-08-28 13:51:44 +00:00 |
|
MingxuanGame
|
c7f6c76b0f
|
refactor(api): standardizate API Router
|
2025-08-28 13:49:34 +00:00 |
|
陈晋瑭
|
3c5336ed61
|
添加谱面用户打分(评分)相关接口 (#24)
* feat(database): 添加 beatmap_ratings 表用于用户评分
- 新增 BeatmapRating 模型类,用于表示 beatmap_ratings 表
- 该表包含 id、beatmapset_id、user_id 字段
- 建立与 Beatmapset 和 User 表的关联关系
* feat(beatmapset_ratings): 添加判断用户是否可以对谱面集进行评分的接口
- 新增 /beatmapsets/{beatmapset_id}/can_rate 接口
- 判断用户是否能对谱面集进行过评分,返回True/False
* feat(ratings): 添加为谱面评分的接口
- 新增 POST /beatmapsets/{beatmapset_id} 路由,用于用户给谱面集评分
- 实现谱面集评分的添加和更新逻辑
- 在 BeatmapRating 模型中添加 rating 字段 (漏了最重要的,我真tm丢脸)
* chore(database): 添加alembic数据库迁移脚本
* fix(ratings): 更改上传谱面打分的api路径,防止冲突
* fix(ratings): add changes from pr review
* refactor(ratings): remove swears from code
* feat(ratings): 从beatmapset中移除ratings字段,并改由从beatmap_ratings表中直接计算评分
* chore(deps): 添加 git 包并更新依赖项
- 在 builder 阶段添加了 git 包的安装
* chore(database): 更新数据库连接地址并删除意外的迁移脚本
- 将 Alembic 配置文件中的数据库连接地址从本地地址改为 Docker Compose 中的 mysql 服务地址
- 删除了 migrations/versions 目录下的 dba1f8d9992e_add_beatmap_ratings_table.py 文件
* chore(database): generate alembic script for beatmap ratings
* fix(ratings): apply changes suggested in review
- revert changes to alembic.ini
- add name to apis
- modify migration scripts
* chore: format server.py using ruff
- who forgot to do this?
* fix(migrate): fix remove achievement index
* perf(rating): optimize SQL query
* fix(rating): ensure user can rate beatmapset
* fix(rating): add boundary check
* chore(project): remove submodule
---------
Co-authored-by: MingxuanGame <MingxuanGame@outlook.com>
|
2025-08-28 20:55:00 +08:00 |
|
MingxuanGame
|
80b102af2d
|
feat(storage): support remove old files
|
2025-08-28 12:17:35 +00:00 |
|
MingxuanGame
|
cbc46d63b6
|
chore(dev): remove submodule & update contribution guide
|
2025-08-28 10:13:49 +00:00 |
|
MingxuanGame
|
d1fc10626b
|
fix(team): modifying name or short name doesn't work
|
2025-08-28 09:54:02 +00:00 |
|
咕谷酱
|
7a0283086d
|
Update server.py
|
2025-08-28 04:21:43 +08:00 |
|
MingxuanGame
|
1f53c66700
|
fix(recalculate): save pp to original score
|
2025-08-27 21:20:59 +08:00 |
|
MingxuanGame
|
dfe173b40f
|
feat(score): use gu pp algorithm
|
2025-08-27 14:06:10 +08:00 |
|
MingxuanGame
|
7ec716d4de
|
feat(user): support get the user's first scores
|
2025-08-26 16:42:57 +00:00 |
|
MingxuanGame
|
d2e3b86bd1
|
feat(user): only show activities of the last 30 days
|
2025-08-26 16:07:27 +00:00 |
|
MingxuanGame
|
bc12182770
|
fix(user): rank lost event uses the owner of the displaced score's username
|
2025-08-26 15:53:32 +00:00 |
|
MingxuanGame
|
60745c1269
|
feat(score): auto recalculate for banned beatmaps
Running every hour
|
2025-08-26 15:12:14 +00:00 |
|
MingxuanGame
|
f8535fdce4
|
feat(user): support login with any case of username & email
|
2025-08-26 11:39:55 +00:00 |
|
MingxuanGame
|
8d9f1d2750
|
feat(ranking): support team ranking
|
2025-08-26 10:51:31 +00:00 |
|
MingxuanGame
|
46b60e555f
|
refactor(recalculate): optimize batch processing and use semaphore
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
900fa9b121
|
fix(score): fix incorrect best_id
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
9681aa68b4
|
feat(banchobot): show weighted pp in score commands
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
d11303b562
|
fix(score): return failed score which read from cache & remove legacy score error
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
81a07b5544
|
refactor(migration): remove empty migration
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
8810eabfd3
|
deploy(docker): fix spectator server connot connect to database
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
db30cb31dc
|
fix(daily-challenge): fix don't clear the streak when it has been broken
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
d873c227c1
|
refactor(stats): remove stats manager
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
bab6f843a5
|
fix(user): fix online status
|
2025-08-26 13:18:11 +08:00 |
|
咕谷酱
|
d470ee1482
|
Update docker-compose-osurx.yml
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
29857506f2
|
refactor(lio): use REALTIME for multiplayer room
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
292e6b0eba
|
chore(linter): make lint happy
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
debb4cb110
|
deploy(docker): update configuration
|
2025-08-26 13:18:11 +08:00 |
|
MingxuanGame
|
6ae64fd50c
|
refactor(lio): remove unused hmac validation
|
2025-08-26 13:18:11 +08:00 |
|