From 96492e5a0e80f1bf588ab8d93f5397b7d7f2ee6c Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Wed, 10 Mar 2021 15:36:17 -0600 Subject: [PATCH] fix(api): correct world, cap level --- website/client/src/components/settings/restoreModal.vue | 2 ++ website/server/controllers/api-v3/world.js | 2 +- website/server/libs/user/index.js | 4 +++- website/server/models/user/schema.js | 7 ++++++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/website/client/src/components/settings/restoreModal.vue b/website/client/src/components/settings/restoreModal.vue index 2d5dc83be9..4df846839b 100644 --- a/website/client/src/components/settings/restoreModal.vue +++ b/website/client/src/components/settings/restoreModal.vue @@ -151,6 +151,8 @@ export default { return; } + if (this.restoreValues.stats.lvl > 999) this.restoreValues.stats.lvl = 999; + const userChangedLevel = this.restoreValues.stats.lvl !== this.user.stats.lvl; const userDidNotChangeExp = this.restoreValues.stats.exp === this.user.stats.exp; if (userChangedLevel && userDidNotChangeExp) this.restoreValues.stats.exp = 0; diff --git a/website/server/controllers/api-v3/world.js b/website/server/controllers/api-v3/world.js index c0ea223bad..e136105857 100644 --- a/website/server/controllers/api-v3/world.js +++ b/website/server/controllers/api-v3/world.js @@ -29,7 +29,7 @@ api.getWorldState = { const worldState = {}; worldState.worldBoss = await getWorldBoss(); - worldState.npcImageSuffix = 'spring'; + worldState.npcImageSuffix = ''; worldState.currentEvent = getCurrentEvent(); diff --git a/website/server/libs/user/index.js b/website/server/libs/user/index.js index 7ab2e44ef3..4774f4d4ff 100644 --- a/website/server/libs/user/index.js +++ b/website/server/libs/user/index.js @@ -166,7 +166,9 @@ export async function update (req, res, { isV3 = false }) { user.flags.lastNewStuffRead = lastNewsPost._id; } } else if (acceptablePUTPaths[key]) { - _.set(user, key, val); + let adjustedVal = val; + if (key === 'stats.lvl' && val > 999) adjustedVal = 999; + _.set(user, key, adjustedVal); } else { throw new NotAuthorized(res.t('messageUserOperationProtected', { operation: key })); } diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 6cae485112..a99f5a93fe 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -592,7 +592,12 @@ export default new Schema({ mp: { $type: Number, default: 10 }, exp: { $type: Number, default: 0 }, gp: { $type: Number, default: 0 }, - lvl: { $type: Number, default: 1, min: 1 }, + lvl: { + $type: Number, + default: 1, + min: 1, + max: 999, + }, // Class System class: {