Fully implement settings persistence

This commit is contained in:
Tau
2019-11-06 17:28:29 -05:00
parent 3d166abee4
commit 697ed5f58d
11 changed files with 62 additions and 64 deletions
+13 -11
View File
@@ -6,21 +6,23 @@ export async function saveTimeAttack(
w: World,
req: SaveTimeAttackRequest
): Promise<SaveTimeAttackResponse> {
const state = await w.timeAttack().load(req.profileId);
const existing = state.courses.find(
course => course.courseId === req.payload.courseId
);
if (existing === undefined || existing.totalMsec > req.payload.totalMsec) {
const newCourses = state.courses.filter(
course => course.courseId !== req.payload.courseId
if (req.payload.totalMsec > 0) {
const state = await w.timeAttack().load(req.profileId);
const existing = state.courses.find(
course => course.courseId === req.payload.courseId
);
newCourses.push(req.payload);
if (existing === undefined || existing.totalMsec > req.payload.totalMsec) {
const newCourses = state.courses.filter(
course => course.courseId !== req.payload.courseId
);
const newState = { courses: newCourses };
newCourses.push(req.payload);
await w.timeAttack().save(req.profileId, newState);
const newState = { courses: newCourses };
await w.timeAttack().save(req.profileId, newState);
}
}
return {