@tiledesk/tiledesk-server 2.10.6 → 2.10.8
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 +8 -0
- package/package.json +1 -1
- package/routes/auth.js +4 -4
- package/routes/faq_kb.js +1 -1
- package/routes/request.js +11 -4
- package/routes/users.js +4 -4
- package/services/requestService.js +1 -0
package/CHANGELOG.md
CHANGED
@@ -5,6 +5,14 @@
|
|
5
5
|
🚀 IN PRODUCTION 🚀
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
7
7
|
|
8
|
+
# 2.10.8
|
9
|
+
- Fix bug closing conversation by chatbot
|
10
|
+
- Fix bug typo error on import chatbot as json
|
11
|
+
|
12
|
+
# 2.10.7
|
13
|
+
- Update: removed regex in signup and changepsw (temp)
|
14
|
+
- Update: fire request.close event even if the request is already closed
|
15
|
+
|
8
16
|
# 2.10.6
|
9
17
|
- Update: return more chatbot info with restricted_mode
|
10
18
|
|
package/package.json
CHANGED
package/routes/auth.js
CHANGED
@@ -80,10 +80,10 @@ router.post('/signup',
|
|
80
80
|
|
81
81
|
// TODO: move the regex control inside signup method of UserService.
|
82
82
|
// Warning: the pwd used in every test must be changed!
|
83
|
-
const regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/);
|
84
|
-
if (!regex.test(req.body.password)) {
|
85
|
-
|
86
|
-
}
|
83
|
+
// const regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/);
|
84
|
+
// if (!regex.test(req.body.password)) {
|
85
|
+
// return res.status(403).send({ success: false, message: "The password does not meet the minimum vulnerability requirements"})
|
86
|
+
// }
|
87
87
|
|
88
88
|
return userService.signup(req.body.email, req.body.password, req.body.firstname, req.body.lastname, false)
|
89
89
|
.then( async function (savedUser) {
|
package/routes/faq_kb.js
CHANGED
package/routes/request.js
CHANGED
@@ -306,12 +306,20 @@ router.patch('/:requestid', function (req, res) {
|
|
306
306
|
router.put('/:requestid/close', async function (req, res) {
|
307
307
|
winston.debug(req.body);
|
308
308
|
let request_id = req.params.requestid;
|
309
|
-
|
309
|
+
|
310
|
+
/**
|
311
|
+
* Check on projectuser existence.
|
312
|
+
* If req.projectuser is null then the request was made by a chatbot.
|
313
|
+
*/
|
314
|
+
let project_user = req.projectuser;
|
315
|
+
let user_role;
|
316
|
+
if (project_user) {
|
317
|
+
user_role = project_user.role;
|
318
|
+
}
|
310
319
|
|
311
|
-
// closeRequestByRequestId(request_id, id_project, skipStatsUpdate, notify, closed_by)
|
312
320
|
const closed_by = req.user.id;
|
313
321
|
|
314
|
-
if (user_role !== RoleConstants.OWNER && user_role !== RoleConstants.ADMIN) {
|
322
|
+
if (user_role && (user_role !== RoleConstants.OWNER && user_role !== RoleConstants.ADMIN)) {
|
315
323
|
let request = await Request.findOne({ id_project: req.projectid, request_id: request_id }).catch((err) => {
|
316
324
|
winston.error("Error finding request: ", err);
|
317
325
|
return res.status(500).send({ success: false, error: "Error finding request with request_id " + request_id })
|
@@ -327,7 +335,6 @@ router.put('/:requestid/close', async function (req, res) {
|
|
327
335
|
return res.status(403).send({ success: false, error: "You must be among the participants to close a conversation."})
|
328
336
|
}
|
329
337
|
}
|
330
|
-
|
331
338
|
|
332
339
|
return requestService.closeRequestByRequestId(req.params.requestid, req.projectid, false, true, closed_by, req.body.force).then(function (closedRequest) {
|
333
340
|
winston.verbose("request closed", closedRequest);
|
package/routes/users.js
CHANGED
@@ -137,10 +137,10 @@ router.put('/changepsw', function (req, res) {
|
|
137
137
|
return res.status(403).send({ success: false, message: "The new password must be different from the previous one."})
|
138
138
|
}
|
139
139
|
|
140
|
-
const regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/);
|
141
|
-
if (!regex.test(req.body.newpsw)) {
|
142
|
-
|
143
|
-
}
|
140
|
+
// const regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/);
|
141
|
+
// if (!regex.test(req.body.newpsw)) {
|
142
|
+
// return res.status(403).send({ success: false, message: "The password does not meet the minimum vulnerability requirements"})
|
143
|
+
// }
|
144
144
|
|
145
145
|
user.password = req.body.newpsw
|
146
146
|
|
@@ -1749,6 +1749,7 @@ class RequestService {
|
|
1749
1749
|
if (force == false && request.status == RequestConstants.CLOSED) {
|
1750
1750
|
// qui1000
|
1751
1751
|
// if (request.statusObj.closed) {
|
1752
|
+
requestEvent.emit('request.close', request);
|
1752
1753
|
winston.debug("Request already closed for request_id " + request_id + " and id_project " + id_project);
|
1753
1754
|
return resolve(request);
|
1754
1755
|
}
|