@tiledesk/tiledesk-server 2.10.13 → 2.10.15
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 +7 -0
- package/package.json +1 -1
- package/routes/request.js +37 -38
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
🚀 IN PRODUCTION 🚀
|
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
|
7
7
|
|
|
8
|
+
# 2.10.15
|
|
9
|
+
- Readded event on fully_abandoned request
|
|
10
|
+
|
|
11
|
+
# 2.10.14
|
|
12
|
+
- Updated tybot-connector to 0.2.127
|
|
13
|
+
- Restored request.js file
|
|
14
|
+
|
|
8
15
|
# 2.10.13
|
|
9
16
|
- Updated tybot-connector to 0.2.127
|
|
10
17
|
- Added event on request fully abandoned
|
package/package.json
CHANGED
package/routes/request.js
CHANGED
|
@@ -183,7 +183,7 @@ router.post('/',
|
|
|
183
183
|
|
|
184
184
|
winston.debug('res.json(savedRequest)');
|
|
185
185
|
var endTimestamp = new Date();
|
|
186
|
-
winston.verbose("
|
|
186
|
+
winston.verbose("request create end: " + (endTimestamp - startTimestamp));
|
|
187
187
|
return res.json(savedRequest);
|
|
188
188
|
// });
|
|
189
189
|
// });
|
|
@@ -274,7 +274,7 @@ router.patch('/:requestid', function (req, res) {
|
|
|
274
274
|
|
|
275
275
|
|
|
276
276
|
|
|
277
|
-
winston.verbose("
|
|
277
|
+
winston.verbose("Request patch update", update);
|
|
278
278
|
|
|
279
279
|
//cacheinvalidation
|
|
280
280
|
return Request.findOneAndUpdate({ "request_id": req.params.requestid, "id_project": req.projectid }, { $set: update }, { new: true, upsert: false })
|
|
@@ -327,18 +327,18 @@ router.put('/:requestid/close', async function (req, res) {
|
|
|
327
327
|
})
|
|
328
328
|
|
|
329
329
|
if (!request) {
|
|
330
|
-
winston.verbose("
|
|
330
|
+
winston.verbose("Request with request_id " + request_id)
|
|
331
331
|
return res.status(404).send({ success: false, error: "Request not found"})
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
if (!request.participantsAgents.includes(req.user.id)) {
|
|
335
|
-
winston.verbose("
|
|
335
|
+
winston.verbose("Request can't be closed by a non participant. Attempt made by " + req.user.id);
|
|
336
336
|
return res.status(403).send({ success: false, error: "You must be among the participants to close a conversation."})
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
return requestService.closeRequestByRequestId(req.params.requestid, req.projectid, false, true, closed_by, req.body.force).then(function (closedRequest) {
|
|
341
|
-
winston.verbose("
|
|
341
|
+
winston.verbose("request closed", closedRequest);
|
|
342
342
|
return res.json(closedRequest);
|
|
343
343
|
});
|
|
344
344
|
|
|
@@ -350,7 +350,7 @@ router.put('/:requestid/reopen', function (req, res) {
|
|
|
350
350
|
// reopenRequestByRequestId(request_id, id_project) {
|
|
351
351
|
return requestService.reopenRequestByRequestId(req.params.requestid, req.projectid).then(function (reopenRequest) {
|
|
352
352
|
|
|
353
|
-
winston.verbose("
|
|
353
|
+
winston.verbose("request reopen", reopenRequest);
|
|
354
354
|
|
|
355
355
|
return res.json(reopenRequest);
|
|
356
356
|
});
|
|
@@ -381,7 +381,7 @@ router.post('/:requestid/participants',
|
|
|
381
381
|
//addParticipantByRequestId(request_id, id_project, member)
|
|
382
382
|
return requestService.addParticipantByRequestId(req.params.requestid, req.projectid, req.body.member).then(function (updatedRequest) {
|
|
383
383
|
|
|
384
|
-
winston.verbose("
|
|
384
|
+
winston.verbose("participant added", updatedRequest);
|
|
385
385
|
|
|
386
386
|
return res.json(updatedRequest);
|
|
387
387
|
});
|
|
@@ -421,7 +421,7 @@ router.delete('/:requestid/participants/:participantid', function (req, res) {
|
|
|
421
421
|
//removeParticipantByRequestId(request_id, id_project, member)
|
|
422
422
|
return requestService.removeParticipantByRequestId(req.params.requestid, req.projectid, req.params.participantid).then(function (updatedRequest) {
|
|
423
423
|
|
|
424
|
-
winston.verbose("
|
|
424
|
+
winston.verbose("participant removed", updatedRequest);
|
|
425
425
|
|
|
426
426
|
return res.json(updatedRequest);
|
|
427
427
|
});
|
|
@@ -452,16 +452,15 @@ router.delete('/:requestid/participants/:participantid', function (req, res) {
|
|
|
452
452
|
router.put('/:requestid/assign', function (req, res) {
|
|
453
453
|
winston.debug(req.body);
|
|
454
454
|
|
|
455
|
-
let id_project = req.projectid;
|
|
456
455
|
let user = req.user;
|
|
457
456
|
let pu;
|
|
458
457
|
if (req.projectuser) {
|
|
459
|
-
pu = req.projectuser.
|
|
458
|
+
pu = req.projectuser._id
|
|
460
459
|
}
|
|
461
|
-
|
|
462
460
|
// leggi la request se già assegnata o già chiusa (1000) esci
|
|
463
|
-
|
|
464
|
-
|
|
461
|
+
|
|
462
|
+
//cacheinvalidation
|
|
463
|
+
return Request.findOne({ "request_id": req.params.requestid, "id_project": req.projectid })
|
|
465
464
|
.exec(function (err, request) {
|
|
466
465
|
|
|
467
466
|
if (err) {
|
|
@@ -474,16 +473,16 @@ router.put('/:requestid/assign', function (req, res) {
|
|
|
474
473
|
}
|
|
475
474
|
|
|
476
475
|
if (request.status === RequestConstants.ASSIGNED || request.status === RequestConstants.SERVED || request.status === RequestConstants.CLOSED) {
|
|
477
|
-
winston.
|
|
476
|
+
winston.info('Request already assigned');
|
|
478
477
|
return res.json(request);
|
|
479
478
|
}
|
|
480
479
|
//route(request_id, departmentid, id_project) {
|
|
481
|
-
requestService.route(req.params.requestid, req.body.departmentid,
|
|
480
|
+
requestService.route(req.params.requestid, req.body.departmentid, req.projectid, req.body.nobot, req.body.no_populate).then(function (updatedRequest) {
|
|
481
|
+
|
|
482
|
+
winston.debug("department changed", updatedRequest);
|
|
482
483
|
|
|
483
|
-
winston.debug("request routed ", updatedRequest);
|
|
484
|
-
|
|
485
484
|
if (updatedRequest.status === RequestConstants.ABANDONED) {
|
|
486
|
-
eventService.emit('request.fully_abandoned', updatedRequest,
|
|
485
|
+
eventService.emit('request.fully_abandoned', updatedRequest, req.projectid, pu, user._id, undefined, user)
|
|
487
486
|
}
|
|
488
487
|
|
|
489
488
|
return res.json(updatedRequest);
|
|
@@ -635,7 +634,7 @@ router.patch('/:requestid/attributes', function (req, res) {
|
|
|
635
634
|
winston.error("error saving request attributes", err)
|
|
636
635
|
return res.status(500).send({ success: false, msg: 'Error getting object.' });
|
|
637
636
|
}
|
|
638
|
-
winston.verbose("
|
|
637
|
+
winston.verbose(" saved request attributes", savedRequest.toObject())
|
|
639
638
|
requestEvent.emit("request.update", savedRequest);
|
|
640
639
|
requestEvent.emit("request.update.comment", { comment: "ATTRIBUTES_PATCH", request: savedRequest });//Deprecated
|
|
641
640
|
requestEvent.emit("request.updated", { comment: "ATTRIBUTES_PATCH", request: savedRequest, patch: { attributes: data } });
|
|
@@ -668,7 +667,7 @@ router.post('/:requestid/notes', async function (req, res) {
|
|
|
668
667
|
|
|
669
668
|
// Check if the user is a participant
|
|
670
669
|
if (!request.participantsAgents.includes(req.user.id)) {
|
|
671
|
-
winston.verbose("
|
|
670
|
+
winston.verbose("Trying to add a note from a non participating agent");
|
|
672
671
|
return res.status(403).send({ success: false, error: "You are not participating in the conversation"})
|
|
673
672
|
}
|
|
674
673
|
}
|
|
@@ -714,7 +713,7 @@ router.delete('/:requestid/notes/:noteid', async function (req, res) {
|
|
|
714
713
|
|
|
715
714
|
// Check if the user is a participant
|
|
716
715
|
if (!request.participantsAgents.includes(req.user.id)) {
|
|
717
|
-
winston.verbose("
|
|
716
|
+
winston.verbose("Trying to delete a note from a non participating agent");
|
|
718
717
|
return res.status(403).send({ success: false, error: "You are not participating in the conversation"})
|
|
719
718
|
}
|
|
720
719
|
}
|
|
@@ -784,7 +783,7 @@ router.post('/:requestid/email/send',
|
|
|
784
783
|
}
|
|
785
784
|
|
|
786
785
|
let newto = request.lead.email
|
|
787
|
-
winston.verbose("
|
|
786
|
+
winston.verbose("Sending an email newto " + newto);
|
|
788
787
|
|
|
789
788
|
//sendEmailDirect(to, text, project, request_id, subject, tokenQueryString, sourcePage, payload)
|
|
790
789
|
emailService.sendEmailDirect(newto, text, req.project, request_id, subject, undefined, undefined, undefined, replyto);
|
|
@@ -807,7 +806,7 @@ router.post('/:requestid/followers',
|
|
|
807
806
|
check('member').notEmpty(),
|
|
808
807
|
],
|
|
809
808
|
function (req, res) {
|
|
810
|
-
winston.
|
|
809
|
+
winston.info("followers add", req.body);
|
|
811
810
|
|
|
812
811
|
const errors = validationResult(req);
|
|
813
812
|
if (!errors.isEmpty()) {
|
|
@@ -817,7 +816,7 @@ router.post('/:requestid/followers',
|
|
|
817
816
|
//addParticipantByRequestId(request_id, id_project, member)
|
|
818
817
|
return requestService.addFollowerByRequestId(req.params.requestid, req.projectid, req.body.member).then(function (updatedRequest) {
|
|
819
818
|
|
|
820
|
-
winston.verbose("
|
|
819
|
+
winston.verbose("participant added", updatedRequest);
|
|
821
820
|
|
|
822
821
|
return res.json(updatedRequest);
|
|
823
822
|
});
|
|
@@ -850,7 +849,7 @@ router.delete('/:requestid/followers/:followerid', function (req, res) {
|
|
|
850
849
|
//removeFollowerByRequestId(request_id, id_project, member)
|
|
851
850
|
return requestService.removeFollowerByRequestId(req.params.requestid, req.projectid, req.params.followerid).then(function (updatedRequest) {
|
|
852
851
|
|
|
853
|
-
winston.verbose("
|
|
852
|
+
winston.verbose("follower removed", updatedRequest);
|
|
854
853
|
|
|
855
854
|
return res.json(updatedRequest);
|
|
856
855
|
});
|
|
@@ -877,7 +876,7 @@ router.delete('/:requestid', function (req, res) {
|
|
|
877
876
|
if (err) {
|
|
878
877
|
return res.status(500).send({ success: false, msg: 'Error deleting messages.' });
|
|
879
878
|
}
|
|
880
|
-
winston.verbose('
|
|
879
|
+
winston.verbose('Messages deleted for the recipient: ' + req.params.requestid);
|
|
881
880
|
});
|
|
882
881
|
|
|
883
882
|
|
|
@@ -891,7 +890,7 @@ router.delete('/:requestid', function (req, res) {
|
|
|
891
890
|
return res.status(404).send({ success: false, msg: 'Object not found.' });
|
|
892
891
|
}
|
|
893
892
|
|
|
894
|
-
winston.verbose('
|
|
893
|
+
winston.verbose('Request deleted with request_id: ' + req.params.requestid);
|
|
895
894
|
|
|
896
895
|
requestEvent.emit('request.delete', request);
|
|
897
896
|
|
|
@@ -939,7 +938,7 @@ router.delete('/id/:id', function (req, res) {
|
|
|
939
938
|
return res.status(404).send({ success: false, msg: 'Object not found.' });
|
|
940
939
|
}
|
|
941
940
|
|
|
942
|
-
winston.verbose('
|
|
941
|
+
winston.verbose('Request deleted with id: ' + req.params.id);
|
|
943
942
|
|
|
944
943
|
requestEvent.emit('request.delete', request);
|
|
945
944
|
|
|
@@ -1212,7 +1211,7 @@ router.get('/', function (req, res, next) {
|
|
|
1212
1211
|
} else if (req.query.duration_op === 'lt') {
|
|
1213
1212
|
query.duration = { $lte: duration }
|
|
1214
1213
|
} else {
|
|
1215
|
-
winston.verbose("
|
|
1214
|
+
winston.verbose("Duration operator can be 'gt' or 'lt'. Skip duration_op " + req.query.duration_op)
|
|
1216
1215
|
}
|
|
1217
1216
|
}
|
|
1218
1217
|
|
|
@@ -1228,12 +1227,12 @@ router.get('/', function (req, res, next) {
|
|
|
1228
1227
|
|
|
1229
1228
|
if (req.query.full_text) {
|
|
1230
1229
|
if (req.query.no_textscore != "true" && req.query.no_textscore != true) {
|
|
1231
|
-
winston.verbose('
|
|
1230
|
+
winston.verbose('fulltext projection on');
|
|
1232
1231
|
projection = { score: { $meta: "textScore" } };
|
|
1233
1232
|
}
|
|
1234
1233
|
}
|
|
1235
1234
|
|
|
1236
|
-
winston.verbose('
|
|
1235
|
+
winston.verbose('REQUEST ROUTE - REQUEST FIND QUERY ', query);
|
|
1237
1236
|
|
|
1238
1237
|
var q1 = Request.find(query, projection).
|
|
1239
1238
|
skip(skip).limit(limit);
|
|
@@ -1262,7 +1261,7 @@ router.get('/', function (req, res, next) {
|
|
|
1262
1261
|
var q2 = Request.countDocuments(query).exec();
|
|
1263
1262
|
|
|
1264
1263
|
if (req.query.no_count && req.query.no_count == "true") {
|
|
1265
|
-
winston.
|
|
1264
|
+
winston.info('REQUEST ROUTE - no_count ');
|
|
1266
1265
|
q2 = 0;
|
|
1267
1266
|
}
|
|
1268
1267
|
|
|
@@ -1274,16 +1273,16 @@ router.get('/', function (req, res, next) {
|
|
|
1274
1273
|
count: results[1],
|
|
1275
1274
|
requests: results[0]
|
|
1276
1275
|
};
|
|
1277
|
-
winston.debug('
|
|
1278
|
-
winston.debug('
|
|
1276
|
+
winston.debug('REQUEST ROUTE - objectToReturn ');
|
|
1277
|
+
winston.debug('REQUEST ROUTE - objectToReturn ', objectToReturn);
|
|
1279
1278
|
|
|
1280
1279
|
const endExecTime = new Date();
|
|
1281
|
-
winston.verbose('
|
|
1280
|
+
winston.verbose('REQUEST ROUTE - exec time: ' + (endExecTime - startExecTime));
|
|
1282
1281
|
|
|
1283
1282
|
return res.json(objectToReturn);
|
|
1284
1283
|
|
|
1285
1284
|
}).catch(function (err) {
|
|
1286
|
-
winston.error('
|
|
1285
|
+
winston.error('REQUEST ROUTE - REQUEST FIND ERR ', err);
|
|
1287
1286
|
return res.status(500).send({ success: false, msg: 'Error getting requests.', err: err });
|
|
1288
1287
|
});
|
|
1289
1288
|
|
|
@@ -1835,7 +1834,7 @@ router.get('/csv', function (req, res, next) {
|
|
|
1835
1834
|
} else if (req.query.duration_op === 'lt') {
|
|
1836
1835
|
query.duration = { $lte: duration }
|
|
1837
1836
|
} else {
|
|
1838
|
-
winston.verbose("
|
|
1837
|
+
winston.verbose("Duration operator can be 'gt' or 'lt'. Skip duration_op " + req.query.duration_op)
|
|
1839
1838
|
}
|
|
1840
1839
|
}
|
|
1841
1840
|
|
|
@@ -2162,4 +2161,4 @@ router.get('/:requestid/chatbot/parameters', async (req, res) => {
|
|
|
2162
2161
|
|
|
2163
2162
|
})
|
|
2164
2163
|
|
|
2165
|
-
module.exports = router;
|
|
2164
|
+
module.exports = router;
|