chuni: Correctly implement recent rating requests

This commit is contained in:
e76cd2ec3a63f11710dc9fa0bc5b66176521af0a
2020-08-02 12:22:01 -04:00
committed by Tau
parent 6c22c4287e
commit 71a7cd7eed
9 changed files with 133 additions and 16 deletions
+3 -3
View File
@@ -2,7 +2,7 @@ import { Repositories } from "../repo";
import { GetUserRecentRatingRequest } from "../request/getUserRecentRating";
import { GetUserRecentRatingResponse } from "../response/getUserRecentRating";
import { readAimeId } from "../proto/base";
import { writeUserRecentRatingFromLog } from "../proto/userRecentRating";
import { writeUserRecentRating } from "../proto/userRecentRating";
export default async function getUserRecentRating(
rep: Repositories,
@@ -12,11 +12,11 @@ export default async function getUserRecentRating(
const profileId = await rep.userData().lookup(aimeId);
// Return recent 30 plays to calculate rating
const items = await rep.userPlaylog().loadLatest(profileId, 30);
const items = await rep.userRecentRating().load(profileId);
return {
userId: req.userId,
length: items.length.toString(),
userRecentRatingList: items.map(writeUserRecentRatingFromLog),
userRecentRatingList: items.map(writeUserRecentRating),
};
}
+8
View File
@@ -14,6 +14,7 @@ import { readUserDataEx } from "../proto/userDataEx";
import { readUserDuelList } from "../proto/userDuelList";
import { readUserPlaylog } from "../proto/userPlaylog";
import { readUserCharge } from "../proto/userCharge";
import { readUserRecentRating } from "../proto/userRecentRating";
import { readUserCourse } from "../proto/userCourse";
// It shouldn't need to be said really, but seeing as this message (A) requires
@@ -84,5 +85,12 @@ export default async function upsertUserAll(
await rep.userDuelList().save(profileId, readUserDuelList(item));
}
await rep
.userRecentRating()
.save(
profileId,
(payload.userRecentRatingList || []).map(readUserRecentRating)
);
return { returnCode: "1" };
}