MingxuanGame
|
134f3335c5
|
feat(ranking): support country leaderboard
|
2025-08-14 14:55:51 +00:00 |
|
MingxuanGame
|
c38ab7fd6d
|
fix(ranking): wrong api endpoint
|
2025-08-14 14:44:51 +00:00 |
|
MingxuanGame
|
da71d7ce46
|
feat(ranking): add global leaderboard
|
2025-08-14 14:35:52 +00:00 |
|
MingxuanGame
|
155905f652
|
fix(event): trigger rank when submitting score
|
2025-08-14 14:11:52 +00:00 |
|
MingxuanGame
|
7fb7c094fd
|
feat(private-api): support upload cover
|
2025-08-14 13:55:06 +00:00 |
|
MingxuanGame
|
6c48c8ad97
|
fix(v1-api): fix access api with any api_key
|
2025-08-14 13:46:13 +00:00 |
|
MingxuanGame
|
2912e68c7b
|
fix(event): fix incorrect call settings.frontend_url
|
2025-08-14 13:36:29 +00:00 |
|
MingxuanGame
|
55c25bf96e
|
fix(v1-api): 500 when request with username
|
2025-08-14 13:14:49 +00:00 |
|
MingxuanGame
|
46a1d049fe
|
refactor(score): replace MODE_TO_INT INT_TO_MODE with int(mode) GameMode.from_int
|
2025-08-14 13:04:59 +00:00 |
|
MingxuanGame
|
a8906b8194
|
feat(v1-api): support api v1
|
2025-08-14 09:11:53 +00:00 |
|
MingxuanGame
|
c98ea9c723
|
chore(service): remove debug log
|
2025-08-14 07:48:28 +00:00 |
|
MingxuanGame
|
2c7c761a44
|
feat(score): add simple suspicious score check
TODO: use another lib to check the beatmap is whether suspicious or not
|
2025-08-14 07:44:13 +00:00 |
|
MingxuanGame
|
48b075d99d
|
feat(config): add ENABLE_ALL_BEATMAP_PP
|
2025-08-14 07:01:41 +00:00 |
|
MingxuanGame
|
ebbc0b8252
|
feat(score): allow to recalculate all score pp
|
2025-08-14 06:50:17 +00:00 |
|
MingxuanGame
|
c8b6c1fa0e
|
fix(signalr): fix catch exception
|
2025-08-14 05:58:38 +00:00 |
|
chenjintang-shrimp
|
c0ccdfa65b
|
feat(event): 添加排名丢失事件
- 在用户得分进入前50名或前1%时,检查是否有其他用户的排名被取代
- 如果有用户排名被取代,创建排名丢失事件
|
2025-08-13 17:36:19 +00:00 |
|
chenjintang-shrimp
|
3f31785428
|
feat(database): 添加全球排名事件触发逻辑
- 在 ScoreResp 类中添加逻辑,判断玩家是否进入全球前 50 或前 1% 排名
|
2025-08-13 17:17:39 +00:00 |
|
MingxuanGame
|
3f5b242c6f
|
fix(beatmap): make max_combo nullable
|
2025-08-13 15:39:24 +00:00 |
|
MingxuanGame
|
e180dcfbd6
|
fix(signalr): add exception handler (sentry-14,26,32,36)
|
2025-08-13 15:31:40 +00:00 |
|
MingxuanGame
|
858a7e8640
|
playlist_best_scores: remove foreign key to allow to remove items
|
2025-08-13 15:18:26 +00:00 |
|
MingxuanGame
|
2e44951533
|
fix(spectator): fix replay cannot play in stable & cannot spectate others when they are in gameplay
|
2025-08-13 15:16:06 +00:00 |
|
MingxuanGame
|
7817b7c59a
|
feat(oauth): support client credentials grant
|
2025-08-13 14:12:29 +00:00 |
|
MingxuanGame
|
7a6a548a65
|
fix(statistics): fix levels
|
2025-08-13 10:37:51 +00:00 |
|
MingxuanGame
|
46746f5b71
|
fix(score): don't show pp in profile
|
2025-08-13 09:04:06 +00:00 |
|
MingxuanGame
|
e95bbe9052
|
fix(log): only show color for uvicorn log (sentry-5,8,10,13)
|
2025-08-13 08:46:34 +00:00 |
|
MingxuanGame
|
50b8d9a914
|
fix(database): extend pools (sentry-11)
|
2025-08-13 08:43:37 +00:00 |
|
MingxuanGame
|
79368e7e84
|
fix(private-api): catch exception when opening image
|
2025-08-13 08:34:17 +00:00 |
|
MingxuanGame
|
f19aaa6233
|
fix(multiplayer): failed to add items
|
2025-08-13 08:19:39 +00:00 |
|
MingxuanGame
|
6526d3911a
|
fix(app): fix exception handler
|
2025-08-13 08:15:40 +00:00 |
|
MingxuanGame
|
cf3b9d155d
|
fix(multiplayer): fix Room is not ready for gameplay when gameplay started (sentry-4)
|
2025-08-13 08:05:18 +00:00 |
|
MingxuanGame
|
1458a96a8c
|
fix(private-api): fix wrong event url
|
2025-08-13 07:57:35 +00:00 |
|
MingxuanGame
|
4b5aefb946
|
feat(beatmapset): support search beatmapset
|
2025-08-13 07:55:48 +00:00 |
|
chenjintang-shrimp
|
50375c7b12
|
feat(event): 添加百次播放事件记录功能
- 在 beatmap_playcounts 模块中增加了事件记录功能
- 当用户播放次数达到百的倍数时,创建并记录 Event 对象
- 事件类型为 EventType.BEATMAP_PLAYCOUNT
|
2025-08-13 06:48:54 +00:00 |
|
chenjintang-shrimp
|
3de9f55109
|
fix(event): change hard-coded URL to variable
|
2025-08-13 06:28:38 +00:00 |
|
chenjintang-shrimp
|
a528078874
|
feat(event): add event record for username changing
|
2025-08-13 06:21:56 +00:00 |
|
chenjintang-shrimp
|
1dde8a40da
|
feat(database): 将 Event.event_payload 字段从 str 改为 dict/json
- 在 events.py 中,将 event_payload 字段的类型从 str 改为 dict,并使用 JSON 类型存储
- 添加新的迁移文件,将数据库中的 event_payload 列从 VARCHAR 类型改为 JSON 类型
- 更新 EventResp 类,移除 _payload 属性,直接使用 event_payload 字段
|
2025-08-13 06:21:22 +00:00 |
|
MingxuanGame
|
29eb85bc4a
|
fix(user): fill with empty data in graph data to show correct graph
|
2025-08-13 04:18:00 +00:00 |
|
MingxuanGame
|
69e9927ea0
|
fix(score): fix incomplete statistics in leaderboard & wrong statistics in replay
|
2025-08-13 04:01:19 +00:00 |
|
MingxuanGame
|
e7d5bcaf4b
|
feat(server): add sentry to track error
|
2025-08-12 17:00:01 +00:00 |
|
MingxuanGame
|
0ab3c1c492
|
fix(metadata): safe-remove user from room subscribers
|
2025-08-12 16:26:47 +00:00 |
|
MingxuanGame
|
39e7309d01
|
docs(api): more exactly
|
2025-08-12 16:17:50 +00:00 |
|
MingxuanGame
|
f274ba15b9
|
fix(event): failed to find name User
|
2025-08-12 16:06:27 +00:00 |
|
MingxuanGame
|
b5afbed36c
|
refactor(private-api): use OAuth to authorize
|
2025-08-12 16:04:19 +00:00 |
|
MingxuanGame
|
186656d72f
|
fix(playlist,score): do not return failed score for playlist
|
2025-08-12 15:53:18 +00:00 |
|
MingxuanGame
|
f683f5c911
|
fix(user): change column to adapt to lazer_users.id, add migration
|
2025-08-12 15:14:11 +00:00 |
|
MingxuanGame
|
71c27b38f5
|
fix(score): change processed to True to show pp in profile
|
2025-08-12 15:05:19 +00:00 |
|
chenjintang-shrimp
|
99a43f34ab
|
feat(user): add API Endpoint GET /users/{user}/recent_activity
- 在用户路由中增加 /users/{user}/recent_activity 端点
- 实现获取用户近期活动的功能,返回 EventResp 列表
- 添加分页参数 limit 和 offset,目前仅实现 limit
- 优化用户不存在时的错误处理
|
2025-08-12 14:48:23 +00:00 |
|
chenjintang-shrimp
|
541986f75e
|
Merge branch 'main' of https://github.com/GooGuTeam/osu_lazer_api
|
2025-08-12 14:38:26 +00:00 |
|
chenjintang-shrimp
|
284290451e
|
feat(database): 在用户模型中添加事件关系
- 在 User 类中添加了 events 字段,用于存储用户相关的事件
- 通过 Relationship 建立了用户和事件之间的关系
- 引入了 Event 模型以支持事件相关操作
|
2025-08-12 14:37:41 +00:00 |
|
chenjintang-shrimp
|
c706b08240
|
feat(database,events): 在用户模型中添加事件关系
- 在 User 类中添加了 events 字段,用于存储用户相关的事件
- 通过 Relationship 建立了用户和事件之间的关系
- 引入了 Event 模型以支持事件相关操作
|
2025-08-12 14:37:22 +00:00 |
|