Commit Graph

72 Commits

Author SHA1 Message Date
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
e872c25918 fix(score): make scores of loved beatmap as ranked scores 2025-08-30 11:49:23 +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
fdb08fe31f fix(rate-limit): apply on router to avoid TypeError on ws endpoint 2025-08-28 16:41:33 +00:00
MingxuanGame
c7f6c76b0f refactor(api): standardizate API Router 2025-08-28 13:49:34 +00: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
8d9f1d2750 feat(ranking): support team ranking 2025-08-26 10:51:31 +00: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
29857506f2 refactor(lio): use REALTIME for multiplayer room 2025-08-26 13:18:11 +08:00
MingxuanGame
2f033f108a fix(playlist): cannot get playlist rooms 2025-08-26 13:18:11 +08:00
pre-commit-ci[bot]
7625cd99f5 chore(deps): auto fix by pre-commit hooks 2025-08-26 13:18:11 +08:00
咕谷酱
6fa9d5ba79 修复密码房问题 2025-08-26 13:18:11 +08:00
咕谷酱
ea575de250 Add updated_at and created_at to Playlist model
Introduces created_at and updated_at fields to the Playlist model for tracking creation and modification times. Refactors room user removal logic to handle owner transfer and participant count updates more robustly. Updates room query logic for more accurate filtering by category and status. Adds migration stubs for updated_at column in room playlists.
2025-08-26 13:18:11 +08:00
MingxuanGame
5c57ec63d9 fix(event): remove debug print 2025-08-22 17:28:29 +00:00
咕谷酱
6bcd8c1a21 Add asset proxy feature for resource URLs
Introduces asset proxy configuration and services to enable replacement of osu! resource URLs with custom domains. Updates API endpoints and caching services to process and rewrite resource URLs when asset proxy is enabled. Adds documentation and environment variables for asset proxy setup.
2025-08-22 22:03:51 +08:00
MingxuanGame
9b00dbda28 refactor(project): use unified utcnow 2025-08-22 11:27:45 +00:00
MingxuanGame
545fc9e0c6 fix(recent_activity): fix rank & achievement event
运行 tools/fix_user_rank_event.py 修复现存的 event
2025-08-22 11:00:36 +00:00
MingxuanGame
f23d8298b9 refactor(stats): move to private-api 2025-08-22 09:37:41 +00:00
MingxuanGame
598fcc8b38 refactor(project): make pyright & ruff happy 2025-08-22 08:21:52 +00:00
咕谷酱
3bee2421fa 添加邮件验证 2025-08-22 08:19:12 +08:00
咕谷酱
845aab4aed 修复区间问题 2025-08-22 06:11:19 +08:00
咕谷酱
23db81469a Update stats.py 2025-08-22 06:01:12 +08:00
咕谷酱
ce465aa049 整理代码 2025-08-22 05:57:28 +08:00
咕谷酱
ad131c0158 修复数据统计问题 2025-08-22 05:56:47 +08:00
咕谷酱
ac56829c3b 测试统计记录 2025-08-22 05:43:18 +08:00
咕谷酱
56ae478264 修复数据统计问题 2025-08-22 05:02:24 +08:00
咕谷酱
fabfbd9f7f 修复延迟加载 2025-08-22 03:28:22 +08:00
咕谷酱
719c9e601a 添加在线统计 2025-08-22 03:16:21 +08:00
咕谷酱
71e5f1815e 修复多人游戏成绩上传报错 2025-08-22 02:26:39 +08:00
咕谷酱
cc4ad91b40 no fix 2025-08-22 02:04:24 +08:00
咕谷酱
49ac399180 fix Failed to refresh user cache after score submit 2025-08-22 00:25:58 +08:00
咕谷酱
80d4237c5d ruff fix 2025-08-22 00:07:19 +08:00
咕谷酱
bade8658ed Fix cache errors 2025-08-22 00:06:13 +08:00
咕谷酱
822d7c6377 Add grade hot cache 2025-08-21 23:35:25 +08:00
咕谷酱
b316511cf5 add ranking cache 2025-08-21 21:35:08 +08:00
MingxuanGame
068697355f feat(achievement): support obtain achievements 2025-08-21 08:50:16 +00:00
MingxuanGame
ef1b699547 feat(daily-challenge): show statistics in profile 2025-08-20 04:24:00 +00:00
MingxuanGame
1c65b21bb9 refactor(app): update database code 2025-08-18 16:37:30 +00:00
MingxuanGame
6bae937e01 fix(playlist,multiplayer): commit to refresh participated users 2025-08-18 14:45:21 +00:00
MingxuanGame
8d5f71f7d8 fix(score): sort mods to ensure to find scores 2025-08-18 12:58:10 +00:00
MingxuanGame
cc26df253c fix(score): preload beatmap when creating score token 2025-08-18 09:58:11 +00:00
MingxuanGame
7510b4fae1 fix(score): return user score & remove duplicated scores 2025-08-18 09:49:02 +00:00
咕谷酱
7f512cec6e Optimization of score calculation 2025-08-18 17:16:44 +08:00
咕谷酱
e5f0cd1fd6 Merge branch 'main' of https://github.com/GooGuTeam/g0v0-server 2025-08-18 17:15:43 +08:00
MingxuanGame
219f19d623 feat(beatmap,score): support failtime & more exact playtime 2025-08-18 08:48:13 +00:00
咕谷酱
71c961cafd add search redis 2025-08-18 16:20:29 +08:00