diff --git a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js index 0d4c569d89..7653d08dbf 100644 --- a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js +++ b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js @@ -68,6 +68,7 @@ describe('PUT /heroes/:heroId', () => { expect(hero.contributor.level).to.equal(1); expect(hero.purchased.ads).to.equal(true); expect(hero.auth.blocked).to.equal(true); + expect(hero.preferences.sleep).to.equal(true); expect(hero.notifications.length).to.equal(1); expect(hero.notifications[0].type).to.equal('NEW_CONTRIBUTOR_LEVEL'); }); diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js index 218fe5291a..0da740e611 100644 --- a/website/server/controllers/api-v3/hall.js +++ b/website/server/controllers/api-v3/hall.js @@ -169,7 +169,10 @@ api.updateHero = { _.set(hero, updateData.itemPath, updateData.itemVal); // Sanitization at 5c30944 (deemed unnecessary) } - if (updateData.auth && _.isBoolean(updateData.auth.blocked)) hero.auth.blocked = updateData.auth.blocked; + if (updateData.auth && _.isBoolean(updateData.auth.blocked)) { + hero.auth.blocked = updateData.auth.blocked; + hero.preferences.sleep = true; // when blocking, have them rest at an inn to prevent damage + } if (updateData.flags && _.isBoolean(updateData.flags.chatRevoked)) hero.flags.chatRevoked = updateData.flags.chatRevoked; let savedHero = await hero.save();