@tiledesk/tiledesk-server 2.3.106 → 2.3.108
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/channels/chat21/chat21Handler.js +10 -6
- package/package.json +3 -3
- package/routes/message.js +20 -3
- package/test/messageRoute.js +69 -0
@@ -184,7 +184,6 @@ class Chat21Handler {
|
|
184
184
|
|
185
185
|
|
186
186
|
// quando passa da lead temp a default aggiorna tutti va bene?
|
187
|
-
|
188
187
|
leadEvent.on('lead.update', function(lead) {
|
189
188
|
// non sembra funzionare chiedi a Dario dove prende le info
|
190
189
|
setImmediate(() => {
|
@@ -363,6 +362,7 @@ class Chat21Handler {
|
|
363
362
|
|
364
363
|
chat21Event.emit('message.sent', data);
|
365
364
|
|
365
|
+
winston.debug("Message changeStatus 1");
|
366
366
|
messageService.changeStatus(message._id, MessageConstants.CHAT_MESSAGE_STATUS.DELIVERED) .then(function(upMessage){
|
367
367
|
winston.debug("Chat21 message sent ", upMessage.toObject());
|
368
368
|
}).catch(function(err) {
|
@@ -398,7 +398,7 @@ class Chat21Handler {
|
|
398
398
|
// chat21.conversations.stopTyping(message.recipient,message.sender);
|
399
399
|
|
400
400
|
chat21Event.emit('message.sent', data);
|
401
|
-
|
401
|
+
winston.debug("Message changeStatus 2");
|
402
402
|
messageService.changeStatus(message._id, MessageConstants.CHAT_MESSAGE_STATUS.DELIVERED) .then(function(upMessage){
|
403
403
|
winston.debug("Chat21 message sent ", upMessage.toObject());
|
404
404
|
}).catch(function(err) {
|
@@ -439,7 +439,7 @@ class Chat21Handler {
|
|
439
439
|
// chat21.conversations.stopTyping(message.recipient,message.sender);
|
440
440
|
|
441
441
|
chat21Event.emit('message.sent', data);
|
442
|
-
|
442
|
+
winston.debug("Message changeStatus 3");
|
443
443
|
messageService.changeStatus(message._id, MessageConstants.CHAT_MESSAGE_STATUS.DELIVERED) .then(function(upMessage){
|
444
444
|
winston.debug("Chat21 message sent ", upMessage.toObject());
|
445
445
|
}).catch(function(err) {
|
@@ -545,7 +545,11 @@ class Chat21Handler {
|
|
545
545
|
// let membersArray = JSON.parse(JSON.stringify(members));
|
546
546
|
// winston.info("membersArray", membersArray);
|
547
547
|
|
548
|
-
var gAttributes =
|
548
|
+
var gAttributes = requestObj.attributes || {};
|
549
|
+
// TODO ATTENTION change value by reference
|
550
|
+
// var gAttributes = request.attributes || {}; //BUG LINK TO event emmiter obiect
|
551
|
+
|
552
|
+
|
549
553
|
// problema requester_id
|
550
554
|
gAttributes["requester_id"] = request.requester_id;
|
551
555
|
|
@@ -631,12 +635,12 @@ class Chat21Handler {
|
|
631
635
|
|
632
636
|
chat21.auth.setAdminToken(adminToken);
|
633
637
|
|
634
|
-
winston.
|
638
|
+
winston.debug("Chat21Sender archiving conversations for ",request.participants);
|
635
639
|
|
636
640
|
//iterate request.participant and archive conversation
|
637
641
|
request.participants.forEach(function(participant,index) {
|
638
642
|
|
639
|
-
winston.
|
643
|
+
winston.debug("Chat21Sender archiving conversation: " + request.request_id + "for " + participant);
|
640
644
|
|
641
645
|
chat21.conversations.archive(request.request_id, participant)
|
642
646
|
.then(function(data){
|
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.3.
|
4
|
+
"version": "2.3.108",
|
5
5
|
"scripts": {
|
6
6
|
"start": "node ./bin/www",
|
7
7
|
"pretest": "mongodb-runner start",
|
@@ -43,8 +43,8 @@
|
|
43
43
|
"@tiledesk/tiledesk-json-rules-engine": "^4.0.3",
|
44
44
|
"@tiledesk/tiledesk-kaleyra-proxy": "^0.1.7",
|
45
45
|
"@tiledesk/tiledesk-rasa-connector": "^1.0.10",
|
46
|
-
"@tiledesk/tiledesk-tybot-connector": "^0.1.
|
47
|
-
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.
|
46
|
+
"@tiledesk/tiledesk-tybot-connector": "^0.1.65",
|
47
|
+
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.39",
|
48
48
|
"amqplib": "^0.5.5",
|
49
49
|
"app-root-path": "^3.0.0",
|
50
50
|
"bcrypt-nodejs": "0.0.3",
|
package/routes/message.js
CHANGED
@@ -184,6 +184,8 @@ async (req, res) => {
|
|
184
184
|
|
185
185
|
return requestService.create(new_request).then(function (savedRequest) {
|
186
186
|
|
187
|
+
winston.debug("returning savedRequest to", savedRequest.toJSON());
|
188
|
+
|
187
189
|
// createWithIdAndRequester(request_id, project_user_id, lead_id, id_project, first_text, departmentid, sourcePage, language, userAgent, status,
|
188
190
|
// createdBy, attributes, subject, preflight, channel, location) {
|
189
191
|
|
@@ -204,26 +206,41 @@ async (req, res) => {
|
|
204
206
|
|
205
207
|
winston.debug("returning message to", message);
|
206
208
|
|
207
|
-
savedRequest
|
209
|
+
winston.debug("returning savedRequest2210 to", savedRequest.toJSON());
|
210
|
+
|
211
|
+
|
212
|
+
savedRequest //bug
|
213
|
+
// Request.findById(savedRequest.id)
|
208
214
|
.populate('lead')
|
209
215
|
.populate('department')
|
210
216
|
.populate('participatingBots')
|
211
217
|
.populate('participatingAgents')
|
212
218
|
// .populate('followers')
|
213
219
|
.populate({path:'requester',populate:{path:'id_user'}})
|
214
|
-
.
|
220
|
+
// .exec(function (err, savedRequestPopulated){
|
221
|
+
.execPopulate(function (err, savedRequestPopulated){ //bug with execPopulate request.attributes are invalid (NOT real data). but this bug is related to chat21 listener changes by reference. i think populate suffer from this problem bacause it it the same obect passed by reference
|
215
222
|
|
216
223
|
if (err) {
|
217
224
|
return winston.error("Error gettting savedRequestPopulated for send Message", err);
|
218
|
-
}
|
225
|
+
}
|
226
|
+
|
227
|
+
winston.debug("returning savedRequest221 to", savedRequest.toJSON());
|
228
|
+
|
229
|
+
|
230
|
+
winston.debug("savedRequestPopulated", savedRequestPopulated.toJSON());
|
231
|
+
|
232
|
+
winston.debug("returning savedRequest22 to", savedRequest.toJSON());
|
233
|
+
|
219
234
|
|
220
235
|
message.request = savedRequestPopulated;
|
236
|
+
winston.debug("returning2 message to", message);
|
221
237
|
|
222
238
|
|
223
239
|
return res.json(message);
|
224
240
|
});
|
225
241
|
});
|
226
242
|
}).catch(function(err){ //pubblica questo
|
243
|
+
winston.error('Error creating request: '+ JSON.stringify(err));
|
227
244
|
winston.log({
|
228
245
|
level: 'error',
|
229
246
|
message: 'Error creating request: '+ JSON.stringify(err) + " " + JSON.stringify(req.body) ,
|
package/test/messageRoute.js
CHANGED
@@ -155,6 +155,75 @@ it('createSimpleNoText', function (done) {
|
|
155
155
|
|
156
156
|
|
157
157
|
|
158
|
+
|
159
|
+
// mocha test/messageRoute.js --grep 'createSimpleWithAttributes'
|
160
|
+
|
161
|
+
it('createSimpleWithAttributes', function (done) {
|
162
|
+
// this.timeout(10000);
|
163
|
+
|
164
|
+
var email = "test-message-create-" + Date.now() + "@email.com";
|
165
|
+
var pwd = "pwd";
|
166
|
+
|
167
|
+
userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
|
168
|
+
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function(savedProjectAndPU) {
|
169
|
+
|
170
|
+
var savedProject = savedProjectAndPU.project;
|
171
|
+
|
172
|
+
chai.request(server)
|
173
|
+
.post('/'+ savedProject._id + '/requests/req123-createSimpleWithAttributes/messages')
|
174
|
+
.auth(email, pwd)
|
175
|
+
.set('content-type', 'application/json')
|
176
|
+
.send({"text":"text","attributes": {"a":"b"}})
|
177
|
+
.end(function(err, res) {
|
178
|
+
//console.log("res", res);
|
179
|
+
console.log("res.body", res.body);
|
180
|
+
res.should.have.status(200);
|
181
|
+
res.body.should.be.a('object');
|
182
|
+
|
183
|
+
expect(res.body.sender).to.equal(savedUser._id.toString());
|
184
|
+
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
185
|
+
// expect(res.body.senderFullname).to.equal("senderFullname");
|
186
|
+
expect(res.body.recipient).to.equal("req123-createSimpleWithAttributes");
|
187
|
+
expect(res.body.text).to.equal("text");
|
188
|
+
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
189
|
+
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
190
|
+
expect(res.body.status).to.equal(0);
|
191
|
+
expect(res.body.attributes.a).to.equal("b");
|
192
|
+
|
193
|
+
expect(res.body.request.request_id).to.equal("req123-createSimpleWithAttributes");
|
194
|
+
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
195
|
+
// expect(res.body.request.requester_id).to.equal("sender");
|
196
|
+
expect(res.body.request.first_text).to.equal("text");
|
197
|
+
expect(res.body.request.id_project).to.equal(savedProject._id.toString());
|
198
|
+
expect(res.body.request.createdBy).to.equal(savedUser._id.toString());
|
199
|
+
|
200
|
+
// expect(res.body.request.messages_count).to.equal(1);
|
201
|
+
|
202
|
+
expect(res.body.request.status).to.equal(200);
|
203
|
+
expect(res.body.request.snapshot.agents.length).to.equal(1);
|
204
|
+
expect(res.body.request.participants.length).to.equal(1);
|
205
|
+
expect(res.body.request.department).to.not.equal(null);
|
206
|
+
expect(res.body.request.lead).to.not.equal(null);
|
207
|
+
|
208
|
+
expect(res.body.request.attributes.a).to.equal("b");
|
209
|
+
|
210
|
+
expect(res.body.channel_type).to.equal("group");
|
211
|
+
expect(res.body.channel.name).to.equal("chat21");
|
212
|
+
expect(res.body.request.channel.name).to.equal("chat21");
|
213
|
+
|
214
|
+
|
215
|
+
expect(res.body.request.location).to.equal(undefined);
|
216
|
+
|
217
|
+
|
218
|
+
done();
|
219
|
+
});
|
220
|
+
});
|
221
|
+
});
|
222
|
+
});
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
158
227
|
// mocha test/messageRoute.js --grep 'createWithSender'
|
159
228
|
|
160
229
|
it('createWithSender', function (done) {
|