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
fdb08fe31f
fix(rate-limit): apply on router to avoid TypeError on ws endpoint
2025-08-28 16:41:33 +00:00
MingxuanGame
598fcc8b38
refactor(project): make pyright & ruff happy
2025-08-22 08:21:52 +00:00
咕谷酱
ce465aa049
整理代码
2025-08-22 05:57:28 +08:00
咕谷酱
1fe603f416
add message redis
2025-08-22 01:49:03 +08:00
咕谷酱
822d7c6377
Add grade hot cache
2025-08-21 23:35:25 +08:00
MingxuanGame
068697355f
feat(achievement): support obtain achievements
2025-08-21 08:50:16 +00:00
MingxuanGame
ce756c354b
fix(statistics): run recalculate independently
2025-08-19 13:45:12 +00:00
MingxuanGame
1c65b21bb9
refactor(app): update database code
2025-08-18 16:37:30 +00:00
咕谷酱
041e2a0781
Add beatmapsets Download load balancing
2025-08-18 02:58:40 +08:00
MingxuanGame
86bea5d4b5
chore(lint): make ruff happy
2025-08-17 16:59:05 +00:00
咕谷酱
6e496a1123
add ip log
2025-08-18 00:23:57 +08:00
咕谷酱
de0c86f4a2
add geoip
2025-08-17 23:56:46 +08:00
MingxuanGame
caa4fe01af
fix(request): incorrectly parse body for a form
2025-08-16 17:33:57 +00:00
MingxuanGame
87a3928e20
docs(chat): add API docs
2025-08-16 15:35:27 +00:00
MingxuanGame
f992e4cc71
feat(chat): support public channel chat
2025-08-16 05:29:16 +00:00
MingxuanGame
a8906b8194
feat(v1-api): support api v1
2025-08-14 09:11:53 +00:00
MingxuanGame
7817b7c59a
feat(oauth): support client credentials grant
2025-08-13 14:12:29 +00:00
MingxuanGame
50b8d9a914
fix(database): extend pools (sentry-11)
2025-08-13 08:43:37 +00:00
MingxuanGame
39e7309d01
docs(api): more exactly
2025-08-12 16:17:50 +00:00
MingxuanGame
cf3a6bbd21
feat(storage): support cloud storage
2025-08-12 03:58:06 +00:00
MingxuanGame
867b99cca5
fix(database): fix cross-session user (current_user doesn't belong to get_db)
2025-08-11 14:01:37 +00:00
MingxuanGame
6e71141146
feat(developer): support custom OAuth 2.0 client
2025-08-11 12:33:31 +00:00
MingxuanGame
f165ae5dc3
refactor(config): use pydantic-settings
2025-08-10 05:38:28 +00:00
MingxuanGame
cf45070c2c
refactor(database): use alembic to maintain the whole database
2025-08-10 04:33:03 +00:00
MingxuanGame
5fe3f36055
feat(daily-challenge): complete daily-challenge
2025-08-09 14:34:46 +00:00
MingxuanGame
8531e67423
feat(redis): add subscriber for pub/sub mode
2025-08-09 12:09:23 +00:00
MingxuanGame
832a6fc95d
feat(daily-challenge): simple implement
2025-08-09 11:18:29 +00:00
MingxuanGame
c5fc6afc18
feat(redis): use asyncio
2025-07-31 14:38:10 +00:00
MingxuanGame
be401e8885
refactor(database): 优化数据库关联对象的载入 ( #10 )
2025-07-31 20:11:22 +08:00
MingxuanGame
9ce99398ab
refactor(user): refactor user database
...
**Breaking Change**
用户表变为 lazer_users
建议删除与用户关联的表进行迁移
2025-07-30 16:17:09 +00:00
MingxuanGame
e1ce364ac9
feat(user): support search user
2025-07-28 14:18:43 +00:00
MingxuanGame
1be3388524
feat(log): add logger
2025-07-28 10:38:40 +00:00
MingxuanGame
b359be3637
feat(solo-score): support submit solo scores
2025-07-27 02:33:42 +00:00
MingxuanGame
8d6b5a882d
feat(fetcher): add data fetcher for beatmap & beatmapset
2025-07-26 17:01:46 +08:00
MingxuanGame
cca4a2f1be
feat(fetcher): add data fetcher
2025-07-26 16:06:53 +08:00
MingxuanGame
f347b680b2
refactor(database): use asyncio
2025-07-25 20:43:50 +08:00
MingxuanGame
c43ca883a5
refactor(database): migrate to sqlmodel
2025-07-24 20:49:07 +08:00
MingxuanGame
1655bb9f53
feat: 基础 SignalR 服务器支持
2025-07-24 18:45:08 +08:00
MingxuanGame
52a8bd2c76
re-structure code
2025-07-23 18:25:04 +08:00