@tiledesk/tiledesk-server 2.2.39 → 2.3.1-8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +121 -0
- package/LICENSE +14 -657
- package/README.md +17 -3
- package/app.js +21 -60
- package/channels/chat21/chat21Handler.js +18 -3
- package/channels/chat21/chat21WebHook.js +31 -15
- package/channels/chat21/package-lock.json +663 -706
- package/channels/chat21/package.json +2 -2
- package/deploy.sh +2 -0
- package/event/botEvent.js +1 -1
- package/event/subscriptionEvent.js +11 -0
- package/fonts/Roboto-Italic.ttf +0 -0
- package/fonts/Roboto-Medium.ttf +0 -0
- package/fonts/Roboto-MediumItalic.ttf +0 -0
- package/fonts/Roboto-Regular.ttf +0 -0
- package/middleware/ipFilter.js +220 -0
- package/middleware/passport.js +11 -2
- package/models/lead.js +2 -0
- package/models/project.js +10 -0
- package/models/project_user.js +4 -0
- package/models/request.js +50 -12
- package/models/subscriptionLog.js +34 -0
- package/models/tagLibrary.js +42 -0
- package/package.json +6 -12
- package/pubmodules/activities/activityArchiver.js +314 -0
- package/pubmodules/activities/index.js +3 -0
- package/pubmodules/activities/models/activity.js +88 -0
- package/pubmodules/activities/routes/activity.js +710 -0
- package/pubmodules/activities/test/activityRoute.js +85 -0
- package/pubmodules/analytics/analytics.js +1719 -0
- package/pubmodules/analytics/index.js +3 -0
- package/pubmodules/canned/cannedResponse.js +55 -0
- package/pubmodules/canned/cannedResponseRoute.js +163 -0
- package/pubmodules/canned/index.js +3 -0
- package/pubmodules/emailNotification/requestNotification.js +215 -28
- package/pubmodules/events/eventRoute.js +37 -7
- package/pubmodules/messageActions/messageActionsInterceptor.js +4 -2
- package/pubmodules/pubModulesManager.js +129 -5
- package/pubmodules/rasa/listener.js +5 -5
- package/pubmodules/rules/conciergeBot.js +4 -4
- package/pubmodules/scheduler/tasks/closeAgentUnresponsiveRequestTask.js +3 -1
- package/pubmodules/scheduler/tasks/closeBotUnresponsiveRequestTask.js +3 -1
- package/pubmodules/tilebot/index.js +11 -0
- package/pubmodules/tilebot/listener.js +69 -0
- package/pubmodules/trigger/default.js +271 -0
- package/pubmodules/trigger/event/actionEventEmitter.js +10 -0
- package/pubmodules/trigger/event/flowEventEmitter.js +10 -0
- package/pubmodules/trigger/event/triggerEventEmitter.js +10 -0
- package/pubmodules/trigger/index.js +3 -0
- package/pubmodules/trigger/models/trigger.js +149 -0
- package/pubmodules/trigger/rulesTrigger.js +1181 -0
- package/pubmodules/trigger/start.js +118 -0
- package/pubmodules/trigger/triggerRoute.js +150 -0
- package/routes/auth.js +7 -2
- package/routes/department.js +51 -0
- package/routes/faq.js +7 -0
- package/routes/faq_kb.js +1 -1
- package/routes/group.js +140 -0
- package/routes/lead.js +24 -1
- package/routes/message.js +6 -3
- package/routes/project.js +118 -0
- package/routes/project_user.js +9 -0
- package/routes/public-request.js +280 -2
- package/routes/request.js +122 -16
- package/routes/subscription.js +140 -0
- package/routes/tag.js +138 -0
- package/routes/user-request.js +3 -2
- package/routes/users.js +1 -1
- package/routes/widget.js +80 -3
- package/routes/widgetLoader.js +31 -0
- package/services/banUserNotifier.js +86 -0
- package/services/emailService.js +189 -11
- package/services/faqService.js +2 -2
- package/services/geoService.js +30 -4
- package/services/leadService.js +2 -0
- package/services/modulesManager.js +7 -188
- package/services/requestService.js +364 -6
- package/services/subscriptionNotifier.js +485 -0
- package/template/email/assignedEmailMessage.html +1 -1
- package/template/email/assignedRequest.html +1 -1
- package/template/email/newMessage.html +1 -1
- package/template/email/newMessageFollower.html +236 -0
- package/template/email/passwordChanged.html +1 -1
- package/template/email/pooledEmailMessage.html +1 -1
- package/template/email/pooledRequest.html +1 -1
- package/template/email/resetPassword.html +2 -2
- package/template/email/ticket.html +1 -1
- package/test/cannedRoute.js +166 -0
- package/test/messageRoute.js +69 -0
- package/test/requestService.js +3 -1
- package/utils/orgUtil.js +3 -3
- package/views/messages.jade +2 -2
- package/websocket/webSocketServer.js +23 -5
@@ -169,8 +169,18 @@ class WebSocketServer {
|
|
169
169
|
|
170
170
|
winston.debug(' req.user._id: '+ req.user);
|
171
171
|
|
172
|
+
if (!topic) {
|
173
|
+
winston.error('WebSocket - Error getting topic. Topic can t be null');
|
174
|
+
return reject('WebSocket - Error getting topic. Topic can t be null');
|
175
|
+
}
|
172
176
|
var urlSub = topic.split('/');
|
173
177
|
|
178
|
+
if (!urlSub || (urlSub && urlSub.length==0)) {
|
179
|
+
winston.error('WebSocket - Error getting topic. Topic is not properly configured');
|
180
|
+
return reject('WebSocket - Error getting topic. Topic is not properly configured');
|
181
|
+
}
|
182
|
+
// Error getting Project Cast to ObjectId failed for value "N7VJlLZ1" (type string) at path "_id" for model "project" {"kind":"ObjectId","path":"_id","reason":{},"stack":"CastError: Cast to ObjectId failed for value \"N7VJlLZ1\" (type string) at path \"_id\" for model \"project\"\n at model.Query.exec (/usr/src/app/node_modules/mongoose/lib/query.js:4498:21)\n at /usr/src/app/websocket/webSocketServer.js:180:14\n at new Promise (<anonymous>)\n at Object.onSubscribeCallback [as onSubscribe] (/usr/src/app/websocket/webSocketServer.js:167:14)\n at PubSub.handleReceivedClientMessage (/usr/src/app/websocket/pubsub.js:358:57)\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (internal/process/task_queues.js:97:5)","stringValue":"\"N7VJlLZ1\"","value":"N7VJlLZ1","valueType":"string"}
|
183
|
+
|
174
184
|
var projectId = urlSub[1];
|
175
185
|
winston.debug('projectId: '+projectId);
|
176
186
|
|
@@ -590,11 +600,12 @@ class WebSocketServer {
|
|
590
600
|
winston.debug('messageCreateKey: ' + messageCreateKey);
|
591
601
|
|
592
602
|
messageEvent.on(messageCreateKey, function (message) {
|
603
|
+
setImmediate(async () => {
|
593
604
|
winston.debug('messageEvent websocket server: '+messageCreateKey, message);
|
594
605
|
if (message.request) {
|
595
606
|
pubSubServer.handlePublishMessage ('/'+message.id_project+'/requests/'+message.request.request_id+'/messages', message, undefined, true, "CREATE");
|
596
607
|
}
|
597
|
-
|
608
|
+
});
|
598
609
|
});
|
599
610
|
|
600
611
|
// var reconnect = require('./reconnect');
|
@@ -604,7 +615,8 @@ class WebSocketServer {
|
|
604
615
|
}
|
605
616
|
winston.debug('requestCreateKey: ' + requestCreateKey);
|
606
617
|
requestEvent.on(requestCreateKey, async function (request) {
|
607
|
-
|
618
|
+
setImmediate(async () => {
|
619
|
+
|
608
620
|
winston.debug('requestEvent websocket server: '+requestCreateKey, request);
|
609
621
|
// TODO scarta riquesta se agente (req.user._id) non sta ne in participants ne in agents
|
610
622
|
|
@@ -643,7 +655,7 @@ class WebSocketServer {
|
|
643
655
|
pubSubServer.handlePublishMessage ('/'+request.id_project+'/requests', request, undefined, true, "CREATE");
|
644
656
|
pubSubServer.handlePublishMessage ('/'+request.id_project+'/requests/'+request.request_id, request, undefined, true, "CREATE");
|
645
657
|
}
|
646
|
-
|
658
|
+
});
|
647
659
|
});
|
648
660
|
|
649
661
|
var requestUpdateKey = 'request.update';
|
@@ -653,6 +665,8 @@ class WebSocketServer {
|
|
653
665
|
|
654
666
|
winston.debug('requestUpdateKey: ' + requestUpdateKey);
|
655
667
|
requestEvent.on(requestUpdateKey, async function(request) {
|
668
|
+
setImmediate(async () => {
|
669
|
+
|
656
670
|
// TODO setImmediate(() => {
|
657
671
|
winston.debug('requestEvent websocket server: '+requestUpdateKey, request);
|
658
672
|
if (request.preflight===false && request.status > requestConstants.TEMP) {
|
@@ -694,7 +708,7 @@ class WebSocketServer {
|
|
694
708
|
pubSubServer.handlePublishMessage ('/'+request.id_project+'/requests', requestJSON, undefined, true, "UPDATE");
|
695
709
|
pubSubServer.handlePublishMessage ('/'+request.id_project+'/requests/'+request.request_id, requestJSON, undefined, true, "UPDATE");
|
696
710
|
}
|
697
|
-
|
711
|
+
});
|
698
712
|
});
|
699
713
|
|
700
714
|
|
@@ -709,6 +723,8 @@ class WebSocketServer {
|
|
709
723
|
}
|
710
724
|
winston.debug('projectuserUpdateKey: ' + projectuserUpdateKey);
|
711
725
|
authEvent.on(projectuserUpdateKey,function(data) {
|
726
|
+
setImmediate(async () => {
|
727
|
+
|
712
728
|
var pu = data.updatedProject_userPopulated;
|
713
729
|
winston.debug('ws pu', pu);
|
714
730
|
|
@@ -724,7 +740,7 @@ class WebSocketServer {
|
|
724
740
|
}
|
725
741
|
winston.debug('userId:'+ userId);
|
726
742
|
pubSubServer.handlePublishMessage ('/'+pu.id_project+'/project_users/users/'+userId, pu, undefined, true, "UPDATE");
|
727
|
-
|
743
|
+
});
|
728
744
|
});
|
729
745
|
|
730
746
|
|
@@ -735,6 +751,7 @@ class WebSocketServer {
|
|
735
751
|
}
|
736
752
|
winston.debug('eventEmitKey: ' + eventEmitKey);
|
737
753
|
eventEvent.on(eventEmitKey,function(event) {
|
754
|
+
setImmediate(async () => {
|
738
755
|
winston.debug('event', event);
|
739
756
|
if (event.project_user === undefined) {
|
740
757
|
//with "faqbot.answer_not_found" project_user is undefined but it's ok
|
@@ -743,6 +760,7 @@ class WebSocketServer {
|
|
743
760
|
}
|
744
761
|
pubSubServer.handlePublishMessage ('/'+event.id_project+'/events/'+event.project_user._id, event, undefined, true, "CREATE");
|
745
762
|
});
|
763
|
+
});
|
746
764
|
|
747
765
|
|
748
766
|
// https://github.com/websockets/ws/blob/master/examples/express-session-parse/index.js
|