@tiledesk/tiledesk-server 2.10.78 → 2.10.80
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 +6 -0
- package/package.json +2 -2
- package/routes/message.js +0 -1
- package/services/messageService.js +50 -9
- package/test/messageRoute.js +62 -49
- package/test/messageService.js +24 -0
package/CHANGELOG.md
CHANGED
@@ -5,6 +5,12 @@
|
|
5
5
|
🚀 IN PRODUCTION 🚀
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
7
7
|
|
8
|
+
# 2.10.80
|
9
|
+
- Updated tybot-connector to 2.0.9
|
10
|
+
|
11
|
+
# 2.10.79
|
12
|
+
- Updated tybot-connector to 2.0.8
|
13
|
+
|
8
14
|
# 2.10.78
|
9
15
|
- Updated vxml-connector to 0.1.76
|
10
16
|
- Updated vxml-connector listener
|
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.10.
|
4
|
+
"version": "2.10.80",
|
5
5
|
"scripts": {
|
6
6
|
"start": "node ./bin/www",
|
7
7
|
"pretest": "mongodb-runner start",
|
@@ -47,7 +47,7 @@
|
|
47
47
|
"@tiledesk/tiledesk-messenger-connector": "^0.1.23",
|
48
48
|
"@tiledesk/tiledesk-rasa-connector": "^1.0.10",
|
49
49
|
"@tiledesk/tiledesk-telegram-connector": "^0.1.14",
|
50
|
-
"@tiledesk/tiledesk-tybot-connector": "^2.0.
|
50
|
+
"@tiledesk/tiledesk-tybot-connector": "^2.0.9",
|
51
51
|
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.81",
|
52
52
|
"@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.12",
|
53
53
|
"@tiledesk/tiledesk-sms-connector": "^0.1.11",
|
package/routes/message.js
CHANGED
@@ -49,7 +49,6 @@ async (req, res) => {
|
|
49
49
|
winston.debug('req.params: ', req.params);
|
50
50
|
winston.debug('req.params.request_id: ' + req.params.request_id);
|
51
51
|
|
52
|
-
|
53
52
|
// const errors = validationResult(req);
|
54
53
|
// if (!errors.isEmpty()) {
|
55
54
|
// return res.status(422).json({ errors: errors.array() });
|
@@ -8,10 +8,12 @@ const messagePromiseEvent = require('../event/messagePromiseEvent');
|
|
8
8
|
var winston = require('../config/winston');
|
9
9
|
var cacheUtil = require("../utils/cacheUtil");
|
10
10
|
var cacheEnabler = require("../services/cacheEnabler");
|
11
|
+
const fileUtils = require("../utils/fileUtils");
|
12
|
+
const Integration = require("../models/integrations");
|
13
|
+
const aiService = require("./aiService");
|
11
14
|
|
12
15
|
class MessageService {
|
13
16
|
|
14
|
-
|
15
17
|
send(sender, senderFullname, recipient, text, id_project, createdBy, attributes, type, metadata, language) {
|
16
18
|
return this.create(sender, senderFullname, recipient, text, id_project, createdBy, MessageConstants.CHAT_MESSAGE_STATUS.SENDING, attributes, type, metadata, language);
|
17
19
|
}
|
@@ -92,7 +94,7 @@ class MessageService {
|
|
92
94
|
|
93
95
|
|
94
96
|
|
95
|
-
messagePromiseEvent.emit('message.create.simple.before', { beforeMessage: beforeMessage }).then(results => {
|
97
|
+
messagePromiseEvent.emit('message.create.simple.before', { beforeMessage: beforeMessage }).then(async (results) => {
|
96
98
|
winston.debug('message.create.simple.before results', results);
|
97
99
|
winston.debug('message.create.simple.before results prototype: ' + Object.prototype.toString.call(results));
|
98
100
|
|
@@ -109,6 +111,18 @@ class MessageService {
|
|
109
111
|
|
110
112
|
winston.debug('messageToCreate', messageToCreate);
|
111
113
|
|
114
|
+
if (messageToCreate.type === "file" &&
|
115
|
+
messageToCreate.metadata &&
|
116
|
+
messageToCreate.metadata.type.startsWith('audio/')) {
|
117
|
+
try {
|
118
|
+
let audio_transcription = await that.getAudioTranscription(id_project, messageToCreate.metadata.src);
|
119
|
+
if (audio_transcription) {
|
120
|
+
messageToCreate.text = audio_transcription;
|
121
|
+
}
|
122
|
+
} catch(err) {
|
123
|
+
winston.error("Error on getAudioTranscription: ", err);
|
124
|
+
}
|
125
|
+
}
|
112
126
|
|
113
127
|
// if (id_project) {
|
114
128
|
|
@@ -186,8 +200,6 @@ class MessageService {
|
|
186
200
|
|
187
201
|
};
|
188
202
|
|
189
|
-
|
190
|
-
|
191
203
|
emitMessage(message) {
|
192
204
|
if (message.status === MessageConstants.CHAT_MESSAGE_STATUS.RECEIVED) {
|
193
205
|
messageEvent.emit('message.received.simple', message);
|
@@ -231,8 +243,6 @@ class MessageService {
|
|
231
243
|
|
232
244
|
}
|
233
245
|
|
234
|
-
|
235
|
-
|
236
246
|
getTranscriptByRequestId(requestid, id_project) {
|
237
247
|
winston.debug("requestid", requestid);
|
238
248
|
winston.debug("id_project", id_project);
|
@@ -284,18 +294,49 @@ class MessageService {
|
|
284
294
|
});
|
285
295
|
}
|
286
296
|
|
297
|
+
getAudioTranscription(id_project, audio_url) {
|
298
|
+
return new Promise( async (resolve) => {
|
299
|
+
try {
|
287
300
|
|
301
|
+
if (process.env.NODE_ENV === 'test') {
|
302
|
+
resolve("This is a mock trancripted audio")
|
303
|
+
}
|
288
304
|
|
305
|
+
let file = await fileUtils.downloadFromUrl(audio_url);
|
306
|
+
let key;
|
307
|
+
let integration = await Integration.findOne({ id_project: id_project, name: 'openai' }).catch((err) => {
|
308
|
+
winston.error("Error finding integration for openai");
|
309
|
+
resolve(null);
|
289
310
|
|
311
|
+
})
|
290
312
|
|
313
|
+
if (!integration || !integration?.value?.apikey) {
|
314
|
+
winston.verbose("Integration for openai not found or apikey is undefined.")
|
315
|
+
key = process.env.GPTKEY;
|
316
|
+
} else {
|
317
|
+
key = integration.value.apikey;
|
318
|
+
}
|
291
319
|
|
320
|
+
if (!key) {
|
321
|
+
winston.verbose("No openai key provided");
|
322
|
+
resolve(null)
|
323
|
+
}
|
292
324
|
|
293
|
-
|
325
|
+
aiService.transcription(file, key).then((response) => {
|
326
|
+
resolve(response.data.text);
|
327
|
+
}).catch((err) => {
|
328
|
+
winston.error("Error getting audio transcription: ", err?.response?.data);
|
329
|
+
resolve(null)
|
330
|
+
})
|
331
|
+
} catch(err) {
|
332
|
+
winston.error("Error on audio transcription: ", err)
|
333
|
+
resolve(null);
|
334
|
+
}
|
335
|
+
})
|
336
|
+
}
|
294
337
|
|
295
338
|
}
|
296
339
|
|
297
340
|
|
298
341
|
var messageService = new MessageService();
|
299
|
-
|
300
|
-
|
301
342
|
module.exports = messageService;
|
package/test/messageRoute.js
CHANGED
@@ -39,9 +39,10 @@ describe('MessageRoute', () => {
|
|
39
39
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
40
40
|
|
41
41
|
var savedProject = savedProjectAndPU.project;
|
42
|
+
let request_id = "req_" + Date.now();
|
42
43
|
|
43
44
|
chai.request(server)
|
44
|
-
.post('/' + savedProject._id + '/requests/
|
45
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
45
46
|
.auth(email, pwd)
|
46
47
|
.set('content-type', 'application/json')
|
47
48
|
.send({ "text": "text" })
|
@@ -49,19 +50,19 @@ describe('MessageRoute', () => {
|
|
49
50
|
|
50
51
|
if (err) { console.error("err", err); }
|
51
52
|
if (log) { console.log("res.body", res.body); }
|
52
|
-
|
53
|
+
|
53
54
|
res.should.have.status(200);
|
54
55
|
res.body.should.be.a('object');
|
55
56
|
|
56
57
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
57
58
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
58
59
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
59
|
-
expect(res.body.recipient).to.equal(
|
60
|
+
expect(res.body.recipient).to.equal(request_id);
|
60
61
|
expect(res.body.text).to.equal("text");
|
61
62
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
62
63
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
63
64
|
expect(res.body.status).to.equal(0);
|
64
|
-
expect(res.body.request.request_id).to.equal(
|
65
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
65
66
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
66
67
|
// expect(res.body.request.requester_id).to.equal("sender");
|
67
68
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -94,9 +95,10 @@ describe('MessageRoute', () => {
|
|
94
95
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
95
96
|
|
96
97
|
var savedProject = savedProjectAndPU.project;
|
98
|
+
let request_id = "req_" + Date.now();
|
97
99
|
|
98
100
|
chai.request(server)
|
99
|
-
.post('/' + savedProject._id + '/requests/
|
101
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
100
102
|
.auth(email, pwd)
|
101
103
|
.set('content-type', 'application/json')
|
102
104
|
.send({ "text": "" })
|
@@ -123,9 +125,10 @@ describe('MessageRoute', () => {
|
|
123
125
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
124
126
|
|
125
127
|
var savedProject = savedProjectAndPU.project;
|
128
|
+
let request_id = "req_" + Date.now();
|
126
129
|
|
127
130
|
chai.request(server)
|
128
|
-
.post('/' + savedProject._id + '/requests/
|
131
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
129
132
|
.auth(email, pwd)
|
130
133
|
.set('content-type', 'application/json')
|
131
134
|
.send({})
|
@@ -152,9 +155,10 @@ describe('MessageRoute', () => {
|
|
152
155
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
153
156
|
|
154
157
|
var savedProject = savedProjectAndPU.project;
|
158
|
+
let request_id = "req-createSimpleWithAttributes-" + Date.now();
|
155
159
|
|
156
160
|
chai.request(server)
|
157
|
-
.post('/' + savedProject._id + '/requests/
|
161
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
158
162
|
.auth(email, pwd)
|
159
163
|
.set('content-type', 'application/json')
|
160
164
|
.send({ "text": "text", "attributes": { "a": "b" } })
|
@@ -168,13 +172,13 @@ describe('MessageRoute', () => {
|
|
168
172
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
169
173
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
170
174
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
171
|
-
expect(res.body.recipient).to.equal(
|
175
|
+
expect(res.body.recipient).to.equal(request_id);
|
172
176
|
expect(res.body.text).to.equal("text");
|
173
177
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
174
178
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
175
179
|
expect(res.body.status).to.equal(0);
|
176
180
|
expect(res.body.attributes.a).to.equal("b");
|
177
|
-
expect(res.body.request.request_id).to.equal(
|
181
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
178
182
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
179
183
|
// expect(res.body.request.requester_id).to.equal("sender");
|
180
184
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -226,8 +230,10 @@ describe('MessageRoute', () => {
|
|
226
230
|
});
|
227
231
|
pu2.save(function (err, savedProject_user2) {
|
228
232
|
|
233
|
+
let request_id = "req-createwithsender-" + Date.now();
|
234
|
+
|
229
235
|
chai.request(server)
|
230
|
-
.post('/' + savedProject._id + '/requests/
|
236
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
231
237
|
.auth(email, pwd)
|
232
238
|
.set('content-type', 'application/json')
|
233
239
|
.send({ "text": "text", "sender": savedUser2._id.toString() })
|
@@ -241,12 +247,12 @@ describe('MessageRoute', () => {
|
|
241
247
|
expect(res.body.sender).to.equal(savedUser2._id.toString());
|
242
248
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
243
249
|
expect(res.body.senderFullname).to.equal("Test Firstname22 Test lastname22");
|
244
|
-
expect(res.body.recipient).to.equal(
|
250
|
+
expect(res.body.recipient).to.equal(request_id);
|
245
251
|
expect(res.body.text).to.equal("text");
|
246
252
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
247
253
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
248
254
|
expect(res.body.status).to.equal(0);
|
249
|
-
expect(res.body.request.request_id).to.equal(
|
255
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
250
256
|
expect(res.body.request.requester._id).to.equal(savedProject_user2._id.toString());
|
251
257
|
expect(res.body.request.requester.id_user.email).to.equal(email2);
|
252
258
|
expect(res.body.request.requester.id_user.firstname).to.equal("Test Firstname22");
|
@@ -362,9 +368,10 @@ describe('MessageRoute', () => {
|
|
362
368
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
363
369
|
|
364
370
|
var savedProject = savedProjectAndPU.project;
|
371
|
+
let request_id = "req-createWithLocation-" + Date.now();
|
365
372
|
|
366
373
|
chai.request(server)
|
367
|
-
.post('/' + savedProject._id + '/requests/
|
374
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
368
375
|
.auth(email, pwd)
|
369
376
|
.set('content-type', 'application/json')
|
370
377
|
.send({ text: "text", location: { country: "Italy", streetAddress: "Via Roma, 767b", ipAddress: "192.168.1.1", geometry: { type: "Point", coordinates: [-109, 41] } } })
|
@@ -372,17 +379,17 @@ describe('MessageRoute', () => {
|
|
372
379
|
|
373
380
|
if (err) { console.error("err", err); }
|
374
381
|
if (log) { console.log("res.body", res.body); }
|
375
|
-
|
382
|
+
|
376
383
|
res.should.have.status(200);
|
377
384
|
res.body.should.be.a('object');
|
378
385
|
|
379
386
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
380
387
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
381
388
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
382
|
-
expect(res.body.recipient).to.equal(
|
389
|
+
expect(res.body.recipient).to.equal(request_id);
|
383
390
|
expect(res.body.text).to.equal("text");
|
384
391
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
385
|
-
expect(res.body.request.request_id).to.equal(
|
392
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
386
393
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
387
394
|
// expect(res.body.request.requester_id).to.equal("sender");
|
388
395
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -410,9 +417,10 @@ describe('MessageRoute', () => {
|
|
410
417
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
411
418
|
|
412
419
|
var savedProject = savedProjectAndPU.project;
|
420
|
+
let request_id = "req-createWithLocationAsAttributes-" + Date.now();
|
413
421
|
|
414
422
|
chai.request(server)
|
415
|
-
.post('/' + savedProject._id + '/requests/
|
423
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
416
424
|
.auth(email, pwd)
|
417
425
|
.set('content-type', 'application/json')
|
418
426
|
.send({ text: "text", attributes: { ipAddress: "95.255.73.34" } })
|
@@ -427,17 +435,17 @@ describe('MessageRoute', () => {
|
|
427
435
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
428
436
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
429
437
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
430
|
-
expect(res.body.recipient).to.equal(
|
438
|
+
expect(res.body.recipient).to.equal(request_id);
|
431
439
|
expect(res.body.text).to.equal("text");
|
432
440
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
433
|
-
expect(res.body.request.request_id).to.equal(
|
441
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
434
442
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
435
443
|
// expect(res.body.request.requester_id).to.equal("sender");
|
436
444
|
expect(res.body.request.first_text).to.equal("text");
|
437
445
|
expect(res.body.request.id_project).to.equal(savedProject._id.toString());
|
438
446
|
|
439
447
|
chai.request(server)
|
440
|
-
.get('/' + savedProject._id + '/requests/
|
448
|
+
.get('/' + savedProject._id + '/requests/' + request_id)
|
441
449
|
.auth(email, pwd)
|
442
450
|
.set('content-type', 'application/json')
|
443
451
|
.send()
|
@@ -448,7 +456,7 @@ describe('MessageRoute', () => {
|
|
448
456
|
|
449
457
|
res.should.have.status(200);
|
450
458
|
res.body.should.be.a('object');
|
451
|
-
expect(res.body.request_id).to.equal(
|
459
|
+
expect(res.body.request_id).to.equal(request_id);
|
452
460
|
expect(res.body.location.country).to.equal("IT");
|
453
461
|
expect(res.body.location.ipAddress).to.equal("95.255.73.34");
|
454
462
|
expect(res.body.location.geometry.type).to.equal("Point");
|
@@ -471,9 +479,10 @@ describe('MessageRoute', () => {
|
|
471
479
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
472
480
|
|
473
481
|
var savedProject = savedProjectAndPU.project;
|
482
|
+
let request_id = "req-channel1-" + Date.now();
|
474
483
|
|
475
484
|
chai.request(server)
|
476
|
-
.post('/' + savedProject._id + '/requests/
|
485
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
477
486
|
.auth(email, pwd)
|
478
487
|
.set('content-type', 'application/json')
|
479
488
|
.send({ text: "text", channel: { name: "channel1" } })
|
@@ -487,12 +496,12 @@ describe('MessageRoute', () => {
|
|
487
496
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
488
497
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
489
498
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
490
|
-
expect(res.body.recipient).to.equal(
|
499
|
+
expect(res.body.recipient).to.equal(request_id);
|
491
500
|
expect(res.body.text).to.equal("text");
|
492
501
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
493
502
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
494
503
|
expect(res.body.status).to.equal(0);
|
495
|
-
expect(res.body.request.request_id).to.equal(
|
504
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
496
505
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
497
506
|
// expect(res.body.request.requester_id).to.equal("sender");
|
498
507
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -525,9 +534,9 @@ describe('MessageRoute', () => {
|
|
525
534
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
526
535
|
|
527
536
|
var savedProject = savedProjectAndPU.project;
|
528
|
-
|
537
|
+
let request_id = "req_createWithMessageStatus-" + Date.now();
|
529
538
|
chai.request(server)
|
530
|
-
.post('/' + savedProject._id + '/requests/
|
539
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
531
540
|
.auth(email, pwd)
|
532
541
|
.set('content-type', 'application/json')
|
533
542
|
.send({ "text": "text", "status": 999 })
|
@@ -541,12 +550,12 @@ describe('MessageRoute', () => {
|
|
541
550
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
542
551
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
543
552
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
544
|
-
expect(res.body.recipient).to.equal(
|
553
|
+
expect(res.body.recipient).to.equal(request_id);
|
545
554
|
expect(res.body.text).to.equal("text");
|
546
555
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
547
556
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
548
557
|
expect(res.body.status).to.equal(999);
|
549
|
-
expect(res.body.request.request_id).to.equal(
|
558
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
550
559
|
if (log) { console.log("res.body.request.requester", JSON.stringify(res.body.request.requester)); }
|
551
560
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
552
561
|
// expect(res.body.request.requester_id).to.equal("sender");
|
@@ -580,9 +589,9 @@ describe('MessageRoute', () => {
|
|
580
589
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
581
590
|
|
582
591
|
var savedProject = savedProjectAndPU.project;
|
583
|
-
|
592
|
+
let request_id = "req_createWithParticipants-" + Date.now();
|
584
593
|
chai.request(server)
|
585
|
-
.post('/' + savedProject._id + '/requests/
|
594
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
586
595
|
.auth(email, pwd)
|
587
596
|
.set('content-type', 'application/json')
|
588
597
|
.send({ "text": "text", "participants": [savedUser._id] })
|
@@ -596,12 +605,12 @@ describe('MessageRoute', () => {
|
|
596
605
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
597
606
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
598
607
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
599
|
-
expect(res.body.recipient).to.equal(
|
608
|
+
expect(res.body.recipient).to.equal(request_id);
|
600
609
|
expect(res.body.text).to.equal("text");
|
601
610
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
602
611
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
603
612
|
expect(res.body.status).to.equal(0);
|
604
|
-
expect(res.body.request.request_id).to.equal(
|
613
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
605
614
|
// expect(res.body.request.requester).to.equal(savedProjectAndPU.project_user._id.toString());
|
606
615
|
// expect(res.body.request.requester_id).to.equal("sender");
|
607
616
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -694,9 +703,9 @@ describe('MessageRoute', () => {
|
|
694
703
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
695
704
|
|
696
705
|
var savedProject = savedProjectAndPU.project;
|
697
|
-
|
706
|
+
let request_id = "req_createSimpleWithFollowers-" + Date.now();
|
698
707
|
chai.request(server)
|
699
|
-
.post('/' + savedProject._id + '/requests/
|
708
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
700
709
|
.auth(email, pwd)
|
701
710
|
.set('content-type', 'application/json')
|
702
711
|
.send({ "text": "text", "followers": [savedProjectAndPU.project_user._id.toString()] })
|
@@ -710,12 +719,12 @@ describe('MessageRoute', () => {
|
|
710
719
|
expect(res.body.sender).to.equal(savedUser._id.toString());
|
711
720
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
712
721
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
713
|
-
expect(res.body.recipient).to.equal(
|
722
|
+
expect(res.body.recipient).to.equal(request_id);
|
714
723
|
expect(res.body.text).to.equal("text");
|
715
724
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
716
725
|
expect(res.body.createdBy).to.equal(savedUser._id.toString());
|
717
726
|
expect(res.body.status).to.equal(0);
|
718
|
-
expect(res.body.request.request_id).to.equal(
|
727
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
719
728
|
expect(res.body.request.requester._id).to.equal(savedProjectAndPU.project_user._id.toString());
|
720
729
|
// expect(res.body.request.requester_id).to.equal("sender");
|
721
730
|
expect(res.body.request.first_text).to.equal("text");
|
@@ -1069,16 +1078,16 @@ describe('MessageRoute', () => {
|
|
1069
1078
|
// projectService.create("message-create", savedUser._id).then(function(savedProject) {
|
1070
1079
|
projectService.createAndReturnProjectAndProjectUser("message-create", savedUser._id).then(function (savedProjectAndPU) {
|
1071
1080
|
var savedProject = savedProjectAndPU.project;
|
1072
|
-
|
1073
1081
|
leadService.createIfNotExists("leadfullname-message-getall", "andrea.leo@-subscription-message-getall.it", savedProject._id).then(function (createdLead) {
|
1074
1082
|
// requestService.createWithId("request_id-message-getall", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
|
1075
|
-
|
1083
|
+
let request_id = "req_message-getall-" + Date.now();
|
1084
|
+
requestService.createWithIdAndRequester(request_id, savedProjectAndPU.project_user._id, null, savedProject._id, "first_text").then(function (savedRequest) {
|
1076
1085
|
messageService.create(savedUser._id, "senderFullname", savedRequest.request_id, "hello",
|
1077
1086
|
savedProject._id, savedUser._id).then(function (savedMessage) {
|
1078
1087
|
expect(savedMessage.text).to.equal("hello");
|
1079
1088
|
|
1080
1089
|
chai.request(server)
|
1081
|
-
.get('/' + savedProject._id + '/requests/request_id
|
1090
|
+
.get('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
1082
1091
|
.auth(email, pwd)
|
1083
1092
|
.set('content-type', 'application/json')
|
1084
1093
|
.end(function (err, res) {
|
@@ -1089,7 +1098,7 @@ describe('MessageRoute', () => {
|
|
1089
1098
|
|
1090
1099
|
expect(res.body[0].sender).to.equal(savedUser._id.toString());
|
1091
1100
|
expect(res.body[0].senderFullname).to.equal("senderFullname");
|
1092
|
-
expect(res.body[0].recipient).to.equal(
|
1101
|
+
expect(res.body[0].recipient).to.equal(request_id);
|
1093
1102
|
expect(res.body[0].text).to.equal("hello");
|
1094
1103
|
expect(res.body[0].id_project).to.equal(savedProject._id.toString());
|
1095
1104
|
expect(res.body[0].createdBy).to.equal(savedUser._id.toString());
|
@@ -1171,8 +1180,9 @@ describe('MessageRoute', () => {
|
|
1171
1180
|
expect(res.body.token).to.not.equal(undefined);
|
1172
1181
|
expect(res.body.token).to.equal('JWT ' + jwtToken);
|
1173
1182
|
|
1183
|
+
let request_id = "req_customtoken-" + Date.now();
|
1174
1184
|
chai.request(server)
|
1175
|
-
.post('/' + savedProject._id + '/requests/
|
1185
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
1176
1186
|
.set('Authorization', 'JWT ' + jwtToken)
|
1177
1187
|
.set('content-type', 'application/json')
|
1178
1188
|
.send({ "text": "text" })
|
@@ -1185,12 +1195,12 @@ describe('MessageRoute', () => {
|
|
1185
1195
|
expect(res.body.sender).to.equal(externalUserId);
|
1186
1196
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
1187
1197
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
1188
|
-
expect(res.body.recipient).to.equal(
|
1198
|
+
expect(res.body.recipient).to.equal(request_id);
|
1189
1199
|
expect(res.body.text).to.equal("text");
|
1190
1200
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
1191
1201
|
expect(res.body.createdBy).to.equal(externalUserId);
|
1192
1202
|
expect(res.body.status).to.equal(0);
|
1193
|
-
expect(res.body.request.request_id).to.equal(
|
1203
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
1194
1204
|
expect(res.body.request.first_text).to.equal("text");
|
1195
1205
|
expect(res.body.request.id_project).to.equal(savedProject._id.toString());
|
1196
1206
|
expect(res.body.request.createdBy).to.equal(externalUserId);
|
@@ -1202,7 +1212,7 @@ describe('MessageRoute', () => {
|
|
1202
1212
|
expect(res.body.request.lead).to.not.equal(null);
|
1203
1213
|
|
1204
1214
|
chai.request(server)
|
1205
|
-
.get('/' + savedProject._id + '/requests/
|
1215
|
+
.get('/' + savedProject._id + '/requests/' + request_id)
|
1206
1216
|
.auth(email, pwd)
|
1207
1217
|
.set('content-type', 'application/json')
|
1208
1218
|
.end(function (err, res) {
|
@@ -1281,8 +1291,9 @@ describe('MessageRoute', () => {
|
|
1281
1291
|
expect(res.body.token).to.not.equal(undefined);
|
1282
1292
|
expect(res.body.token).to.equal('JWT ' + jwtToken);
|
1283
1293
|
|
1294
|
+
let request_id = "req_customtokenmodified-" + Date.now();
|
1284
1295
|
chai.request(server)
|
1285
|
-
.post('/' + savedProject._id + '/requests/
|
1296
|
+
.post('/' + savedProject._id + '/requests/' + request_id + '/messages')
|
1286
1297
|
.set('Authorization', 'JWT ' + jwtToken)
|
1287
1298
|
.set('content-type', 'application/json')
|
1288
1299
|
.send({ "text": "text" })
|
@@ -1295,12 +1306,12 @@ describe('MessageRoute', () => {
|
|
1295
1306
|
expect(res.body.sender).to.equal(externalUserId);
|
1296
1307
|
// expect(res.body.sender).to.equal(savedProjectAndPU.project_user._id.toString());
|
1297
1308
|
// expect(res.body.senderFullname).to.equal("senderFullname");
|
1298
|
-
expect(res.body.recipient).to.equal(
|
1309
|
+
expect(res.body.recipient).to.equal(request_id);
|
1299
1310
|
expect(res.body.text).to.equal("text");
|
1300
1311
|
expect(res.body.id_project).to.equal(savedProject._id.toString());
|
1301
1312
|
expect(res.body.createdBy).to.equal(externalUserId);
|
1302
1313
|
expect(res.body.status).to.equal(0);
|
1303
|
-
expect(res.body.request.request_id).to.equal(
|
1314
|
+
expect(res.body.request.request_id).to.equal(request_id);
|
1304
1315
|
expect(res.body.request.first_text).to.equal("text");
|
1305
1316
|
expect(res.body.request.id_project).to.equal(savedProject._id.toString());
|
1306
1317
|
expect(res.body.request.createdBy).to.equal(externalUserId);
|
@@ -1313,7 +1324,7 @@ describe('MessageRoute', () => {
|
|
1313
1324
|
expect(res.body.request.lead.email).to.equal("email2@email.com");
|
1314
1325
|
|
1315
1326
|
chai.request(server)
|
1316
|
-
.get('/' + savedProject._id + '/requests/
|
1327
|
+
.get('/' + savedProject._id + '/requests/' + request_id)
|
1317
1328
|
.auth(email, pwd)
|
1318
1329
|
.set('content-type', 'application/json')
|
1319
1330
|
.end(function (err, res) {
|
@@ -1345,8 +1356,10 @@ describe('MessageRoute', () => {
|
|
1345
1356
|
expect(res.body.user.email).to.equal("email33@email.com");
|
1346
1357
|
expect(res.body.user.firstname).to.equal("andrea");
|
1347
1358
|
|
1359
|
+
let request2_id = "req_customtokenmodified2-" + Date.now();
|
1360
|
+
|
1348
1361
|
chai.request(server)
|
1349
|
-
.post('/' + savedProject._id + '/requests/
|
1362
|
+
.post('/' + savedProject._id + '/requests/' + request2_id + '/messages')
|
1350
1363
|
.set('Authorization', 'JWT ' + jwtToken)
|
1351
1364
|
.set('content-type', 'application/json')
|
1352
1365
|
.send({ "text": "text" })
|
package/test/messageService.js
CHANGED
@@ -119,6 +119,30 @@ describe('messageService', function () {
|
|
119
119
|
});
|
120
120
|
});
|
121
121
|
|
122
|
+
it('createMessageAndFillTextWithTranslation', function (done) {
|
123
|
+
// this.timeout(10000);
|
124
|
+
|
125
|
+
projectService.create("test1", userid).then(function (savedProject) {
|
126
|
+
// create(sender, senderFullname, recipient, text, id_project, createdBy, status, attributes, type, metadata, language) {
|
127
|
+
|
128
|
+
let quoteManager = new QuoteManager({ project: savedProject, tdCache: tdCache })
|
129
|
+
quoteManager.start();
|
130
|
+
|
131
|
+
messageService.create(userid, "test sender", "testrecipient-createMessage", "",
|
132
|
+
savedProject._id, userid, undefined, { a1: "a1" }, "file", { name: "filename", type: "audio/mpeg", src: "filenameurl.com"}, "it").then(function (savedMessage) {
|
133
|
+
winston.debug("resolve savedMessage", savedMessage.toObject());
|
134
|
+
|
135
|
+
expect(savedMessage.text).to.equal("This is a mock trancripted audio");
|
136
|
+
done();
|
137
|
+
|
138
|
+
}).catch(function (err) {
|
139
|
+
assert.isNotOk(err, 'Promise error');
|
140
|
+
done();
|
141
|
+
});
|
142
|
+
|
143
|
+
});
|
144
|
+
});
|
145
|
+
|
122
146
|
|
123
147
|
|
124
148
|
|