fix(beatmapset): load beatmapset from database
This commit is contained in:
@@ -186,9 +186,22 @@ class BeatmapsetUpdateService:
|
|||||||
async with with_db() as session:
|
async with with_db() as session:
|
||||||
sync_record = await session.get(BeatmapSync, beatmapset.id)
|
sync_record = await session.get(BeatmapSync, beatmapset.id)
|
||||||
if not sync_record:
|
if not sync_record:
|
||||||
sync_record = BeatmapSync(
|
database_beatmapset = await session.get(Beatmapset, beatmapset.id)
|
||||||
beatmapset_id=beatmapset.id,
|
if database_beatmapset:
|
||||||
beatmaps=[
|
status = BeatmapRankStatus(database_beatmapset.beatmap_status)
|
||||||
|
await database_beatmapset.awaitable_attrs.beatmaps
|
||||||
|
beatmaps = [
|
||||||
|
SavedBeatmapMeta(
|
||||||
|
beatmap_id=bm.id,
|
||||||
|
md5=bm.checksum,
|
||||||
|
is_deleted=False,
|
||||||
|
beatmap_status=BeatmapRankStatus(bm.beatmap_status),
|
||||||
|
)
|
||||||
|
for bm in database_beatmapset.beatmaps
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
status = BeatmapRankStatus(beatmapset.ranked)
|
||||||
|
beatmaps = [
|
||||||
SavedBeatmapMeta(
|
SavedBeatmapMeta(
|
||||||
beatmap_id=bm.id,
|
beatmap_id=bm.id,
|
||||||
md5=bm.checksum,
|
md5=bm.checksum,
|
||||||
@@ -196,8 +209,12 @@ class BeatmapsetUpdateService:
|
|||||||
beatmap_status=BeatmapRankStatus(bm.ranked),
|
beatmap_status=BeatmapRankStatus(bm.ranked),
|
||||||
)
|
)
|
||||||
for bm in beatmapset.beatmaps
|
for bm in beatmapset.beatmaps
|
||||||
],
|
]
|
||||||
beatmap_status=BeatmapRankStatus(beatmapset.ranked),
|
|
||||||
|
sync_record = BeatmapSync(
|
||||||
|
beatmapset_id=beatmapset.id,
|
||||||
|
beatmaps=beatmaps,
|
||||||
|
beatmap_status=status,
|
||||||
)
|
)
|
||||||
session.add(sync_record)
|
session.add(sync_record)
|
||||||
await session.commit()
|
await session.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user