@tiledesk/tiledesk-server 2.3.19 → 2.3.20
Sign up to get free protection for your applications and to get access to all the features.
- package/event/messageEvent.js +82 -2
- package/package.json +1 -1
package/event/messageEvent.js
CHANGED
@@ -7,7 +7,7 @@ var MessageConstants = require("../models/messageConstants");
|
|
7
7
|
var message2Event = require("../event/message2Event");
|
8
8
|
|
9
9
|
var cacheUtil = require('../utils/cacheUtil');
|
10
|
-
|
10
|
+
// var requestService = require("../services/requestService");
|
11
11
|
|
12
12
|
|
13
13
|
class MessageEvent extends EventEmitter {
|
@@ -40,7 +40,8 @@ function populateMessageCreate(message) {
|
|
40
40
|
return populateMessageWithRequest(message, 'message.create');
|
41
41
|
}
|
42
42
|
function populateMessageUpdate(message) {
|
43
|
-
return populateMessageWithRequest(message, 'message.update');
|
43
|
+
// return populateMessageWithRequest(message, 'message.update');
|
44
|
+
return; // do not populate message.update it's not used by anyone. Not used by webhook. populate for message.update is slow.
|
44
45
|
}
|
45
46
|
|
46
47
|
|
@@ -48,6 +49,7 @@ function populateMessageWithRequest(message, eventPrefix) {
|
|
48
49
|
|
49
50
|
|
50
51
|
winston.debug("populateMessageWithRequest "+eventPrefix, message.toObject());
|
52
|
+
winston.debug("populateMessageWithRequest "+eventPrefix +" "+ message.text);
|
51
53
|
|
52
54
|
var messageJson = message.toJSON();
|
53
55
|
|
@@ -159,4 +161,82 @@ messageEvent.on('message.create.simple', populateMessageCreate);
|
|
159
161
|
messageEvent.on('message.update.simple', populateMessageUpdate);
|
160
162
|
|
161
163
|
|
164
|
+
|
165
|
+
// riattiva commentato per performance
|
166
|
+
|
167
|
+
|
168
|
+
// var messageCreateKey = 'message.create';
|
169
|
+
// if (messageEvent.queueEnabled) {
|
170
|
+
// messageCreateKey = 'message.create.queue';
|
171
|
+
// }
|
172
|
+
// winston.debug("messageEvent.queueEnabled: "+messageEvent.queueEnabled);
|
173
|
+
|
174
|
+
// winston.debug("messageCreateKey: "+messageCreateKey);
|
175
|
+
|
176
|
+
// messageEvent.on(messageCreateKey, function(message) {
|
177
|
+
// setImmediate(() => {
|
178
|
+
// winston.debug("message.create before");
|
179
|
+
// if (!message.request) {
|
180
|
+
// return;
|
181
|
+
// }
|
182
|
+
// let request_id = message.request.request_id;
|
183
|
+
// let id_project = message.request.id_project;
|
184
|
+
|
185
|
+
|
186
|
+
// //update waiitng time if write an agent (member of participants)
|
187
|
+
// let visitor_sent_last_message = false;
|
188
|
+
// // winston.info(" message.request.snapshot.lead.lead_id: "+ message.request.snapshot.lead.lead_id);
|
189
|
+
// // winston.info(" message.sender: "+ message.sender);
|
190
|
+
|
191
|
+
// if (message.request.snapshot && message.request.snapshot.lead.lead_id == message.sender) {
|
192
|
+
// visitor_sent_last_message = true;
|
193
|
+
// }
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
// // don't work for recursive call
|
198
|
+
// // requestService.incrementMessagesCountByRequestId(message.request._id, message.request.id_project).then(function (savedRequest) {
|
199
|
+
// // winston.info("incremented request", savedRequest);
|
200
|
+
// // });
|
201
|
+
// let clonedmessage = Object.assign({}, message);
|
202
|
+
// delete clonedmessage.request
|
203
|
+
|
204
|
+
|
205
|
+
// let data = {
|
206
|
+
// $push: {
|
207
|
+
// "snapshot.messages.data": {
|
208
|
+
// $each: [ clonedmessage ],
|
209
|
+
// $slice: -30
|
210
|
+
// }
|
211
|
+
// },
|
212
|
+
// $inc : {'snapshot.messages.messages_count' : 1},
|
213
|
+
// "snapshot.messages.visitor_sent_last_message": visitor_sent_last_message,
|
214
|
+
// "snapshot.messages.last_message_timestamp": message.createdAt
|
215
|
+
// };
|
216
|
+
|
217
|
+
// // db.getCollection('requests').find({"$expr": { "$gt": [ "$snapshot.messages.visitor_last_message_timestamp", "$snapshot.messages.agent_last_message_timestamp"]}})
|
218
|
+
|
219
|
+
|
220
|
+
// if (visitor_sent_last_message) {
|
221
|
+
// data["snapshot.messages.visitor_last_message_timestamp"]= message.createdAt;
|
222
|
+
// } else {
|
223
|
+
// data["snapshot.messages.agent_last_message_timestamp"]= message.createdAt;
|
224
|
+
// }
|
225
|
+
// // db.getCollection('requests').updateOne({"request_id":"support-group-630600bfaf7cd942116bc993-3da378ec63924bb9b4934b2835b37a7c"},{"$push":{"snapshot.messages.data":{"$each":["s"],"$slice":-5}}}}})
|
226
|
+
// winston.debug("data", data);
|
227
|
+
|
228
|
+
// return Request
|
229
|
+
// .findOneAndUpdate({request_id: request_id, id_project: id_project}, data, {new: true, upsert:false}, function(err, updatedRequest) {
|
230
|
+
// if (err) {
|
231
|
+
// winston.error(err);
|
232
|
+
// return reject(err);
|
233
|
+
// }
|
234
|
+
// winston.info("Message count +1");
|
235
|
+
|
236
|
+
// });
|
237
|
+
|
238
|
+
// });
|
239
|
+
// });
|
240
|
+
|
241
|
+
|
162
242
|
module.exports = messageEvent;
|