From 09d6dae75cd0cffd85a4f5708424db6e0ce5661c Mon Sep 17 00:00:00 2001 From: SabreCat Date: Tue, 30 Aug 2022 15:35:50 -0500 Subject: [PATCH] feat(admin): provide reset cron button --- .../admin-panel/user-support/cronAndAuth.vue | 10 ++++++++++ website/server/controllers/api-v3/hall.js | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/website/client/src/components/admin-panel/user-support/cronAndAuth.vue b/website/client/src/components/admin-panel/user-support/cronAndAuth.vue index 1a28b044c7..260bc46177 100644 --- a/website/client/src/components/admin-panel/user-support/cronAndAuth.vue +++ b/website/client/src/components/admin-panel/user-support/cronAndAuth.vue @@ -36,6 +36,12 @@ ("auth.timestamps.loggedin" and "lastCron" dates are different). +
Time zone: {{ hero.preferences.timezoneOffset | formatTimeZone }} @@ -218,6 +224,10 @@ export default { await this.saveHero({ hero: this.hero, msg: 'API Token' }); this.tokenModified = true; }, + resetCron () { + this.hero.resetCron = true; + this.saveHero({ hero: this.hero, msg: 'Last Cron', clearData: true }); + }, }, }; diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js index 2ee18a6044..a05b1e4f0f 100644 --- a/website/server/controllers/api-v3/hall.js +++ b/website/server/controllers/api-v3/hall.js @@ -331,6 +331,13 @@ api.updateHero = { hero.apiToken = common.uuid(); } + if (updateData.resetCron) { + // Set last cron to yesterday. Quick approach so we don't need moment() for one line + const yesterday = new Date(new Date().setDate(new Date().getDate() - 1)); + hero.lastCron = yesterday; + hero.auth.timestamps.loggedin = yesterday; // so admin panel doesn't gripe about mismatch + } + const savedHero = await hero.save(); const heroJSON = savedHero.toJSON(); heroJSON.secret = savedHero.getSecretData();