@tiledesk/tiledesk-server 2.4.36 → 2.4.37

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.
package/app.js CHANGED
@@ -142,6 +142,9 @@ require('./services/mongoose-cache-fn')(mongoose);
142
142
  var subscriptionNotifier = require('./services/subscriptionNotifier');
143
143
  subscriptionNotifier.start();
144
144
 
145
+ var subscriptionNotifierQueued = require('./services/subscriptionNotifierQueued');
146
+
147
+
145
148
  var botSubscriptionNotifier = require('./services/BotSubscriptionNotifier');
146
149
  botSubscriptionNotifier.start();
147
150
 
@@ -150,9 +153,8 @@ trainingService.start();
150
153
 
151
154
  // job_here
152
155
 
153
-
154
156
  var geoService = require('./services/geoService');
155
- // geoService.listen();
157
+ // geoService.listen(); //queued
156
158
 
157
159
  let JobsManager = require('./jobsManager');
158
160
 
@@ -162,7 +164,7 @@ if (process.env.JOB_WORKER_ENABLED=="true" || process.env.JOB_WORKER_ENABLED ==
162
164
  }
163
165
  winston.info("JobsManager jobWorkerEnabled: "+ jobWorkerEnabled);
164
166
 
165
- let jobsManager = new JobsManager(jobWorkerEnabled,geoService);
167
+ let jobsManager = new JobsManager(jobWorkerEnabled, geoService, subscriptionNotifierQueued);
166
168
  jobsManager.listen();
167
169
 
168
170
 
package/jobs.js CHANGED
@@ -21,6 +21,12 @@ let JobsManager = require('./jobsManager');
21
21
 
22
22
 
23
23
  let geoService = require('./services/geoService');
24
+ // let subscriptionNotifier = require('./services/subscriptionNotifier');
25
+ var subscriptionNotifierQueued = require('./services/subscriptionNotifierQueued');
26
+
27
+ require('./services/mongoose-cache-fn')(mongoose);
28
+
29
+
24
30
  var config = require('./config/database');
25
31
 
26
32
 
@@ -39,8 +45,8 @@ var connection = mongoose.connect(databaseUri, { "useNewUrlParser": true, "autoI
39
45
  winston.error('Failed to connect to MongoDB on ' + databaseUri + " ", err);
40
46
  process.exit(1);
41
47
  }
48
+ winston.info("Mongoose connection done on host: "+mongoose.connection.host + " on port: " + mongoose.connection.port + " with name: "+ mongoose.connection.name)// , mongoose.connection.db);
42
49
  });
43
-
44
50
  // winston.info("mongoose.connection",mongoose.connection);
45
51
  // module.exports = jobsManager;
46
52
 
