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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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