From 446704ba65b7de1beec9fb545ab6826058f182bc Mon Sep 17 00:00:00 2001 From: knrt10 Date: Sun, 17 Mar 2019 21:04:14 +0530 Subject: [PATCH] Fixed for API --- app/livechat/server/api/v1/message.js | 4 ++++ .../server/methods/sendMessageLivechat.js | 14 +------------- app/models/server/models/Rooms.js | 15 --------------- 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/app/livechat/server/api/v1/message.js b/app/livechat/server/api/v1/message.js index f1e07e8ef74fd..2ce1385670d24 100644 --- a/app/livechat/server/api/v1/message.js +++ b/app/livechat/server/api/v1/message.js @@ -34,6 +34,10 @@ API.v1.addRoute('livechat/message', { throw new Meteor.Error('invalid-room'); } + if (room && !room.open) { + throw new Meteor.Error('chat-closed'); + } + const _id = this.bodyParams._id || Random.id(); const sendMessage = { diff --git a/app/livechat/server/methods/sendMessageLivechat.js b/app/livechat/server/methods/sendMessageLivechat.js index c50e6942764f4..e3b7e7b567219 100644 --- a/app/livechat/server/methods/sendMessageLivechat.js +++ b/app/livechat/server/methods/sendMessageLivechat.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match, check } from 'meteor/check'; -import { LivechatVisitors, Rooms } from '../../../models'; +import { LivechatVisitors } from '../../../models'; import { Livechat } from '../lib/Livechat'; Meteor.methods({ @@ -24,22 +24,10 @@ Meteor.methods({ }, }); - const fields = { - t: 1, - closedAt: 1, - open: 1, - }; - if (!guest) { throw new Meteor.Error('invalid-token'); } - // Check if conversation is closed or not. - const closed = Rooms.findOneLivechatById(rid, fields); - if (closed && closed.closedAt) { - throw new Meteor.Error('chat-closed'); - } - return Livechat.sendMessage({ guest, message: { diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js index dfe29fd225ea2..4708e61d404f4 100644 --- a/app/models/server/models/Rooms.js +++ b/app/models/server/models/Rooms.js @@ -94,21 +94,6 @@ export class Rooms extends Base { return this.find(query, options); } - findOneLivechatById(_id, fields) { - const options = {}; - - if (fields) { - options.fields = fields; - } - - const query = { - t: 'l', - _id, - }; - - return this.findOne(query, options); - } - findLivechatByIdAndVisitorToken(_id, visitorToken, fields) { const options = {};