@@ -49,10 +55,12 @@ var connection = mongoose.connect(databaseUri, { "useNewUrlParser": true, "autoI
49
55
  async function main()
50
56
  {
51
57
 
52
- require('./pubmodules/queue');
58
+ //************* LOAD QUEUE ************ //
59
+ require('./pubmodules/queue');
60
+
53
61
  // require('@tiledesk-ent/tiledesk-server-queue');
54
62
 
55
- let jobsManager = new JobsManager(undefined, geoService);
63
+ let jobsManager = new JobsManager(undefined, geoService, subscriptionNotifierQueued);
56
64
 
57
65
  jobsManager.listen();
58
66
 
package/jobsManager.js CHANGED
@@ -2,11 +2,15 @@
2
2
  var winston = require('./config/winston');
3
3
 
4
4
  class JobsManager {
5
- constructor(jobWorkerEnabled, geoService) {
5
+ constructor(jobWorkerEnabled, geoService, subscriptionNotifierQueued) {
6
6
  this.geoService = geoService;
7
+ // this.subscriptionNotifier = subscriptionNotifier;
8
+ this.subscriptionNotifierQueued = subscriptionNotifierQueued;
9
+
7
10
  this.emailNotificatio = undefined;
8
11
  this.activityArchiver = undefined;
9
12
 
13
+
10
14
  this.jobWorkerEnabled = jobWorkerEnabled;
11
15
  // this.jobWorkerEnabled = false;
12
16
  // if (process.env.JOB_WORKER_ENABLED=="true" || process.env.JOB_WORKER_ENABLED == true) {
@@ -22,6 +26,8 @@ class JobsManager {
22
26
  return winston.info("JobsManager jobWorkerEnabled is enabled. Skipping listeners");
23
27
  }
24
28
  this.geoService.listen();
29
+ // this.subscriptionNotifier.start();
30
+ this.subscriptionNotifierQueued.start();
25
31
  }
26
32
 
27
33
  listenEmailNotification(emailNotification) {
@@ -33,6 +39,8 @@ class JobsManager {
33
39
  this.emailNotification.requestNotification.listen();
34
40
  }
35
41
 
42
+
43
+
36
44
  listenActivityArchiver(activityArchiver) {
37
45
  winston.info("JobsManager listenActivityArchiver started");
38
46
  if ( this.jobWorkerEnabled == true) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-server",
3
3
  "description": "The Tiledesk server module",
4
- "version": "2.4.36",
4
+ "version": "2.4.37",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -46,7 +46,7 @@ class ActivityArchiver {
46
46
  // if (authEvent.queueEnabled) { //queue not supported.
47
47
  // authProjectUserInvitePendingKey = 'project_user.invite.pending.queue';
48
48
  // }
49
- winston.info('ActivityArchiver authProjectUserInvitePendingKey: ' + authProjectUserInvitePendingKey);
49
+ winston.debug('ActivityArchiver authProjectUserInvitePendingKey: ' + authProjectUserInvitePendingKey);
50
50
 
51
51
  authEvent.on(authProjectUserInvitePendingKey, function(event) {
52
52
  setImmediate(() => {
@@ -67,7 +67,7 @@ class ActivityArchiver {
67
67
  // if (authEvent.queueEnabled) { //queue not supported
68
68
  // authProjectUserInviteKey = 'project_user.invite.queue';
69
69
  // }
70
- winston.info('ActivityArchiver authProjectUserInviteKey: ' + authProjectUserInviteKey);
70
+ winston.debug('ActivityArchiver authProjectUserInviteKey: ' + authProjectUserInviteKey);
71
71
 
72
72
  authEvent.on(authProjectUserInviteKey, function(event) {
73
73
  setImmediate(() => {
@@ -90,7 +90,7 @@ class ActivityArchiver {
90
90
  if (authEvent.queueEnabled) {
91
91
  authProjectUserUpdateKey = 'project_user.update.queue';
92
92
  }
93
- winston.info('ActivityArchiver authProjectUserUpdateKey: ' + authProjectUserUpdateKey);
93
+ winston.debug('ActivityArchiver authProjectUserUpdateKey: ' + authProjectUserUpdateKey);
94
94
 
95
95
  authEvent.on(authProjectUserUpdateKey, function(event) {
96
96
  setImmediate(() => {
@@ -130,7 +130,7 @@ class ActivityArchiver {
130
130
  // if (authEvent.queueEnabled) { //queue not supported
131
131
  // authProjectUserDeleteKey = 'project_user.delete.queue';
132
132
  // }
133
- winston.info('ActivityArchiver authProjectUserDeleteKey: ' + authProjectUserDeleteKey);
133
+ winston.debug('ActivityArchiver authProjectUserDeleteKey: ' + authProjectUserDeleteKey);
134
134
 
135
135
 
136
136
  authEvent.on(authProjectUserDeleteKey, function(event) {
@@ -297,7 +297,7 @@ class ActivityArchiver {
297
297
  if (requestEvent.queueEnabled) {
298
298
  requestCreateKey = 'request.create.queue';
299
299
  }
300
- winston.info('ActivityArchiver requestCreateKey: ' + requestCreateKey);
300
+ winston.debug('ActivityArchiver requestCreateKey: ' + requestCreateKey);
301
301
 
302
302
  requestEvent.on(requestCreateKey, function(request) {
303
303
  setImmediate(() => {
@@ -341,7 +341,7 @@ class ActivityArchiver {
341
341
  if (requestEvent.queueEnabled) {
342
342
  requestUpdatePreflightKey = 'request.update.preflight.queue';
343
343
  }
344
- winston.info('ActivityArchiver requestUpdatePreflightKey: ' + requestUpdatePreflightKey);
344
+ winston.debug('ActivityArchiver requestUpdatePreflightKey: ' + requestUpdatePreflightKey);
345
345
 
346
346
 
347
347
  requestEvent.on(requestUpdatePreflightKey, function(request) {
@@ -371,14 +371,15 @@ class ActivityArchiver {
371
371
 
372
372
 
373
373
  // verified with queue
374
- var requestCloseKey = 'request.close';
374
+ var requestCloseKey = 'request.close'; //request.close event here queued under job
375
375
  if (requestEvent.queueEnabled) {
376
376
  requestCloseKey = 'request.close.queue';
377
377
  }
378
- winston.info('ActivityArchiver requestCloseKey: ' + requestCloseKey);
378
+ winston.debug('ActivityArchiver requestCloseKey: ' + requestCloseKey);
379
379
 
380
380
 
381
381
  requestEvent.on(requestCloseKey, function(request) {
382
+ winston.debug("request.close event here 7")
382
383
  setImmediate(() => {
383
384
 
384
385
  try {
@@ -2,6 +2,8 @@ var amqp = require('amqplib/callback_api');
2
2
  var winston = require('../../config/winston');
3
3
  const requestEvent = require('../../event/requestEvent');
4
4
  const messageEvent = require('../../event/messageEvent');
5
+ const leadEvent = require('../../event/leadEvent');
6
+
5
7
  const botEvent = require('../../event/botEvent');
6
8
  const authEvent = require('../../event/authEvent');
7
9
  // https://elements.heroku.com/addons/cloudamqp
@@ -16,9 +18,9 @@ var url = process.env.CLOUDAMQP_URL + "?heartbeat=60" || "amqp://localhost";
16
18
  // var url = process.env.AMQP_URL + "?heartbeat=60" || "amqp://localhost?heartbeat=60";
17
19
 
18
20
  var durable = false;
19
- if (process.env.ENABLE_DURABLE_QUEUE == true || process.env.ENABLE_DURABLE_QUEUE == "true") {
20
- durable = true;
21
- }
21
+ // if (process.env.ENABLE_DURABLE_QUEUE == false || process.env.ENABLE_DURABLE_QUEUE == "false") {
22
+ // durable = false;
23
+ // }
22
24
 
23
25
  var persistent = false;
24
26
  if (process.env.ENABLE_PERSISTENT_QUEUE == true || process.env.ENABLE_PERSISTENT_QUEUE == "true") {
@@ -175,6 +177,12 @@ function startWorker() {
175
177
  winston.info("Data queue", oka)
176
178
  });
177
179
 
180
+ ch.bindQueue(_ok.queue, exchange, "lead_create", {}, function(err3, oka) {
181
+ winston.info("Queue bind: "+_ok.queue+ " err: "+err3+ " key: lead_create");
182
+ winston.info("Data queue", oka)
183
+ });
184
+
185
+
178
186
 
179
187
  ch.consume(queueName, processMsg, { noAck: false });
180
188
  winston.info("Worker is started");
@@ -255,6 +263,14 @@ function work(msg, cb) {
255
263
  // requestEvent.emit('request.update.queue', msg.content);
256
264
  botEvent.emit('faqbot.update.queue', JSON.parse(message_string));
257
265
  }
266
+
267
+ if (topic === 'lead_create') {
268
+ winston.debug("reconnect here topic lead_create:" + topic);
269
+ // requestEvent.emit('request.update.queue', msg.content);
270
+ leadEvent.emit('lead.create.queue', JSON.parse(message_string));
271
+ }
272
+
273
+
258
274
  cb(true);
259
275
  // WebSocket.cb(true);
260
276
  // requestEvent.on(msg.KEYYYYYYY+'.ws', msg.content);
@@ -360,6 +376,15 @@ function listen() {
360
376
  });
361
377
  });
362
378
 
379
+
380
+ leadEvent.on('lead.create', function(lead) {
381
+ setImmediate(() => {
382
+ winston.debug("reconnect lead.create")
383
+ publish(exchange, "lead_create", Buffer.from(JSON.stringify(lead)));
384
+ winston.debug("reconnect: "+ Buffer.from(JSON.stringify(lead)))
385
+ });
386
+ });
387
+
363
388
  }
364
389
 
365
390
  if (process.env.QUEUE_ENABLED === "true") {
@@ -367,6 +392,7 @@ if (process.env.QUEUE_ENABLED === "true") {
367
392
  messageEvent.queueEnabled = true;
368
393
  authEvent.queueEnabled = true;
369
394
  botEvent.queueEnabled = true;
395
+ leadEvent.queueEnabled = true;
370
396
  listen();
371
397
  start();
372
398
  winston.info("Queue enabled. endpint: " + url );
package/routes/email.js CHANGED
@@ -322,8 +322,11 @@ router.post('/send',
322
322
  let newto = await recipientEmailUtil.process(to, req.projectid);
323
323
  winston.debug("newto: " + newto);
324
324
 
325
+ let replyto = req.body.replyto;
326
+ winston.debug("replyto: " + replyto);
327
+
325
328
  //sendEmailDirect(to, text, project, request_id, subject, tokenQueryString, sourcePage, payload)
326
- emailService.sendEmailDirect(newto, text, req.project, request_id, subject, undefined, undefined, undefined);
329
+ emailService.sendEmailDirect(newto, text, req.project, request_id, subject, undefined, undefined, undefined, replyto);
327
330
 
328
331
  res.json({"queued": true});
329
332
 
@@ -401,9 +401,9 @@ class EmailService {
401
401
  "X-TILEDESK-TICKET-ID":request.ticket_id,
402
402
  };
403
403
 
404
- winston.verbose("messageId: " + messageId);
405
- winston.verbose("replyTo: " + replyTo);
406
- winston.verbose("email headers", headers);
404
+ winston.debug("messageId: " + messageId);
405
+ winston.debug("replyTo: " + replyTo);
406
+ winston.debug("email headers", headers);
407
407
  }
408
408
 
409
409
  let inReplyTo;
@@ -416,19 +416,19 @@ class EmailService {
416
416
  references = request.attributes.email_references;
417
417
  }
418
418
  }
419
- winston.verbose("email inReplyTo: "+ inReplyTo);
420
- winston.verbose("email references: "+ references);
419
+ winston.debug("email inReplyTo: "+ inReplyTo);
420
+ winston.debug("email references: "+ references);
421
421
 
422
422
  let from;
423
423
  let configEmail;
424
424
  if (project && project.settings && project.settings.email) {
425
425
  if (project.settings.email.config) {
426
426
  configEmail = project.settings.email.config;
427
- winston.verbose("custom email configEmail setting found: ", configEmail);
427
+ winston.debug("custom email configEmail setting found: ", configEmail);
428
428
  }
429
429
  if (project.settings.email.from) {
430
430
  from = project.settings.email.from;
431
- winston.verbose("custom from email setting found: "+ from);
431
+ winston.debug("custom from email setting found: "+ from);
432
432
  }
433
433
  }
434
434
 
@@ -554,9 +554,9 @@ class EmailService {
554
554
 
555
555
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": message.request.request_id, "X-TILEDESK-TICKET-ID":message.request.ticket_id };
556
556
 
557
- winston.verbose("sendNewAssignedAgentMessageEmailNotification messageId: " + messageId);
558
- winston.verbose("sendNewAssignedAgentMessageEmailNotification replyTo: " + replyTo);
559
- winston.verbose("sendNewAssignedAgentMessageEmailNotification email headers", headers);
557
+ winston.debug("sendNewAssignedAgentMessageEmailNotification messageId: " + messageId);
558
+ winston.debug("sendNewAssignedAgentMessageEmailNotification replyTo: " + replyTo);
559
+ winston.debug("sendNewAssignedAgentMessageEmailNotification email headers", headers);
560
560
  }
561
561
 
562
562
  let inReplyTo;
@@ -569,19 +569,19 @@ class EmailService {
569
569
  references = message.request.attributes.email_references;
570
570
  }
571
571
  }
572
- winston.verbose("sendNewAssignedAgentMessageEmailNotification email inReplyTo: "+ inReplyTo);
573
- winston.verbose("sendNewAssignedAgentMessageEmailNotification email references: "+ references);
572
+ winston.debug("sendNewAssignedAgentMessageEmailNotification email inReplyTo: "+ inReplyTo);
573
+ winston.debug("sendNewAssignedAgentMessageEmailNotification email references: "+ references);
574
574
 
575
575
  let from;
576
576
  let configEmail;
577
577
  if (project && project.settings && project.settings.email) {
578
578
  if (project.settings.email.config) {
579
579
  configEmail = project.settings.email.config;
580
- winston.verbose("sendNewAssignedAgentMessageEmailNotification custom email configEmail setting found: ", configEmail);
580
+ winston.debug("sendNewAssignedAgentMessageEmailNotification custom email configEmail setting found: ", configEmail);
581
581
  }
582
582
  if (project.settings.email.from) {
583
583
  from = project.settings.email.from;
584
- winston.verbose("sendNewAssignedAgentMessageEmailNotification custom from email setting found: "+ from);
584
+ winston.debug("sendNewAssignedAgentMessageEmailNotification custom from email setting found: "+ from);
585
585
  }
586
586
  }
587
587
 
@@ -671,7 +671,7 @@ class EmailService {
671
671
  msgText = marked(msgText);
672
672
  }
673
673
 
674
- winston.verbose("msgText: " + msgText);
674
+ winston.debug("msgText: " + msgText);
675
675
 
676
676
  var replacements = {
677
677
  request: request,
@@ -701,9 +701,9 @@ class EmailService {
701
701
 
702
702
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": request.request_id, "X-TILEDESK-TICKET-ID":request.ticket_id };
703
703
 
704
- winston.verbose("sendNewPooledRequestNotification messageId: " + messageId);
705
- winston.verbose("sendNewPooledRequestNotification replyTo: " + replyTo);
706
- winston.verbose("sendNewPooledRequestNotification email headers", headers);
704
+ winston.debug("sendNewPooledRequestNotification messageId: " + messageId);
705
+ winston.debug("sendNewPooledRequestNotification replyTo: " + replyTo);
706
+ winston.debug("sendNewPooledRequestNotification email headers", headers);
707
707
  }
708
708
 
709
709
  let inReplyTo;
@@ -716,19 +716,19 @@ class EmailService {
716
716
  references = request.attributes.email_references;
717
717
  }
718
718
  }
719
- winston.verbose("sendNewPooledRequestNotification email inReplyTo: "+ inReplyTo);
720
- winston.verbose("sendNewPooledRequestNotification email references: "+ references);
719
+ winston.debug("sendNewPooledRequestNotification email inReplyTo: "+ inReplyTo);
720
+ winston.debug("sendNewPooledRequestNotification email references: "+ references);
721
721
 
722
722
  let from;
723
723
  let configEmail;
724
724
  if (project && project.settings && project.settings.email) {
725
725
  if (project.settings.email.config) {
726
726
  configEmail = project.settings.email.config;
727
- winston.verbose("sendNewPooledRequestNotification custom email configEmail setting found: ", configEmail);
727
+ winston.debug("sendNewPooledRequestNotification custom email configEmail setting found: ", configEmail);
728
728
  }
729
729
  if (project.settings.email.from) {
730
730
  from = project.settings.email.from;
731
- winston.verbose("sendNewPooledRequestNotification custom from email setting found: "+ from);
731
+ winston.debug("sendNewPooledRequestNotification custom from email setting found: "+ from);
732
732
  }
733
733
  }
734
734
 
@@ -807,7 +807,7 @@ class EmailService {
807
807
  msgText = marked(msgText);
808
808
  }
809
809
 
810
- winston.verbose("msgText: " + msgText);
810
+ winston.debug("msgText: " + msgText);
811
811
 
812
812
  // passa anche tutti i messages in modo da stampare tutto
813
813
  // Stampa anche contact.email
@@ -845,9 +845,9 @@ class EmailService {
845
845
 
846
846
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": message.request.request_id, "X-TILEDESK-TICKET-ID":message.request.ticket_id };
847
847
 
848
- winston.verbose("sendNewPooledMessageEmailNotification messageId: " + messageId);
849
- winston.verbose("sendNewPooledMessageEmailNotification replyTo: " + replyTo);
850
- winston.verbose("sendNewPooledMessageEmailNotification email headers", headers);
848
+ winston.debug("sendNewPooledMessageEmailNotification messageId: " + messageId);
849
+ winston.debug("sendNewPooledMessageEmailNotification replyTo: " + replyTo);
850
+ winston.debug("sendNewPooledMessageEmailNotification email headers", headers);
851
851
  }
852
852
 
853
853
  let inReplyTo;
@@ -860,19 +860,19 @@ class EmailService {
860
860
  references = message.request.attributes.email_references;
861
861
  }
862
862
  }
863
- winston.verbose("sendNewPooledMessageEmailNotification email inReplyTo: "+ inReplyTo);
864
- winston.verbose("sendNewPooledMessageEmailNotification email references: "+ references);
863
+ winston.debug("sendNewPooledMessageEmailNotification email inReplyTo: "+ inReplyTo);
864
+ winston.debug("sendNewPooledMessageEmailNotification email references: "+ references);
865
865
 
866
866
  let from;
867
867
  let configEmail;
868
868
  if (project && project.settings && project.settings.email) {
869
869
  if (project.settings.email.config) {
870
870
  configEmail = project.settings.email.config;
871
- winston.verbose("sendNewPooledMessageEmailNotification custom email configEmail setting found: ", configEmail);
871
+ winston.debug("sendNewPooledMessageEmailNotification custom email configEmail setting found: ", configEmail);
872
872
  }
873
873
  if (project.settings.email.from) {
874
874
  from = project.settings.email.from;
875
- winston.verbose("sendNewPooledMessageEmailNotification custom from email setting found: "+ from);
875
+ winston.debug("sendNewPooledMessageEmailNotification custom from email setting found: "+ from);
876
876
  }
877
877
  }
878
878
 
@@ -990,9 +990,9 @@ class EmailService {
990
990
 
991
991
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": message.request.request_id, "X-TILEDESK-TICKET-ID":message.request.ticket_id };
992
992
 
993
- winston.verbose("messageId: " + messageId);
994
- winston.verbose("replyTo: " + replyTo);
995
- winston.verbose("email headers", headers);
993
+ winston.debug("messageId: " + messageId);
994
+ winston.debug("replyTo: " + replyTo);
995
+ winston.debug("email headers", headers);
996
996
  }
997
997
 
998
998
  let inReplyTo;
@@ -1006,19 +1006,19 @@ class EmailService {
1006
1006
  references = message.request.attributes.email_references;
1007
1007
  }
1008
1008
  }
1009
- winston.verbose("email inReplyTo: "+ inReplyTo);
1010
- winston.verbose("email references: "+ references);
1009
+ winston.debug("email inReplyTo: "+ inReplyTo);
1010
+ winston.debug("email references: "+ references);
1011
1011
 
1012
1012
  let from;
1013
1013
  let configEmail;
1014
1014
  if (project && project.settings && project.settings.email) {
1015
1015
  if (project.settings.email.config) {
1016
1016
  configEmail = project.settings.email.config;
1017
- winston.verbose("custom email configEmail setting found: ", configEmail);
1017
+ winston.debug("custom email configEmail setting found: ", configEmail);
1018
1018
  }
1019
1019
  if (project.settings.email.from) {
1020
1020
  from = project.settings.email.from;
1021
- winston.verbose("custom from email setting found: "+ from);
1021
+ winston.debug("custom from email setting found: "+ from);
1022
1022
  }
1023
1023
  }
1024
1024
 
@@ -1128,9 +1128,9 @@ class EmailService {
1128
1128
 
1129
1129
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": message.request.request_id, "X-TILEDESK-TICKET-ID":message.request.ticket_id };
1130
1130
 
1131
- winston.verbose("messageId: " + messageId);
1132
- winston.verbose("replyTo: " + replyTo);
1133
- winston.verbose("email headers", headers);
1131
+ winston.debug("messageId: " + messageId);
1132
+ winston.debug("replyTo: " + replyTo);
1133
+ winston.debug("email headers", headers);
1134
1134
  }
1135
1135
 
1136
1136
 
@@ -1161,21 +1161,21 @@ class EmailService {
1161
1161
  }
1162
1162
 
1163
1163
  }
1164
- winston.verbose("email inReplyTo: "+ inReplyTo);
1165
- winston.verbose("email references: "+ references);
1166
- winston.verbose("email cc: ", cc);
1167
- winston.verbose("email ccString: "+ ccString);
1164
+ winston.debug("email inReplyTo: "+ inReplyTo);
1165
+ winston.debug("email references: "+ references);
1166
+ winston.debug("email cc: ", cc);
1167
+ winston.debug("email ccString: "+ ccString);
1168
1168
 
1169
1169
  let from;
1170
1170
  let configEmail;
1171
1171
  if (project && project.settings && project.settings.email) {
1172
1172
  if (project.settings.email.config) {
1173
1173
  configEmail = project.settings.email.config;
1174
- winston.verbose("custom email configEmail setting found: ", configEmail);
1174
+ winston.debug("custom email configEmail setting found: ", configEmail);
1175
1175
  }
1176
1176
  if (project.settings.email.from) {
1177
1177
  from = project.settings.email.from;
1178
- winston.verbose("custom from email setting found: "+ from);
1178
+ winston.debug("custom from email setting found: "+ from);
1179
1179
  }
1180
1180
  }
1181
1181
 
@@ -1312,9 +1312,9 @@ class EmailService {
1312
1312
 
1313
1313
  headers = {"X-TILEDESK-PROJECT-ID": project._id, "X-TILEDESK-REQUEST-ID": message.request.request_id, "X-TILEDESK-TICKET-ID":message.request.ticket_id };
1314
1314
 
1315
- winston.verbose("messageId: " + messageId);
1316
- winston.verbose("replyTo: " + replyTo);
1317
- winston.verbose("email headers", headers);
1315
+ winston.debug("messageId: " + messageId);
1316
+ winston.debug("replyTo: " + replyTo);
1317
+ winston.debug("email headers", headers);
1318
1318
  }
1319
1319
 
1320
1320
 
@@ -1344,21 +1344,21 @@ class EmailService {
1344
1344
  }
1345
1345
  }
1346
1346
  }
1347
- winston.verbose("email inReplyTo: "+ inReplyTo);
1348
- winston.verbose("email references: "+ references);
1349
- winston.verbose("email cc: ", cc);
1350
- winston.verbose("email ccString: "+ ccString);
1347
+ winston.debug("email inReplyTo: "+ inReplyTo);
1348
+ winston.debug("email references: "+ references);
1349
+ winston.debug("email cc: ", cc);
1350
+ winston.debug("email ccString: "+ ccString);
1351
1351
 
1352
1352
  let from;
1353
1353
  let configEmail;
1354
1354
  if (project && project.settings && project.settings.email) {
1355
1355
  if (project.settings.email.config) {
1356
1356
  configEmail = project.settings.email.config;
1357
- winston.verbose("custom email configEmail setting found: ", configEmail);
1357
+ winston.debug("custom email configEmail setting found: ", configEmail);
1358
1358
  }
1359
1359
  if (project.settings.email.from) {
1360
1360
  from = project.settings.email.from;
1361
- winston.verbose("custom from email setting found: "+ from);
1361
+ winston.debug("custom from email setting found: "+ from);
1362
1362
  }
1363
1363
  }
1364
1364
 
@@ -1457,7 +1457,7 @@ class EmailService {
1457
1457
 
1458
1458
 
1459
1459
 
1460
- async sendEmailDirect(to, text, project, request_id, subject, tokenQueryString, sourcePage, payload) {
1460
+ async sendEmailDirect(to, text, project, request_id, subject, tokenQueryString, sourcePage, payload, replyTo) {
1461
1461
 
1462
1462
  var that = this;
1463
1463
 
@@ -1507,8 +1507,9 @@ async sendEmailDirect(to, text, project, request_id, subject, tokenQueryString,
1507
1507
  winston.debug("html: " + html);
1508
1508
 
1509
1509
 
1510
- let replyTo;
1511
- if (this.replyEnabled && request_id) {
1510
+ // let replyTo;
1511
+
1512
+ if (!replyTo && this.replyEnabled && request_id) {
1512
1513
  replyTo = request_id + this.inboundDomainDomainWithAt;
1513
1514
  }
1514
1515
 
@@ -1517,11 +1518,11 @@ async sendEmailDirect(to, text, project, request_id, subject, tokenQueryString,
1517
1518
  if (project && project.settings && project.settings.email) {
1518
1519
  if (project.settings.email.config) {
1519
1520
  configEmail = project.settings.email.config;
1520
- winston.verbose("custom email configEmail setting found: ", configEmail);
1521
+ winston.debug("custom email configEmail setting found: ", configEmail);
1521
1522
  }
1522
1523
  if (project.settings.email.from) {
1523
1524
  from = project.settings.email.from;
1524
- winston.verbose("custom from email setting found: "+ from);
1525
+ winston.debug("custom from email setting found: "+ from);
1525
1526
  }
1526
1527
  }
1527
1528
 
@@ -1820,11 +1821,11 @@ async sendRequestTranscript(to, messages, request, project) {
1820
1821
  if (project && project.settings && project.settings.email) {
1821
1822
  if (project.settings.email.config) {
1822
1823
  configEmail = project.settings.email.config;
1823
- winston.verbose("custom email configEmail setting found: ", configEmail);
1824
+ winston.debug("custom email configEmail setting found: ", configEmail);
1824
1825
  }
1825
1826
  if (project.settings.email.from) {
1826
1827
  from = project.settings.email.from;
1827
- winston.verbose("custom from email setting found: "+ from);
1828
+ winston.debug("custom from email setting found: "+ from);
1828
1829
  }
1829
1830
  }
1830
1831
 
@@ -1878,11 +1879,11 @@ parseText(text, payload) {
1878
1879
  formatText(templateName, defaultText, payload, settings) {
1879
1880
 
1880
1881
  let text = defaultText;
1881
- winston.verbose("formatText defaultText: "+ defaultText);
1882
+ winston.debug("formatText defaultText: "+ defaultText);
1882
1883
 
1883
1884
  let template = this.getTemplate(templateName, settings);
1884
1885
 
1885
- winston.verbose("formatText template: "+ template);
1886
+ winston.debug("formatText template: "+ template);
1886
1887
 
1887
1888
  if (template) {
1888
1889
  text = template;
@@ -1891,7 +1892,7 @@ formatText(templateName, defaultText, payload, settings) {
1891
1892
  var baseScope = JSON.parse(JSON.stringify(this));
1892
1893
  delete baseScope.pass;
1893
1894
 
1894
- winston.verbose("formatText text: "+ text);
1895
+ winston.debug("formatText text: "+ text);
1895
1896
 
1896
1897
  var templateHand = handlebars.compile(text);
1897
1898
 
@@ -1902,7 +1903,7 @@ formatText(templateName, defaultText, payload, settings) {
1902
1903
  };
1903
1904
 
1904
1905
  var textTemplate = templateHand(replacements);
1905
- winston.verbose("formatText textTemplate: "+ textTemplate);
1906
+ winston.debug("formatText textTemplate: "+ textTemplate);
1906
1907
 
1907
1908
  return textTemplate;
1908
1909
 
@@ -1911,21 +1912,21 @@ formatText(templateName, defaultText, payload, settings) {
1911
1912
  getTemplate(templateName, settings) {
1912
1913
 
1913
1914
  var that = this;
1914
- winston.verbose('getTemplate formatSubject: ' + JSON.stringify(settings));
1915
+ winston.debug('getTemplate formatSubject: ' + JSON.stringify(settings));
1915
1916
 
1916
1917
 
1917
1918
  if (settings && settings.email && settings.email.templates) {
1918
- winston.verbose('getTemplate settings.email.templates: ',settings.email.templates);
1919
+ winston.debug('getTemplate settings.email.templates: ',settings.email.templates);
1919
1920
 
1920
1921
  var templates = settings.email.templates;
1921
- winston.verbose('getTemplate templates: ',templates);
1922
+ winston.debug('getTemplate templates: ',templates);
1922
1923
 
1923
1924
  var templateDbName = templateName.replace(".subject", "");
1924
- winston.verbose('getTemplate templateDbName: '+templateDbName);
1925
+ winston.debug('getTemplate templateDbName: '+templateDbName);
1925
1926
 
1926
1927
 
1927
1928
  var template = templates[templateDbName];
1928
- winston.verbose('getTemplate template: '+template);
1929
+ winston.debug('getTemplate template: '+template);
1929
1930
 
1930
1931
  if (template) {
1931
1932
  // that.callback(template);
@@ -202,18 +202,23 @@ class SubscriptionNotifier {
202
202
  return 0;
203
203
  }
204
204
 
205
+ // queued
206
+ // var messageCreateKey = 'message.create';
207
+ // if (messageEvent.queueEnabled) {
208
+ // messageCreateKey = 'message.create.queue';
209
+ // }
210
+ // messageEvent.on(messageCreateKey, function(message) { //queued tested
211
+ // setImmediate(() => {
212
+ // winston.info('SubscriptionNotifier message.create');
213
+ // subscriptionNotifier.subscribe('message.create', message);
214
+ // });
215
+ // });
205
216
 
206
- messageEvent.on('message.create', function(message) {
207
- setImmediate(() => {
208
- subscriptionNotifier.subscribe('message.create', message);
209
- });
210
- });
211
-
212
- message2Event.on('message.create.**.channel.*', function(message) {
217
+ message2Event.on('message.create.**.channel.*', function(message) { //notqueued high
213
218
  // message2Event.on('message.create.request.channel.*', function(message) {
214
219
  winston.debug("message2Event: "+this.event, message);
215
220
  subscriptionNotifier.subscribe(this.event, message);
216
- }, {async: true});
221
+ }, {async: true});
217
222
 
218
223
 
219
224
 
@@ -235,72 +240,103 @@ class SubscriptionNotifier {
235
240
  // });
236
241
 
237
242
 
238
- requestEvent.on('request.create', function(request) {
239
- setImmediate(() => {
240
- subscriptionNotifier.subscribe('request.create', request);
241
- });
242
- });
243
243
 
244
- requestEvent.on('request.update', function(request) {
245
- setImmediate(() => {
246
- subscriptionNotifier.subscribe('request.update', request);
247
- });
248
- });
244
+ // queued
245
+ // var requestCreateKey = 'request.create';
246
+ // if (requestEvent.queueEnabled) {
247
+ // requestCreateKey = 'request.create.queue';
248
+ // }
249
+ // requestEvent.on(requestCreateKey, function(request) { //queued tested
250
+ // setImmediate(() => {
251
+ // winston.info('SubscriptionNotifier request.create');
252
+ // subscriptionNotifier.subscribe('request.create', request);
253
+ // });
254
+ // });
249
255
 
250
- requestEvent.on('request.close', function(request) {
251
- setImmediate(() => {
252
- Message.find({recipient: request.request_id, id_project: request.id_project}).sort({updatedAt: 'asc'}).exec(function(err, messages) {
253
- var requestJson = request.toJSON();
254
- requestJson.messages = messages;
255
- subscriptionNotifier.subscribe('request.close', requestJson);
256
- });
257
- });
258
- });
256
+
257
+ // queued
258
+ // var requestUpdateKey = 'request.update';
259
+ // if (requestEvent.queueEnabled) {
260
+ // requestUpdateKey = 'request.update.queue';
261
+ // }
262
+ // requestEvent.on(requestUpdateKey, function(request) { //queued tested
263
+ // setImmediate(() => {
264
+ // winston.info('SubscriptionNotifier request.update');
265
+ // subscriptionNotifier.subscribe('request.update', request);
266
+ // });
267
+ // });
259
268
 
260
269
 
261
- leadEvent.on('lead.create', function(lead) {
262
- setImmediate(() => {
263
- subscriptionNotifier.subscribe('lead.create', lead);
264
- });
265
- });
270
+ // queued
271
+ // var requestCloseKey = 'request.close'; //request.close event here queued under job
272
+ // if (requestEvent.queueEnabled) {
273
+ // requestCloseKey = 'request.close.queue';
274
+ // }
275
+ // requestEvent.on(requestCloseKey, function(request) { //request.close event here noqueued //queued tested
276
+ // winston.info('SubscriptionNotifier request.close');
277
+ // winston.info("request.close event here 1")
278
+ // setImmediate(() => {
279
+ // Message.find({recipient: request.request_id, id_project: request.id_project}).sort({updatedAt: 'asc'}).exec(function(err, messages) {
280
+ // var requestJson = request;
281
+ // if (request.toJSON) {
282
+ // requestJson = request.toJSON();
283
+ // }
284
+
285
+ // requestJson.messages = messages;
286
+ // subscriptionNotifier.subscribe('request.close', requestJson);
287
+ // });
288
+ // });
289
+ // });
266
290
 
267
291
 
268
- botEvent.on('faqbot.create', function(faqBot) {
292
+ // queued
293
+ // var leadCreateKey = 'lead.create'; //request.close event here queued under job
294
+ // if (leadEvent.queueEnabled) {
295
+ // leadCreateKey = 'lead.create.queue';
296
+ // }
297
+ // leadEvent.on(leadCreateKey, function(lead) { //notqueued high
298
+ // setImmediate(() => {
299
+ // subscriptionNotifier.subscribe('lead.create', lead);
300
+ // });
301
+ // });
302
+
303
+
304
+ botEvent.on('faqbot.create', function(faqBot) { //notqueued
269
305
  setImmediate(() => {
270
306
  subscriptionNotifier.subscribe('faqbot.create', faqBot);
271
307
  });
272
308
  });
273
309
 
274
- botEvent.on('faqbot.update', function(faqBot) {
310
+ botEvent.on('faqbot.update', function(faqBot) { //queued
275
311
  setImmediate(() => {
276
312
  subscriptionNotifier.subscribe('faqbot.update', faqBot);
277
313
  });
278
314
  });
279
315
 
280
- botEvent.on('faqbot.delete', function(faqBot) {
316
+ botEvent.on('faqbot.delete', function(faqBot) { //notqueued
281
317
  setImmediate(() => {
282
318
  subscriptionNotifier.subscribe('faqbot.delete', faqBot);
283
319
  });
284
320
  });
285
321
 
286
- faqBotEvent.on('faq.create', function(faq) {
322
+ faqBotEvent.on('faq.create', function(faq) { //notqueued
287
323
  setImmediate(() => {
288
324
  subscriptionNotifier.subscribe('faq.create', faq);
289
325
  });
290
326
  });
291
327
 
292
- faqBotEvent.on('faq.update', function(faq) {
328
+ faqBotEvent.on('faq.update', function(faq) { //notqueued
293
329
  setImmediate(() => {
294
330
  subscriptionNotifier.subscribe('faq.update', faq);
295
331
  });
296
332
  });
297
- faqBotEvent.on('faq.delete', function(faq) {
333
+ faqBotEvent.on('faq.delete', function(faq) { //notqueued
298
334
  setImmediate(() => {
299
335
  subscriptionNotifier.subscribe('faq.delete', faq);
300
336
  });
301
337
  });
302
338
 
303
- authEvent.on('user.signup', function(event) {
339
+ authEvent.on('user.signup', function(event) { //notqueued
304
340
  setImmediate(() => {
305
341
  var user = event.savedUser;
306
342
  delete user.password;
@@ -312,7 +348,7 @@ class SubscriptionNotifier {
312
348
 
313
349
  // authEvent.emit('project_user.invite', {req:req, savedProject_userPopulated: savedProject_userPopulated});
314
350
 
315
- authEvent.on('project_user.invite', function(event) {
351
+ authEvent.on('project_user.invite', function(event) { //notqueued
316
352
  setImmediate(() => {
317
353
  subscriptionNotifier.subscribe('project_user.invite', event.savedProject_userPopulated);
318
354
  });
@@ -320,15 +356,21 @@ class SubscriptionNotifier {
320
356
 
321
357
  // authEvent.emit('project_user.update', {updatedProject_userPopulated:updatedProject_userPopulated, req: req});
322
358
 
323
- authEvent.on('project_user.update', function(event) {
324
- setImmediate(() => {
325
- subscriptionNotifier.subscribe('project_user.update', event.updatedProject_userPopulated);
326
- });
327
- });
359
+
360
+ // queued
361
+ // var authProjectUserUpdateKey = 'project_user.update';
362
+ // if (authEvent.queueEnabled) {
363
+ // authProjectUserUpdateKey = 'project_user.update.queue';
364
+ // }
365
+ // authEvent.on(authProjectUserUpdateKey, function(event) { //notqueued high
366
+ // setImmediate(() => {
367
+ // subscriptionNotifier.subscribe('project_user.update', event.updatedProject_userPopulated);
368
+ // });
369
+ // });
328
370
 
329
371
  // authEvent.emit('project_user.delete', {req: req, project_userPopulated: project_userPopulated});
330
372
 
331
- authEvent.on('project_user.delete', function(event) {
373
+ authEvent.on('project_user.delete', function(event) { //notqueued
332
374
  setImmediate(() => {
333
375
  subscriptionNotifier.subscribe('project_user.delete', event.project_userPopulated);
334
376
  });
@@ -337,7 +379,7 @@ class SubscriptionNotifier {
337
379
 
338
380
  //TODO lanciare user.signin in questo modo uno esternamente con webhook può creare proactive greetings
339
381
 
340
- departmentEvent.on('operator.select', function(result) {
382
+ departmentEvent.on('operator.select', function(result) { //notqueued
341
383
  winston.debug("departmentEvent.on(operator.select");
342
384
 
343
385
  var operatorSelectedEvent = result.result;
@@ -376,53 +418,53 @@ class SubscriptionNotifier {
376
418
  });
377
419
 
378
420
 
379
- departmentEvent.on('department.create', function(department) {
421
+ departmentEvent.on('department.create', function(department) { //notqueued
380
422
  setImmediate(() => {
381
423
  subscriptionNotifier.subscribe('department.create', department);
382
424
  });
383
425
  });
384
426
 
385
427
 
386
- departmentEvent.on('department.update', function(department) {
428
+ departmentEvent.on('department.update', function(department) { //notqueued
387
429
  setImmediate(() => {
388
430
  subscriptionNotifier.subscribe('department.update', department);
389
431
  });
390
432
  });
391
433
 
392
- departmentEvent.on('department.delete', function(department) {
434
+ departmentEvent.on('department.delete', function(department) { //notqueued
393
435
  setImmediate(() => {
394
436
  subscriptionNotifier.subscribe('department.delete', department);
395
437
  });
396
438
  });
397
439
 
398
440
 
399
- groupEvent.on('group.create', function(group) {
441
+ groupEvent.on('group.create', function(group) { //notqueued
400
442
  setImmediate(() => {
401
443
  subscriptionNotifier.subscribe('group.create', group);
402
444
  });
403
445
  });
404
446
 
405
447
 
406
- groupEvent.on('group.update', function(group) {
448
+ groupEvent.on('group.update', function(group) { //notqueued
407
449
  setImmediate(() => {
408
450
  subscriptionNotifier.subscribe('group.update', group);
409
451
  });
410
452
  });
411
453
 
412
- groupEvent.on('group.delete', function(group) {
454
+ groupEvent.on('group.delete', function(group) { //notqueued
413
455
  setImmediate(() => {
414
456
  subscriptionNotifier.subscribe('group.delete', group);
415
457
  });
416
458
  });
417
459
 
418
- eventEvent.on('event.emit', function(event) {
460
+ eventEvent.on('event.emit', function(event) { //notqueued
419
461
  setImmediate(() => {
420
462
  subscriptionNotifier.subscribe('event.emit', event);
421
463
  });
422
464
  });
423
465
 
424
466
  // event2Event.on(name, savedEventPopulated);
425
- event2Event.on('**', function(savedEventPopulated) {
467
+ event2Event.on('**', function(savedEventPopulated) { //notqueued
426
468
  setImmediate(() => {
427
469
  winston.debug("eventname",this.event);
428
470
  subscriptionNotifier.subscribe('event.emit.'+this.event, savedEventPopulated);
@@ -430,7 +472,7 @@ class SubscriptionNotifier {
430
472
  });
431
473
 
432
474
 
433
- projectEvent.on('project.create', function(project) {
475
+ projectEvent.on('project.create', function(project) { //notqueued
434
476
  setImmediate(() => {
435
477
  var projectJson = project.toJSON();
436
478
  projectJson.id_project = projectJson._id;
@@ -438,7 +480,7 @@ class SubscriptionNotifier {
438
480
  });
439
481
  });
440
482
 
441
- projectEvent.on('project.update', function(project) {
483
+ projectEvent.on('project.update', function(project) { //notqueued
442
484
  setImmediate(() => {
443
485
  var projectJson = project.toJSON();
444
486
  projectJson.id_project = projectJson._id;
@@ -446,7 +488,7 @@ class SubscriptionNotifier {
446
488
  });
447
489
  });
448
490
 
449
- projectEvent.on('project.downgrade', function(project) {
491
+ projectEvent.on('project.downgrade', function(project) { //notqueued
450
492
  setImmediate(() => {
451
493
  var projectJson = project.toJSON();
452
494
  projectJson.id_project = projectJson._id;
@@ -454,7 +496,7 @@ class SubscriptionNotifier {
454
496
  });
455
497
  });
456
498
 
457
- projectEvent.on('project.delete', function(project) {
499
+ projectEvent.on('project.delete', function(project) { //notqueued
458
500
  setImmediate(() => {
459
501
  var projectJson = project.toJSON();
460
502
  projectJson.id_project = projectJson._id;
@@ -0,0 +1,124 @@
1
+ const requestEvent = require('../event/requestEvent');
2
+ const messageEvent = require('../event/messageEvent');
3
+ const leadEvent = require('../event/leadEvent');
4
+ const authEvent = require('../event/authEvent');
5
+
6
+ var Message = require("../models/message");
7
+ var winston = require('../config/winston');
8
+ var subscriptionNotifier = require('../services/subscriptionNotifier');
9
+
10
+ class SubscriptionNotifierQueued {
11
+
12
+ start() {
13
+ winston.debug('SubscriptionNotifierQueued start');
14
+
15
+ var enabled = process.env.RESTHOOK_ENABLED || "false";
16
+ winston.debug('SubscriptionNotifierQueued enabled:'+enabled);
17
+
18
+ if (enabled==="true") {
19
+ winston.debug('SubscriptionNotifierQueued enabled');
20
+ }else {
21
+ winston.info('Resthook Queued disabled');
22
+ return 0;
23
+ }
24
+
25
+
26
+ var messageCreateKey = 'message.create';
27
+ if (messageEvent.queueEnabled) {
28
+ messageCreateKey = 'message.create.queue';
29
+ }
30
+ messageEvent.on(messageCreateKey, function(message) { //queued tested
31
+ setImmediate(() => {
32
+ winston.debug('SubscriptionNotifier message.create');
33
+ subscriptionNotifier.subscribe('message.create', message);
34
+ winston.debug('SubscriptionNotifier message.create sent');
35
+ });
36
+ });
37
+
38
+
39
+
40
+ var requestCreateKey = 'request.create';
41
+ if (requestEvent.queueEnabled) {
42
+ requestCreateKey = 'request.create.queue';
43
+ }
44
+ requestEvent.on(requestCreateKey, function(request) { //queued tested
45
+ setImmediate(() => {
46
+ winston.debug('SubscriptionNotifier request.create');
47
+ subscriptionNotifier.subscribe('request.create', request);
48
+ winston.debug('SubscriptionNotifier request.create sent');
49
+ });
50
+ });
51
+
52
+
53
+
54
+ var requestUpdateKey = 'request.update';
55
+ if (requestEvent.queueEnabled) {
56
+ requestUpdateKey = 'request.update.queue';
57
+ }
58
+ requestEvent.on(requestUpdateKey, function(request) { //queued tested
59
+ setImmediate(() => {
60
+ winston.debug('SubscriptionNotifier request.update');
61
+ subscriptionNotifier.subscribe('request.update', request);
62
+ winston.debug('SubscriptionNotifier request.update sent');
63
+
64
+ });
65
+ });
66
+
67
+
68
+ var requestCloseKey = 'request.close'; //request.close event here queued under job
69
+ if (requestEvent.queueEnabled) {
70
+ requestCloseKey = 'request.close.queue';
71
+ }
72
+ requestEvent.on(requestCloseKey, function(request) { //request.close event here noqueued //queued tested
73
+ winston.debug('SubscriptionNotifier request.close');
74
+ winston.debug("request.close event here 1")
75
+ setImmediate(() => {
76
+ Message.find({recipient: request.request_id, id_project: request.id_project}).sort({updatedAt: 'asc'}).exec(function(err, messages) {
77
+ var requestJson = request;
78
+ if (request.toJSON) {
79
+ requestJson = request.toJSON();
80
+ }
81
+
82
+ requestJson.messages = messages;
83
+ subscriptionNotifier.subscribe('request.close', requestJson);
84
+ winston.debug('SubscriptionNotifier request.close sent');
85
+
86
+ });
87
+ });
88
+ });
89
+
90
+
91
+ var leadCreateKey = 'lead.create'; //lead.create event here queued under job
92
+ if (leadEvent.queueEnabled) {
93
+ leadCreateKey = 'lead.create.queue';
94
+ }
95
+ leadEvent.on(leadCreateKey, function(lead) { //notqueued high
96
+ setImmediate(() => {
97
+ subscriptionNotifier.subscribe('lead.create', lead);
98
+ winston.debug('SubscriptionNotifier lead.create sent');
99
+ });
100
+ });
101
+
102
+ var authProjectUserUpdateKey = 'project_user.update';
103
+ if (authEvent.queueEnabled) {
104
+ authProjectUserUpdateKey = 'project_user.update.queue';
105
+ }
106
+ authEvent.on(authProjectUserUpdateKey, function(event) { //notqueued high
107
+ setImmediate(() => {
108
+ subscriptionNotifier.subscribe('project_user.update', event.updatedProject_userPopulated);
109
+ winston.debug('SubscriptionNotifier project_user.update sent');
110
+ });
111
+ });
112
+
113
+ winston.info('SubscriptionNotifierQueued started');
114
+ }
115
+
116
+
117
+
118
+
119
+ };
120
+
121
+ var subscriptionNotifierQueued = new SubscriptionNotifierQueued();
122
+
123
+
124
+ module.exports = subscriptionNotifierQueued;