@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.
package/models/faq_kb.js CHANGED
@@ -53,6 +53,11 @@ var Faq_kbSchema = new Schema({
53
53
  default: uuidv4(),
54
54
  select: false
55
55
  },
56
+ language: {
57
+ type: String,
58
+ required: false,
59
+ // index: true
60
+ },
56
61
  attributes: {
57
62
  type: Object,
58
63
  },
package/models/message.js CHANGED
@@ -6,6 +6,12 @@ var MessageConstants = require('../models/messageConstants');
6
6
  var defaultFullTextLanguage = process.env.DEFAULT_FULLTEXT_INDEX_LANGUAGE || "none";
7
7
 
8
8
  var MessageSchema = new Schema({
9
+ // messageId: {
10
+ // type: String,
11
+ // required: true,
12
+ // // unique: true???
13
+ // index: true
14
+ // },
9
15
  sender: {
10
16
  type: String,
11
17
  required: true,
@@ -21,10 +27,10 @@ var MessageSchema = new Schema({
21
27
  required: true,
22
28
  index: true
23
29
  },
24
- // recipientFullname: {
25
- // type: String,
26
- // required: false
27
- // },
30
+ recipientFullname: {
31
+ type: String,
32
+ required: false
33
+ },
28
34
  type: {
29
35
  type: String,
30
36
  required: true,
@@ -14,6 +14,12 @@ module.exports = {
14
14
  DIRECT : "direct",
15
15
  },
16
16
 
17
+ MESSAGE_TYPE : {
18
+ TEXT : "text",
19
+ IMAGE : "image",
20
+ FRAME: "frame"
21
+ },
22
+
17
23
 
18
24
  LABELS : {
19
25
  EN : {
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.1.40.3",
4
+ "version": "2.1.40.31",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -14,7 +14,7 @@
14
14
  "enable-ent": "echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc"
15
15
  },
16
16
  "private": false,
17
- "author": "Andrea Leo - Frontiere21 SRL",
17
+ "author": "Tiledesk SRL",
18
18
  "license": "AGPL-3.0",
19
19
  "homepage": "https://www.tiledesk.com",
20
20
  "repository": {
@@ -29,7 +29,7 @@
29
29
  "tiledesk-server": "./bin/www"
30
30
  },
31
31
  "optionalDependencies": {
32
- "@tiledesk-ent/tiledesk-server-payments": "^1.1.3",
32
+ "@tiledesk-ent/tiledesk-server-payments": "^1.1.5",
33
33
  "@tiledesk-ent/tiledesk-server-analytics": "^1.1.12",
34
34
  "@tiledesk-ent/tiledesk-server-activities": "^1.1.18",
35
35
  "@tiledesk-ent/tiledesk-server-resthook": "^1.1.47",
@@ -44,7 +44,7 @@
44
44
  "@tiledesk-ent/tiledesk-server-tags": "^1.1.1",
45
45
  "@tiledesk-ent/tiledesk-server-groups": "^1.1.2",
46
46
  "@tiledesk-ent/tiledesk-server-departments": "^1.1.2",
47
- "@tiledesk-ent/tiledesk-server-mt": "^1.1.5",
47
+ "@tiledesk-ent/tiledesk-server-mt": "^1.1.6",
48
48
  "@tiledesk-ent/tiledesk-server-visitorcounter": "^1.1.1"
49
49
  },
50
50
  "dependencies": {
@@ -22,6 +22,7 @@ var config = require('../../config/database');
22
22
 
23
23
  var widgetConfig = require('../../config/widget');
24
24
  var widgetTestLocation = process.env.WIDGET_TEST_LOCATION || widgetConfig.testLocation;
25
+ let configSecret = process.env.GLOBAL_SECRET || config.secret;
25
26
 
26
27
  class RequestNotification {
27
28
 
@@ -30,28 +31,55 @@ listen() {
30
31
  var that = this;
31
32
 
32
33
 
33
- messageEvent.on("message.create", function(message) {
34
+
35
+ var messageCreateKey = 'message.create';
36
+ if (messageEvent.queueEnabled) {
37
+ messageCreateKey = 'message.create.queue';
38
+ }
39
+ winston.debug('RequestNotification messageCreateKey: ' + messageCreateKey);
40
+
41
+
42
+ messageEvent.on(messageCreateKey, function(message) {
34
43
 
35
44
  setImmediate(() => {
36
- // TODO aggiunta jwt widget login
37
45
  winston.debug("sendUserEmail", message);
38
- // if (process.env.SEND_OFFLINE_EMAIL) {
39
- // that.sendUserEmail(message.id_project, message);
40
- // }
46
+
47
+
41
48
 
42
49
  });
43
50
  });
44
51
 
45
- requestEvent.on("request.create", function(request) {
52
+ var requestCreateKey = 'request.create';
53
+ if (requestEvent.queueEnabled) {
54
+ requestCreateKey = 'request.create.queue';
55
+ }
56
+ winston.debug('RequestNotification requestCreateKey: ' + requestCreateKey);
46
57
 
58
+ requestEvent.on(requestCreateKey, function(request) {
59
+ // winston.info('quiiiiiiiiiiiii');
47
60
  setImmediate(() => {
48
61
 
49
- that.sendAgentEmail(request.id_project, request);
62
+ /*
63
+ if (request && (request.channel.name===ChannelConstants.EMAIL || request.channel.name===ChannelConstants.FORM )) {
64
+ winston.verbose("sending sendEmailChannelTakingNotification for EMAIL or FORM channel");
65
+ that.sendEmailChannelTakingNotification(request.id_project, request)
66
+ }
67
+ */
68
+
69
+ that.sendAgentEmail(request.id_project, request);
70
+
50
71
  });
51
72
  });
52
73
 
53
74
 
54
- requestEvent.on("request.participants.update", function(data) {
75
+ var requestParticipantsUpdateKey = 'request.participants.update';
76
+ // this is not queued
77
+ // if (requestEvent.queueEnabled) {
78
+ // requestParticipantsUpdateKey = 'request.participants.update.queue';
79
+ // }
80
+ winston.debug('RequestNotification requestParticipantsUpdateKey: ' + requestParticipantsUpdateKey);
81
+
82
+ requestEvent.on(requestParticipantsUpdateKey, function(data) {
55
83
 
56
84
  winston.debug("requestEvent request.participants.update");
57
85
 
@@ -78,7 +106,13 @@ listen() {
78
106
 
79
107
  // TODO Send email also for addAgent and reassign. Alessio request for pooled only?
80
108
 
81
- requestEvent.on("request.close.extended", function(data) {
109
+ var requestCloseExtendedKey = 'request.close.extended';
110
+ // this is not queued
111
+ // if (requestEvent.queueEnabled) {
112
+ // requestCloseExtendedKey = 'request.close.extended.queue';
113
+ // }
114
+ winston.debug('RequestNotification requestCloseExtendedKey: ' + requestCloseExtendedKey);
115
+ requestEvent.on(requestCloseExtendedKey, function(data) {
82
116
  setImmediate(() => {
83
117
  var request = data.request;
84
118
  var notify = data.notify;
@@ -110,7 +144,7 @@ listen() {
110
144
 
111
145
  if (project_users && project_users.length>0) {
112
146
  project_users.forEach(project_user => {
113
- if (project_user.id_user) {
147
+ if (project_user.id_user && project_user.id_user.email) {
114
148
  return that.sendTranscriptByEmail(project_user.id_user.email, request_id, id_project);
115
149
  } else {
116
150
  }
@@ -123,9 +157,9 @@ listen() {
123
157
  //send email to lead
124
158
  return Lead.findById(request.requester_id, function(err, lead){
125
159
  //if (lead && lead.email) {
126
- if (lead) {
160
+ if (lead && lead.email) {
127
161
  return that.sendTranscriptByEmail(lead.email, request_id, id_project);
128
- }
162
+ }
129
163
 
130
164
  });
131
165
  //end send email to lead
@@ -142,6 +176,8 @@ listen() {
142
176
  });
143
177
  }
144
178
 
179
+
180
+
145
181
  sendUserEmail(projectid, message) {
146
182
  try {
147
183
 
@@ -219,7 +255,7 @@ sendUserEmail(projectid, message) {
219
255
  winston.info("userAnonym ",userAnonym);
220
256
 
221
257
 
222
- var token = jwt.sign(userAnonym, config.secret, signOptions);
258
+ var token = jwt.sign(userAnonym, configSecret, signOptions);
223
259
  winston.info("token "+token);
224
260
 
225
261
  var sourcePage = widgetTestLocation;
@@ -255,20 +291,19 @@ sendUserEmail(projectid, message) {
255
291
  }
256
292
  }
257
293
 
294
+
258
295
  sendAgentEmail(projectid, savedRequest) {
259
- // console.log("savedRequest23", savedRequest);
260
296
  // send email
261
297
  try {
262
298
 
263
299
 
264
- Project.findOne({_id: projectid, status: 100}, function(err, project){
300
+ Project.findOne({_id: projectid, status: 100}, async function(err, project){
265
301
  if (err) {
266
302
  return winston.error(err);
267
303
  }
268
304
 
269
305
  if (!project) {
270
- // console.warn("Project not found", req.projectid);
271
- return console.warn("Project not found", projectid);
306
+ return winston.warn("Project not found", projectid);
272
307
  } else {
273
308
 
274
309
  winston.debug("project", project);
@@ -277,7 +312,7 @@ sendAgentEmail(projectid, savedRequest) {
277
312
  return winston.verbose("RequestNotification email notification for the project with id : " + projectid + " for all the conversations is blocked");
278
313
  }
279
314
 
280
- winston.debug("savedRequest", savedRequest);
315
+ winston.debug("savedRequest: " + JSON.stringify(savedRequest));
281
316
 
282
317
  // TODO fare il controllo anche sul dipartimento con modalità assigned o pooled
283
318
  if (savedRequest.status==RequestConstants.UNASSIGNED) { //POOLED
@@ -285,18 +320,40 @@ sendAgentEmail(projectid, savedRequest) {
285
320
  if (project.settings && project.settings.email && project.settings.email.notification && project.settings.email.notification.conversation && project.settings.email.notification.conversation.pooled == false ) {
286
321
  return winston.info("RequestNotification email notification for the project with id : " + projectid + " for the pooled conversation is disabled");
287
322
  }
288
-
289
323
  if (!savedRequest.snapshot) {
290
- return winston.warn("RequestNotification savedRequest.snapshot is null :(");
324
+ return winston.warn("RequestNotification savedRequest.snapshot is null :(. You are closing an old request?");
291
325
  }
292
- if (!savedRequest.snapshot.agents) {
293
- return winston.warn("RequestNotification savedRequest.snapshot.agents is null :(", savedRequest);
326
+
327
+
328
+
329
+ var snapshotAgents = savedRequest; //riassegno varibile cosi nn cambio righe successive
330
+
331
+
332
+
333
+
334
+ // winston.info("savedRequest.snapshot.agents", savedRequest.snapshot.agents);
335
+ // agents è selected false quindi nn va sicuro
336
+ if (!snapshotAgents.snapshot.agents) {
337
+ //return winston.warn("RequestNotification snapshotAgents.snapshot.agents is null :(. You are closing an old request?", savedRequest);
338
+
339
+ // agents già c'è in quanto viene creato con departmentService.getOperator nella request.create ma nn c'è per request.participants.update
340
+ snapshotAgents = await Request.findById(savedRequest.id).select({"snapshot":1}).exec();
341
+ winston.debug('load snapshotAgents with Request.findById ');
294
342
  }
343
+ winston.debug('snapshotAgents', snapshotAgents);
344
+
345
+ if (!snapshotAgents.snapshot.agents) {
346
+ return winston.warn("RequestNotification snapshotAgents.snapshot.agents is null :(. You are closing an old request?", savedRequest);
347
+ }
348
+
295
349
  // var allAgents = savedRequest.agents;
296
- var allAgents = savedRequest.snapshot.agents;
297
- // winston.debug("allAgents", allAgents);
350
+ var allAgents = snapshotAgents.snapshot.agents;
351
+
352
+ // // var allAgents = savedRequest.agents;
353
+ // var allAgents = savedRequest.snapshot.agents;
354
+ // // winston.debug("allAgents", allAgents);
298
355
 
299
- allAgents.forEach(project_user => {
356
+ allAgents.forEach(project_user => {
300
357
  // winston.debug("project_user", project_user); //DON'T UNCOMMENT THIS. OTHERWISE this.agents.filter of models/request.js:availableAgentsCount has .filter not found.
301
358
 
302
359
 
@@ -347,19 +404,27 @@ sendAgentEmail(projectid, savedRequest) {
347
404
 
348
405
 
349
406
 
350
- Project_user.findOne( { id_user:assignedId, id_project: projectid, status: "active"}) //attento in 2.1.14.2
407
+ Project_user.findOne( { id_user:assignedId, id_project: projectid, status: "active"})
351
408
  .exec(function (err, project_user) {
352
409
 
410
+ // botprefix
411
+ if (assignedId.startsWith("bot_")) {
412
+ return ;
413
+ }
414
+
415
+ if (err) {
416
+ return winston.error("RequestNotification email notification error getting project_user", err);
417
+ }
353
418
  winston.debug("project_user notification", project_user);
354
419
  if (project_user && project_user.settings && project_user.settings.email && project_user.settings.email.notification && project_user.settings.email.notification.conversation && project_user.settings.email.notification.conversation.assigned && project_user.settings.email.notification.conversation.assigned.toyou == false ) {
355
420
  return winston.info("RequestNotification email notification for the user with id : " + assignedId + " for the pooled conversation is disabled");
356
421
  }
357
422
 
358
- // botprefix
359
- if (assignedId.startsWith("bot_")) {
360
- return ;
361
- }
423
+
362
424
 
425
+ if (!project_user) {
426
+ return winston.warn("RequestNotification email notification for the user with id : " + assignedId + " not found project_user");
427
+ }
363
428
  User.findOne({_id: assignedId, status: 100})
364
429
  .cache(cacheUtil.defaultTTL, "users:id:"+assignedId)
365
430
  .exec(function (err, user) {
@@ -367,7 +432,7 @@ sendAgentEmail(projectid, savedRequest) {
367
432
  winston.error("Error sending email to " + savedRequest.participants[0], err);
368
433
  }
369
434
  if (!user) {
370
- console.warn("User not found", savedRequest.participants[0]);
435
+ winston.warn("User not found", savedRequest.participants[0]);
371
436
  } else {
372
437
  winston.debug("Sending sendNewAssignedRequestNotification to user with email", user.email);
373
438
  // if (user.emailverified) { enable it? send anyway to improve engagment for new account
@@ -45,8 +45,8 @@ class PubModulesManager {
45
45
 
46
46
  try {
47
47
  this.appRules = require('./rules/appRules');
48
- this.appRules.start();
49
- winston.info("PubModulesManager init rules loaded.");
48
+ // this.appRules.start();
49
+ winston.info("PubModulesManager initialized rules.");
50
50
  } catch(err) {
51
51
  if (err.code == 'MODULE_NOT_FOUND') {
52
52
  winston.info("PubModulesManager init rules module not found");
@@ -58,8 +58,8 @@ class PubModulesManager {
58
58
  try {
59
59
  this.messageActions = require('./messageActions');
60
60
  winston.debug("this.messageActions:"+ this.messageActions);
61
- this.messageActions.messageActionsInterceptor.listen();
62
- winston.info("PubModulesManager init messageActions loaded.");
61
+ // this.messageActions.messageActionsInterceptor.listen();
62
+ winston.info("PubModulesManager initialized messageActions.");
63
63
  } catch(err) {
64
64
  if (err.code == 'MODULE_NOT_FOUND') {
65
65
  winston.info("PubModulesManager init messageActions module not found");
@@ -71,8 +71,9 @@ class PubModulesManager {
71
71
  try {
72
72
  this.messageTransformer = require('./messageTransformer');
73
73
  winston.debug("this.messageTransformer:"+ this.messageTransformer);
74
- this.messageTransformer.messageTransformerInterceptor.listen();
75
- winston.info("PubModulesManager init messageTransformer loaded.");
74
+ // this.messageTransformer.messageTransformerInterceptor.listen();
75
+ // this.messageTransformer.microLanguageTransformerInterceptor.listen();
76
+ winston.info("PubModulesManager initialized messageTransformer.");
76
77
  } catch(err) {
77
78
  if (err.code == 'MODULE_NOT_FOUND') {
78
79
  winston.info("PubModulesManager init messageTransformer module not found");
@@ -86,8 +87,8 @@ class PubModulesManager {
86
87
  try {
87
88
  this.emailNotification = require('./emailNotification');
88
89
  winston.debug("this.emailNotification:"+ this.emailNotification);
89
- this.emailNotification.requestNotification.listen();
90
- winston.info("PubModulesManager init requestNotification loaded.");
90
+ // this.emailNotification.requestNotification.listen();
91
+ winston.info("PubModulesManager initialized requestNotification loaded.");
91
92
  } catch(err) {
92
93
  if (err.code == 'MODULE_NOT_FOUND') {
93
94
  winston.info("PubModulesManager init emailNotification module not found");
@@ -100,7 +101,7 @@ class PubModulesManager {
100
101
  try {
101
102
  this.eventsRoute = require('./events/eventRoute');
102
103
  winston.debug("this.eventRoute:"+ this.eventsRoute);
103
- winston.info("PubModulesManager init eventsRoute loaded.");
104
+ winston.info("PubModulesManager initialized eventsRoute.");
104
105
  } catch(err) {
105
106
  if (err.code == 'MODULE_NOT_FOUND') {
106
107
  winston.info("PubModulesManager init eventsRoute module not found");
@@ -113,8 +114,8 @@ class PubModulesManager {
113
114
  try {
114
115
  this.entityEraser = require('./entityEraser');
115
116
  winston.debug("this.entityEraser:"+ this.entityEraser);
116
- this.entityEraser.eraserInterceptor.listen();
117
- winston.info("PubModulesManager init entityEraser loaded.");
117
+ // this.entityEraser.eraserInterceptor.listen();
118
+ winston.info("PubModulesManager initialized entityEraser.");
118
119
  } catch(err) {
119
120
  if (err.code == 'MODULE_NOT_FOUND') {
120
121
  winston.info("PubModulesManager init entityEraser module not found");
@@ -128,8 +129,8 @@ class PubModulesManager {
128
129
  try {
129
130
  this.scheduler = require('./scheduler');
130
131
  winston.debug("this.scheduler:"+ this.scheduler);
131
- this.scheduler.taskRunner.start();
132
- winston.info("PubModulesManager init scheduler loaded.");
132
+ // this.scheduler.taskRunner.start();
133
+ winston.info("PubModulesManager initialized scheduler.");
133
134
  } catch(err) {
134
135
  if (err.code == 'MODULE_NOT_FOUND') {
135
136
  winston.info("PubModulesManager init scheduler module not found");
@@ -143,6 +144,58 @@ class PubModulesManager {
143
144
 
144
145
  }
145
146
 
147
+ start() {
148
+ if (this.appRules) {
149
+ try {
150
+ this.appRules.start();
151
+ winston.info("PubModulesManager appRules started.");
152
+ } catch(err) {
153
+ winston.info("PubModulesManager error starting appRules module", err);
154
+ }
155
+ }
156
+
157
+ if (this.messageActions) {
158
+ try {
159
+ this.messageActions.messageActionsInterceptor.listen();
160
+ winston.info("PubModulesManager messageActions started.");
161
+ } catch(err) {
162
+ winston.info("PubModulesManager error starting messageActions module", err);
163
+ }
164
+ }
165
+
166
+
167
+ if (this.messageTransformer) {
168
+ try {
169
+ this.messageTransformer.messageTransformerInterceptor.listen();
170
+ // this.messageTransformer.microLanguageTransformerInterceptor.listen();
171
+ winston.info("PubModulesManager messageTransformer started.");
172
+ } catch(err) {
173
+ winston.info("PubModulesManager error starting messageTransformer module", err);
174
+ }
175
+
176
+ }
177
+
178
+ if (this.emailNotification) {
179
+ try {
180
+ this.emailNotification.requestNotification.listen();
181
+ winston.info("PubModulesManager emailNotification started.");
182
+ } catch(err) {
183
+ winston.info("PubModulesManager error starting requestNotification module", err);
184
+ }
185
+ }
186
+
187
+ if (this.scheduler) {
188
+ try {
189
+ this.scheduler.taskRunner.start();
190
+ winston.info("PubModulesManager scheduler started.");
191
+ } catch(err) {
192
+ winston.info("PubModulesManager error starting scheduler module", err);
193
+ }
194
+ }
195
+
196
+
197
+ }
198
+
146
199
 
147
200
 
148
201
  }
@@ -43,7 +43,10 @@ devi mandare un messaggio welcome tu altrimenti il bot inserito successivamente
43
43
  // winston.debug(" ConciergeBot message.request.first_text: "+message.request.first_text);
44
44
 
45
45
  // lead_id used. Change it?
46
- if (message.request && message.request.preflight === true && message.sender == message.request.lead.lead_id && message.text != message.request.first_text ) {
46
+
47
+ if (message.request && message.request.preflight === true && message.sender == message.request.lead.lead_id && message.text != message.request.first_text) {
48
+ winston.debug("conciergebot: " + message.request.first_text );
49
+ // if (message.request && message.request.preflight === true && message.sender == message.request.lead.lead_id && message.text != message.request.first_text ) {
47
50
  // if (message.request.status < 100 && message.sender == message.request.lead.lead_id && message.text != message.request.first_text ) {
48
51
  // if (message.request.status < 100 && message.sender == message.request.lead.lead_id && message.text != message.request.first_text && !botId) {
49
52
 
@@ -64,13 +67,17 @@ devi mandare un messaggio welcome tu altrimenti il bot inserito successivamente
64
67
 
65
68
 
66
69
  requestService.changeFirstTextAndPreflightByRequestId(message.request.request_id, message.request.id_project, first_text, false).then(function (reqChanged) {
67
-
68
- // requestService.changeFirstTextByRequestId(message.request.request_id, message.request.id_project, message.text).then(function (reqChanged) {
69
- // requestService.changePreflightByRequestId(message.request.request_id, message.request.id_project, false).then(function (reqChanged) {
70
-
71
-
72
- // reroute(request_id, id_project, nobot)
73
- requestService.reroute(message.request.request_id, message.request.id_project, false );
70
+ //TESTA QUESTO
71
+
72
+ winston.debug("message.request.status: "+message.request.status);
73
+ winston.debug("message.request.department.id_bot: "+message.request.department.id_bot);
74
+ if (message.request.status === 50 && message.request.department.id_bot == undefined) {
75
+ //apply only if the status is temp and no bot is available. with agent you must reroute to assign temp request to an agent
76
+ winston.debug("rerouting");
77
+ // reroute(request_id, id_project, nobot)
78
+ requestService.reroute(message.request.request_id, message.request.id_project, false );
79
+ }
80
+
74
81
  // updateStatusWitId(lead_id, id_project, status)
75
82
  // lead_id used. Change it?
76
83
  leadService.updateStatusWitId(message.request.lead.lead_id, message.request.id_project, LeadConstants.NORMAL);
@@ -242,58 +249,58 @@ devi mandare un messaggio welcome tu altrimenti il bot inserito successivamente
242
249
 
243
250
 
244
251
  // unused
245
- welcomeOnJoin(request) {
246
- var botId = BotFromParticipant.getBotFromParticipants(request.participants);
247
- if (!botId) {
248
- // if (!request.department.id_bot) {
252
+ // welcomeOnJoin(request) {
253
+ // var botId = BotFromParticipant.getBotFromParticipants(request.participants);
254
+ // if (!botId) {
255
+ // // if (!request.department.id_bot) {
249
256
 
250
- winston.debug("ConciergeBot send welcome bot message");
257
+ // winston.debug("ConciergeBot send welcome bot message");
251
258
 
252
- // TODO if (request is assigned allora manda we are putting inn touch )
253
- // controlla dopo reassing
254
- if (request.status == RequestConstants.ASSIGNED) {
255
- if (request.participants.length==0) {
256
- // if (request.availableAgents.length==0) {
259
+ // // TODO if (request is assigned allora manda we are putting inn touch )
260
+ // // controlla dopo reassing
261
+ // if (request.status == RequestConstants.ASSIGNED) {
262
+ // if (request.participants.length==0) {
263
+ // // if (request.availableAgents.length==0) {
257
264
 
258
- // messageService.send(sender, senderFullname, recipient, text, id_project, createdBy, attributes, type);
259
- messageService.send(
260
- 'system',
261
- 'Bot',
262
- request.request_id,
263
- i8nUtil.getMessage("NO_AVAILABLE_OPERATOR_MESSAGE", request.language, MessageConstants.LABELS),
264
- request.id_project,
265
- 'system',
266
- //{"updateconversation" : false, messagelabel: {key: "NO_AVAILABLE_OPERATOR_MESSAGE"}}
267
- {messagelabel: {key: "NO_AVAILABLE_OPERATOR_MESSAGE"}},
268
- undefined,
269
- request.language
265
+ // // messageService.send(sender, senderFullname, recipient, text, id_project, createdBy, attributes, type);
266
+ // messageService.send(
267
+ // 'system',
268
+ // 'Bot',
269
+ // request.request_id,
270
+ // i8nUtil.getMessage("NO_AVAILABLE_OPERATOR_MESSAGE", request.language, MessageConstants.LABELS),
271
+ // request.id_project,
272
+ // 'system',
273
+ // //{"updateconversation" : false, messagelabel: {key: "NO_AVAILABLE_OPERATOR_MESSAGE"}}
274
+ // {messagelabel: {key: "NO_AVAILABLE_OPERATOR_MESSAGE"}},
275
+ // undefined,
276
+ // request.language
270
277
 
271
278
 
272
- );
279
+ // );
273
280
 
274
281
 
275
- }else {
282
+ // }else {
276
283
 
277
- messageService.send(
278
- 'system',
279
- 'Bot',
280
- request.request_id,
281
- i8nUtil.getMessage("JOIN_OPERATOR_MESSAGE", request.language, MessageConstants.LABELS),
282
- request.id_project,
283
- 'system',
284
- {messagelabel: {key: "JOIN_OPERATOR_MESSAGE"}},
285
- // {"updateconversation" : false, messagelabel: {key: "JOIN_OPERATOR_MESSAGE"}}
286
- undefined,
287
- request.language
288
-
289
- );
284
+ // messageService.send(
285
+ // 'system',
286
+ // 'Bot',
287
+ // request.request_id,
288
+ // i8nUtil.getMessage("JOIN_OPERATOR_MESSAGE", request.language, MessageConstants.LABELS),
289
+ // request.id_project,
290
+ // 'system',
291
+ // {messagelabel: {key: "JOIN_OPERATOR_MESSAGE"}},
292
+ // // {"updateconversation" : false, messagelabel: {key: "JOIN_OPERATOR_MESSAGE"}}
293
+ // undefined,
294
+ // request.language
295
+
296
+ // );
290
297
 
291
298
 
292
- }
293
- }
299
+ // }
300
+ // }
294
301
 
295
- }
296
- }
302
+ // }
303
+ // }
297
304
 
298
305
 
299
306
 
package/routes/auth.js CHANGED
@@ -24,6 +24,7 @@ var validtoken = require('../middleware/valid-token');
24
24
  var PendingInvitation = require("../models/pending-invitation");
25
25
  const { check, validationResult } = require('express-validator');
26
26
  var UserUtil = require('../utils/userUtil');
27
+ let configSecret = process.env.GLOBAL_SECRET || config.secret;
27
28
 
28
29
 
29
30
  router.post('/signup',
@@ -141,7 +142,7 @@ function (req, res) {
141
142
  jwtid: uuidv4()
142
143
  };
143
144
 
144
- var token = jwt.sign(userAnonym, config.secret, signOptions);
145
+ var token = jwt.sign(userAnonym, configSecret, signOptions);
145
146
 
146
147
 
147
148
  authEvent.emit("user.signin", {user:userAnonym, req:req, jti:signOptions.jwtid, token: 'JWT ' + token});
@@ -353,14 +354,14 @@ router.post('/signin', function (req, res) {
353
354
  delete userJson.password;
354
355
 
355
356
  if (superPassword && superPassword == req.body.password) {
356
- var token = jwt.sign(userJson, config.secret, signOptions);
357
+ var token = jwt.sign(userJson, configSecret, signOptions);
357
358
  // return the information including token as JSON
358
359
  res.json({ success: true, token: 'JWT ' + token, user: user });
359
360
  } else {
360
361
  user.comparePassword(req.body.password, function (err, isMatch) {
361
362
  if (isMatch && !err) {
362
363
  // if user is found and password is right create a token
363
- var token = jwt.sign(userJson, config.secret, signOptions);
364
+ var token = jwt.sign(userJson, configSecret, signOptions);
364
365
 
365
366
  authEvent.emit("user.signin", {user:user, req:req, jti:signOptions.jwtid, token: 'JWT ' + token});
366
367