Prevent user from blocking himself - fixes #9097 (#9194)

* Added check - user can't block himself

* removed exclusive test
This commit is contained in:
borisabramovich86
2017-10-18 23:26:01 +03:00
committed by Sabe Jones
parent 444f393f3a
commit 15626b8ae1
3 changed files with 11 additions and 0 deletions

View File

@@ -25,6 +25,15 @@ describe('shared.ops.blockUser', () => {
} }
}); });
it('validates user can\'t block himself', (done) => {
try {
blockUser(user, { params: { uuid: user._id } });
} catch (error) {
expect(error.message).to.eql(i18n.t('blockYourself'));
done();
}
});
it('blocks user', () => { it('blocks user', () => {
let [result] = blockUser(user, { params: { uuid: blockedUser._id } }); let [result] = blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([blockedUser._id]); expect(user.inbox.blocks).to.eql([blockedUser._id]);

View File

@@ -52,6 +52,7 @@
"pageMustBeNumber": "req.query.page must be a number", "pageMustBeNumber": "req.query.page must be a number",
"userNotFound": "User not found.", "userNotFound": "User not found.",
"invalidUUID": "UUID must be valid", "invalidUUID": "UUID must be valid",
"blockYourself": "You can't block yourself!",
"title": "Title", "title": "Title",
"moreDetails": "More details (1-7)", "moreDetails": "More details (1-7)",
"moreDetails2": "more details (8-9)", "moreDetails2": "more details (8-9)",

View File

@@ -6,6 +6,7 @@ import {
module.exports = function blockUser (user, req = {}) { module.exports = function blockUser (user, req = {}) {
if (!validator.isUUID(req.params.uuid)) throw new BadRequest(i18n.t('invalidUUID', req.language)); if (!validator.isUUID(req.params.uuid)) throw new BadRequest(i18n.t('invalidUUID', req.language));
if (req.params.uuid === user._id) throw new BadRequest(i18n.t('blockYourself', req.language));
let i = user.inbox.blocks.indexOf(req.params.uuid); let i = user.inbox.blocks.indexOf(req.params.uuid);
if (i === -1) { if (i === -1) {