@tiledesk/tiledesk-server 2.1.4-0.3 → 2.1.4-0.31

Sign up to get free protection for your applications and to get access to all the features.
@@ -167,6 +167,15 @@ class EmailService {
167
167
 
168
168
  var that = this;
169
169
 
170
+ //if the request came from rabbit mq?
171
+ if (savedRequest.toJSON) {
172
+ savedRequest = savedRequest.toJSON();
173
+ }
174
+
175
+ if (project.toJSON) {
176
+ project = project.toJSON();
177
+ }
178
+
170
179
  this.readHTMLFile('assignedRequest.html', function(err, html) {
171
180
 
172
181
 
@@ -188,8 +197,8 @@ class EmailService {
188
197
  // Stampa anche contact.email
189
198
 
190
199
  var replacements = {
191
- savedRequest: savedRequest.toJSON(),
192
- project: project.toJSON(),
200
+ savedRequest: savedRequest,
201
+ project: project,
193
202
  baseScope: baseScope
194
203
  };
195
204
 
@@ -212,6 +221,15 @@ class EmailService {
212
221
 
213
222
  var that = this;
214
223
 
224
+ //if the request came from rabbit mq?
225
+ if (savedRequest.toJSON) {
226
+ savedRequest = savedRequest.toJSON();
227
+ }
228
+
229
+ if (project.toJSON) {
230
+ project = project.toJSON();
231
+ }
232
+
215
233
  this.readHTMLFile('pooledRequest.html', function(err, html) {
216
234
 
217
235
 
@@ -232,8 +250,8 @@ class EmailService {
232
250
  // passa anche tutti i messages in modo da stampare tutto
233
251
  // Stampa anche contact.email
234
252
  var replacements = {
235
- savedRequest: savedRequest.toJSON(),
236
- project: project.toJSON(),
253
+ savedRequest: savedRequest,
254
+ project: project,
237
255
  baseScope: baseScope
238
256
  };
239
257
 
@@ -251,6 +269,11 @@ class EmailService {
251
269
 
252
270
  var that = this;
253
271
 
272
+ //if the request came from rabbit mq?
273
+ if (project.toJSON) {
274
+ project = project.toJSON();
275
+ }
276
+
254
277
  this.readHTMLFile('newMessage.html', function(err, html) {
255
278
 
256
279
 
@@ -270,7 +293,7 @@ class EmailService {
270
293
 
271
294
  var replacements = {
272
295
  message: message,
273
- project: project.toJSON(),
296
+ project: project,
274
297
  tokenQueryString: tokenQueryString,
275
298
  baseScope: baseScope
276
299
  };
@@ -468,6 +491,11 @@ class EmailService {
468
491
 
469
492
  var that = this;
470
493
 
494
+ if (savedUser.toJSON) {
495
+ savedUser = savedUser.toJSON();
496
+ }
497
+
498
+
471
499
  this.readHTMLFile('verify.html', function(err, html) {
472
500
 
473
501
 
@@ -487,7 +515,7 @@ class EmailService {
487
515
 
488
516
 
489
517
  var replacements = {
490
- savedUser: savedUser.toJSON(),
518
+ savedUser: savedUser,
491
519
  baseScope: baseScope
492
520
  };
493
521
 
@@ -520,6 +548,12 @@ class EmailService {
520
548
 
521
549
  var that = this;
522
550
 
551
+
552
+ //if the request came from rabbit mq?
553
+ if (request.toJSON) {
554
+ request = request.toJSON();
555
+ }
556
+
523
557
  this.readHTMLFile('sendTranscript.html', function(err, html) {
524
558
 
525
559
 
@@ -540,7 +574,7 @@ class EmailService {
540
574
 
541
575
  var replacements = {
542
576
  messages: messages,
543
- request: request.toJSON(),
577
+ request: request,
544
578
  formattedCreatedAt: request.createdAt.toLocaleString('en', { timeZone: 'UTC' }),
545
579
  transcriptAsHtml: transcriptAsHtml,
546
580
  baseScope: baseScope
@@ -182,7 +182,14 @@ class FaqBotHandler {
182
182
  } else {
183
183
 
184
184
  query = { "id_project": message.id_project, "id_faq_kb": faq_kb._id};
185
- query.$text = {"$search": message.text};
185
+
186
+ var search_obj = {"$search": message.text};
187
+
188
+ if (faq_kb.language) {
189
+ search_obj["$language"] = faq_kb.language;
190
+ }
191
+ query.$text = search_obj;
192
+ winston.verbose("fulltext search query", query);
186
193
 
187
194
  Faq.find(query, {score: { $meta: "textScore" } })
188
195
  .sort( { score: { $meta: "textScore" } } ) //https://docs.mongodb.com/manual/reference/operator/query/text/#sort-by-text-search-score
@@ -21,33 +21,81 @@ class MessageService {
21
21
  return this.changeStatus(id, status);
22
22
  }
23
23
  }
24
- create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language, channel_type, channel) {
25
24
 
26
- winston.debug('message.create called');
25
+ create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language, channel_type, channel) {
26
+ let message = {
27
+ sender: sender,
28
+ senderFullname: senderFullname,
29
+ recipient: recipient,
30
+ text: text,
31
+ id_project: id_project,
32
+ createdBy: createdBy,
33
+ status: status,
34
+ attributes: attributes,
35
+ type: type,
36
+ metadata: metadata,
37
+ language: language,
38
+ channel_type: channel_type,
39
+ channel: channel
40
+ };
41
+ return this.save(message);
42
+ }
27
43
 
44
+ save(message) {
28
45
  var that = this;
46
+ winston.debug('message.save called');
47
+
48
+ let sender = message.sender;
49
+ let senderFullname = message.senderFullname;
50
+ let recipient = message.recipient;
51
+ let recipientFullname = message.recipientFullname;
52
+ let text = message.text;
53
+ let id_project = message.id_project;
54
+ let createdBy = message.createdBy;
55
+ let status = message.status;
56
+ let attributes = message.attributes;
57
+ let type = message.type;
58
+ let metadata = message.metadata;
59
+ let language = message.language;
60
+ let channel_type = message.channel_type;
61
+ let channel = message.channel;
62
+
63
+
64
+
29
65
  return new Promise(function (resolve, reject) {
30
66
 
31
67
  if (!createdBy) {
32
68
  createdBy = sender;
33
69
  }
34
70
 
35
- var beforeMessage = {sender:sender, senderFullname:senderFullname, recipient:recipient
71
+ var beforeMessage = {sender:sender, senderFullname:senderFullname
72
+ , recipient:recipient, recipientFullname: recipientFullname
36
73
  , text:text, id_project:id_project, createdBy:createdBy, status:status, attributes:attributes,
37
74
  type:type, metadata:metadata, language:language, channel_type: channel_type, channel: channel};
38
75
 
39
76
  var messageToCreate = beforeMessage;
40
- winston.debug('messageToCreate',messageToCreate);
77
+ winston.debug('messageToCreate before',messageToCreate);
41
78
  // messageEvent.emit('message.create.simple.before', {beforeMessage:beforeMessage});
42
79
 
43
80
 
44
81
 
45
82
  messagePromiseEvent.emit('message.create.simple.before', {beforeMessage:beforeMessage}).then(results => {
46
- winston.debug('message.create.simple.before', results);
47
-
48
- if (results && results.beforeMessage) {
49
- messageToCreate = results.beforeMessage;
83
+ winston.debug('message.create.simple.before results', results);
84
+ winston.debug('message.create.simple.before results prototype: ' + Object.prototype.toString.call(results));
85
+
86
+ if (results) {
87
+ winston.debug('message.create.simple.before results.length: '+ results.length); //TODO ELIMINA DOPO CHE CREA CRASH
88
+ }
89
+
90
+ /*
91
+ if (results ) { //NN HA MAI FUNZIONATO. LA MADIFICA DEL VALORE AVVENIVA PER PUNTATORE
92
+ winston.info('message.create.simple.before results.beforeMessage', results[0].beforeMessage);
93
+ messageToCreate = results[0].beforeMessage;
50
94
  }
95
+ */
96
+
97
+ winston.debug('messageToCreate', messageToCreate);
98
+
51
99
 
52
100
  // if (id_project) {
53
101
 
@@ -55,8 +103,8 @@ class MessageService {
55
103
  sender: messageToCreate.sender,
56
104
  senderFullname: messageToCreate.senderFullname,
57
105
  recipient: messageToCreate.recipient,
106
+ recipientFullname: messageToCreate.recipientFullname, //for direct
58
107
  type: messageToCreate.type,
59
- // recipientFullname: recipientFullname,
60
108
  text: messageToCreate.text,
61
109
  id_project: messageToCreate.id_project,
62
110
  createdBy: messageToCreate.createdBy,
@@ -178,7 +178,7 @@ class ModulesManager {
178
178
  winston.debug("this.trigger:"+ this.trigger);
179
179
  this.triggerRoute = require('@tiledesk-ent/tiledesk-server-triggers').triggerRoute;
180
180
  winston.debug("this.triggerRoute:"+ this.triggerRoute);
181
- winston.info("ModulesManager init trigger loaded.");
181
+ winston.info("ModulesManager trigger initialized");
182
182
  } catch(err) {
183
183
  if (err.code == 'MODULE_NOT_FOUND') {
184
184
  winston.info("ModulesManager init trigger module not found");
@@ -190,7 +190,7 @@ class ModulesManager {
190
190
 
191
191
  try {
192
192
  this.stripe = require('@tiledesk-ent/tiledesk-server-payments').stripeRoute;
193
- winston.info("ModulesManager init stripe loaded");
193
+ winston.info("ModulesManager stripe initialized");
194
194
  } catch(err) {
195
195
  if (err.code == 'MODULE_NOT_FOUND') {
196
196
  winston.info("ModulesManager init stripe module not found");
@@ -203,8 +203,8 @@ class ModulesManager {
203
203
  this.resthookRoute = require('@tiledesk-ent/tiledesk-server-resthook').resthookRoute;
204
204
  winston.debug("this.resthookRoute:"+ this.resthookRoute);
205
205
  this.subscriptionNotifier = require('@tiledesk-ent/tiledesk-server-resthook').subscriptionNotifier;
206
- this.subscriptionNotifier.start();
207
- winston.info("ModulesManager init resthook loaded");
206
+ // this.subscriptionNotifier.start();
207
+ winston.info("ModulesManager resthook initialized");
208
208
  } catch(err) {
209
209
  if (err.code == 'MODULE_NOT_FOUND') {
210
210
  winston.info("ModulesManager init resthookRoute module not found");
@@ -217,7 +217,7 @@ class ModulesManager {
217
217
  try {
218
218
  this.analyticsRoute = require('@tiledesk-ent/tiledesk-server-analytics').analyticsRoute;
219
219
  winston.debug("this.analyticsRoute:"+ this.analyticsRoute);
220
- winston.info("ModulesManager init analyticsRoute loaded");
220
+ winston.info("ModulesManager analyticsRoute initialized");
221
221
  } catch(err) {
222
222
  if (err.code == 'MODULE_NOT_FOUND') {
223
223
  winston.info("ModulesManager init analytics module not found");
@@ -229,13 +229,13 @@ class ModulesManager {
229
229
 
230
230
  try {
231
231
  this.activityArchiver = require('@tiledesk-ent/tiledesk-server-activities').activityArchiver;
232
- this.activityArchiver.listen();
232
+ // this.activityArchiver.listen();
233
233
  winston.debug("this.activityArchiver:"+ this.activityArchiver);
234
234
 
235
235
  this.activityRoute = require('@tiledesk-ent/tiledesk-server-activities').activityRoute;
236
236
  winston.debug("this.activityRoute:"+ this.activityRoute);
237
237
 
238
- winston.info("ModulesManager init activities loaded");
238
+ winston.info("ModulesManager activities initialized");
239
239
  } catch(err) {
240
240
  if (err.code == 'MODULE_NOT_FOUND') {
241
241
  winston.info("ModulesManager init activities module not found");
@@ -248,13 +248,13 @@ class ModulesManager {
248
248
 
249
249
  try {
250
250
  this.jwthistoryArchiver = require('@tiledesk-ent/tiledesk-server-jwthistory').jwthistoryArchiver;
251
- this.jwthistoryArchiver.listen();
251
+ // this.jwthistoryArchiver.listen();
252
252
  winston.debug("this.jwthistoryArchiver:"+ this.jwthistoryArchiver);
253
253
 
254
254
  this.jwthistoryRoute = require('@tiledesk-ent/tiledesk-server-jwthistory').jwthistoryRoute;
255
255
  winston.debug("this.jwthistoryRoute:"+ this.jwthistoryRoute);
256
256
 
257
- winston.info("ModulesManager init jwthistory loaded");
257
+ winston.info("ModulesManager jwthistory initialized");
258
258
  } catch(err) {
259
259
  if (err.code == 'MODULE_NOT_FOUND') {
260
260
  winston.info("ModulesManager init jwthistory module not found");
@@ -268,13 +268,13 @@ class ModulesManager {
268
268
 
269
269
  try {
270
270
  this.requestHistoryArchiver = require('@tiledesk-ent/tiledesk-server-request-history').listener;
271
- this.requestHistoryArchiver.listen();
271
+ // this.requestHistoryArchiver.listen();
272
272
  winston.debug("this.requestHistoryArchiver:"+ this.requestHistoryArchiver);
273
273
 
274
274
  this.requestHistoryRoute = require('@tiledesk-ent/tiledesk-server-request-history').route;
275
275
  winston.debug("this.requestHistoryRoute:"+ this.requestHistoryRoute);
276
276
 
277
- winston.info("ModulesManager init requestHistory loaded");
277
+ winston.info("ModulesManager requestHistory initialized");
278
278
  } catch(err) {
279
279
  if (err.code == 'MODULE_NOT_FOUND') {
280
280
  winston.info("ModulesManager init requestHistory module not found");
@@ -289,10 +289,10 @@ class ModulesManager {
289
289
 
290
290
  try {
291
291
  this.dialogflowListener = require('@tiledesk-ent/tiledesk-server-dialogflow').listener;
292
- this.dialogflowListener.listen();
292
+ // this.dialogflowListener.listen();
293
293
  winston.debug("this.dialogflowListener:"+ this.dialogflowListener);
294
294
 
295
- winston.info("ModulesManager init dialogflow loaded");
295
+ winston.info("ModulesManager dialogflow initialized");
296
296
  } catch(err) {
297
297
  if (err.code == 'MODULE_NOT_FOUND') {
298
298
  winston.info("ModulesManager init dialogflow module not found");
@@ -304,10 +304,10 @@ class ModulesManager {
304
304
 
305
305
  try {
306
306
  this.routingQueue = require('@tiledesk-ent/tiledesk-server-routing-queue').listener;
307
- this.routingQueue.listen();
307
+ // this.routingQueue.listen();
308
308
  winston.debug("this.routingQueue:"+ this.routingQueue);
309
309
 
310
- winston.info("ModulesManager init routing queue loaded");
310
+ winston.info("ModulesManager routing queue initialized");
311
311
  } catch(err) {
312
312
  if (err.code == 'MODULE_NOT_FOUND') {
313
313
  winston.info("ModulesManager init routing queue module not found");
@@ -322,7 +322,7 @@ class ModulesManager {
322
322
  this.queue = require('@tiledesk-ent/tiledesk-server-queue');
323
323
  winston.debug("this.queue:"+ this.queue);
324
324
 
325
- winston.info("ModulesManager init queue loaded");
325
+ winston.info("ModulesManager queue initialized");
326
326
  } catch(err) {
327
327
  if (err.code == 'MODULE_NOT_FOUND') {
328
328
  winston.info("ModulesManager init queue module not found");
@@ -335,7 +335,7 @@ class ModulesManager {
335
335
  try {
336
336
  this.cache = require('@tiledesk-ent/tiledesk-server-cache').cachegoose(config.mongoose);
337
337
  winston.debug("this.cache:"+ this.cache);
338
- winston.info("ModulesManager init cache loaded");
338
+ winston.info("ModulesManager cache initialized");
339
339
  } catch(err) {
340
340
  if (err.code == 'MODULE_NOT_FOUND') {
341
341
  winston.info("ModulesManager init cache module not found");
@@ -347,7 +347,7 @@ class ModulesManager {
347
347
  try {
348
348
  this.cannedResponseRoute = require('@tiledesk-ent/tiledesk-server-canned').cannedResponseRoute;
349
349
  winston.debug("this.cannedResponseRoute:"+ this.cannedResponseRoute);
350
- winston.info("ModulesManager init cannedResponseRoute loaded");
350
+ winston.info("ModulesManager cannedResponseRoute initialized");
351
351
  } catch(err) {
352
352
  if (err.code == 'MODULE_NOT_FOUND') {
353
353
  winston.info("ModulesManager init canned module not found");
@@ -359,7 +359,7 @@ class ModulesManager {
359
359
  try {
360
360
  this.tagRoute = require('@tiledesk-ent/tiledesk-server-tags').tagRoute;
361
361
  winston.debug("this.tagRoute:"+ this.tagRoute);
362
- winston.info("ModulesManager init tagRoute loaded");
362
+ winston.info("ModulesManager tagRoute initialized");
363
363
  } catch(err) {
364
364
  if (err.code == 'MODULE_NOT_FOUND') {
365
365
  winston.info("ModulesManager init tag module not found");
@@ -371,7 +371,7 @@ class ModulesManager {
371
371
  try {
372
372
  this.groupsRoute = require('@tiledesk-ent/tiledesk-server-groups').groupsRoute;
373
373
  winston.debug("this.groupsRoute:"+ this.groupsRoute);
374
- winston.info("ModulesManager init groupsRoute loaded");
374
+ winston.info("ModulesManager groupsRoute initialized");
375
375
  } catch(err) {
376
376
  if (err.code == 'MODULE_NOT_FOUND') {
377
377
  winston.info("ModulesManager init group module not found");
@@ -385,7 +385,7 @@ class ModulesManager {
385
385
  if (config && config.routes && config.routes.departmentsRoute) {
386
386
  try {
387
387
  require('@tiledesk-ent/tiledesk-server-departments').ext(config.routes.departmentsRoute, config.passport);
388
- winston.info("ModulesManager init departmentsRoute loaded");
388
+ winston.info("ModulesManager departmentsRoute initialized");
389
389
  } catch(err) {
390
390
  if (err.code == 'MODULE_NOT_FOUND') {
391
391
  winston.info("ModulesManager init departments module not found");
@@ -398,7 +398,7 @@ class ModulesManager {
398
398
  if (config && config.routes && config.routes.projectsRoute) {
399
399
  try {
400
400
  require('@tiledesk-ent/tiledesk-server-mt').ext(config.routes.projectsRoute, config.passport);
401
- winston.info("ModulesManager init mt loaded");
401
+ winston.info("ModulesManager mt initialized");
402
402
  } catch(err) {
403
403
  if (err.code == 'MODULE_NOT_FOUND') {
404
404
  winston.info("ModulesManager init mt module not found");
@@ -416,7 +416,7 @@ class ModulesManager {
416
416
  this.widgetsRoute = config.routes.widgetsRoute;
417
417
  winston.debug(" this.widgetsRoute:"+ this.widgetsRoute);
418
418
 
419
- winston.info("ModulesManager init visitorCounter loaded");
419
+ winston.info("ModulesManager visitorCounter initialized");
420
420
  } catch(err) {
421
421
  if (err.code == 'MODULE_NOT_FOUND') {
422
422
  winston.info("ModulesManager init visitorCounter module not found");
@@ -454,6 +454,69 @@ class ModulesManager {
454
454
 
455
455
 
456
456
 
457
+ }
458
+
459
+
460
+ start() {
461
+
462
+ // stampa log
463
+ if (this.subscriptionNotifier) {
464
+ try {
465
+ this.subscriptionNotifier.start();
466
+ winston.info("ModulesManager subscriptionNotifier started");
467
+ } catch(err) {
468
+ winston.info("ModulesManager error starting subscriptionNotifier module", err);
469
+ }
470
+ }
471
+
472
+ if (this.activityArchiver) {
473
+ try {
474
+ this.activityArchiver.listen();
475
+ winston.info("ModulesManager activityArchiver started");
476
+ } catch(err) {
477
+ winston.info("ModulesManager error starting activityArchiver module", err);
478
+ }
479
+ }
480
+
481
+ if (this.jwthistoryArchiver) {
482
+ try {
483
+ this.jwthistoryArchiver.listen();
484
+ winston.info("ModulesManager jwthistoryArchiver started");
485
+ } catch(err) {
486
+ winston.info("ModulesManager error starting jwthistoryArchiver module", err);
487
+ }
488
+ }
489
+
490
+ if (this.requestHistoryArchiver) {
491
+ try {
492
+ this.requestHistoryArchiver.listen();
493
+ winston.info("ModulesManager requestHistoryArchiver started");
494
+ } catch(err) {
495
+ winston.info("ModulesManager error starting requestHistoryArchiver module", err);
496
+ }
497
+ }
498
+ if (this.routingQueue) {
499
+ try {
500
+ this.routingQueue.listen();
501
+ winston.info("ModulesManager routingQueue started");
502
+ } catch(err) {
503
+ winston.info("ModulesManager error starting routingQueue module", err);
504
+ }
505
+ }
506
+ if (this.dialogflowListener) {
507
+ try {
508
+ this.dialogflowListener.listen();
509
+ winston.info("ModulesManager dialogflowListener started");
510
+ } catch(err) {
511
+ winston.info("ModulesManager error starting dialogflowListener module", err);
512
+ }
513
+ }
514
+
515
+
516
+
517
+
518
+
519
+
457
520
  }
458
521
 
459
522
 
@@ -425,10 +425,14 @@ class RequestService {
425
425
 
426
426
  var snapshot = {};
427
427
 
428
- // getOperators(departmentid, projectid, nobot, disableWebHookCall, context) {
429
- var result = await departmentService.getOperators(departmentid, id_project, false, undefined, context);
430
- winston.debug("getOperators", result);
431
-
428
+ try {
429
+ // getOperators(departmentid, projectid, nobot, disableWebHookCall, context) {
430
+ var result = await departmentService.getOperators(departmentid, id_project, false, undefined, context);
431
+ winston.debug("getOperators", result);
432
+ } catch(err) {
433
+ return reject(err);
434
+ }
435
+
432
436
 
433
437
  agents = result.agents;
434
438