Browse Source

fix check delete msg sender logic

bugfix/timeout-logging
Evan Feenstra 5 years ago
parent
commit
3f09143f71
  1. 14
      api/controllers/messages.ts
  2. 14
      dist/api/controllers/messages.js
  3. 2
      dist/api/controllers/messages.js.map

14
api/controllers/messages.ts

@ -249,20 +249,18 @@ const receiveMessage = async (payload) => {
const receiveDeleteMessage = async (payload) => {
console.log('=> received delete message')
const {owner, sender, chat, chat_type, msg_uuid, isTribeOwner} = await helpers.parseReceiveParams(payload)
const {owner, sender, chat, chat_type, msg_uuid} = await helpers.parseReceiveParams(payload)
if(!owner || !sender || !chat) {
return console.log('=> no group chat!')
}
console.log('isTribeOwner',isTribeOwner)
const isTribe = chat_type===constants.chat_types.tribe
if(isTribe) {
// ?
// in tribe this is already validated on admin's node
let where:{[k:string]:any} = {uuid: msg_uuid}
if(!isTribe) {
where.sender = sender.id // validate sender
}
const message = await models.Message.findOne({where:{
uuid: msg_uuid,
sender: sender.id
}})
const message = await models.Message.findOne({where})
if(!message) return
await message.update({status: constants.statuses.deleted})

14
dist/api/controllers/messages.js

@ -224,19 +224,17 @@ const receiveMessage = (payload) => __awaiter(void 0, void 0, void 0, function*
exports.receiveMessage = receiveMessage;
const receiveDeleteMessage = (payload) => __awaiter(void 0, void 0, void 0, function* () {
console.log('=> received delete message');
const { owner, sender, chat, chat_type, msg_uuid, isTribeOwner } = yield helpers.parseReceiveParams(payload);
const { owner, sender, chat, chat_type, msg_uuid } = yield helpers.parseReceiveParams(payload);
if (!owner || !sender || !chat) {
return console.log('=> no group chat!');
}
console.log('isTribeOwner', isTribeOwner);
const isTribe = chat_type === constants.chat_types.tribe;
if (isTribe) {
// ?
// in tribe this is already validated on admin's node
let where = { uuid: msg_uuid };
if (!isTribe) {
where.sender = sender.id; // validate sender
}
const message = yield models_1.models.Message.findOne({ where: {
uuid: msg_uuid,
sender: sender.id
} });
const message = yield models_1.models.Message.findOne({ where });
if (!message)
return;
yield message.update({ status: constants.statuses.deleted });

2
dist/api/controllers/messages.js.map

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save