@tiledesk/tiledesk-server 2.3.16 → 2.3.18
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/CHANGELOG.md +11 -1
- package/channels/chat21/chat21Handler.js +18 -3
- package/channels/chat21/chat21WebHook.js +4 -3
- package/channels/chat21/package-lock.json +663 -706
- package/channels/chat21/package.json +2 -2
- package/models/project_user.js +4 -0
- package/models/request.js +12 -1
- package/package.json +3 -3
- package/pubmodules/activities/activityArchiver.js +1 -1
- package/pubmodules/activities/routes/activity.js +1 -1
- package/pubmodules/canned/cannedResponse.js +4 -0
- package/pubmodules/canned/cannedResponseRoute.js +11 -5
- package/pubmodules/emailNotification/requestNotification.js +25 -2
- package/pubmodules/events/eventRoute.js +37 -7
- package/pubmodules/trigger/start.js +5 -1
- package/routes/auth.js +7 -2
- package/routes/project_user.js +9 -0
- package/routes/request.js +18 -0
- package/services/geoService.js +30 -4
- package/template/email/pooledRequest.html +1 -1
- package/test/cannedRoute.js +166 -0
- 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
|