@tiledesk/tiledesk-server 2.9.6 → 2.9.7

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,10 @@
5
5
  🚀 IN PRODUCTION 🚀
6
6
  (https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
7
7
 
8
+ # 2.9.7
9
+ - Fix bug: draft conversation was shown in monitor
10
+ - Update tybot-connector to 0.2.92
11
+
8
12
  # 2.9.6
9
13
  - Fix bug: wrong timzone in startTime and andTime in operating hours service
10
14
 
package/models/request.js CHANGED
@@ -300,6 +300,11 @@ var RequestSchema = new Schema({
300
300
  type: String,
301
301
  required: true
302
302
  },
303
+ draft: {
304
+ type: Boolean,
305
+ required: false,
306
+ index: true
307
+ }
303
308
 
304
309
  }, {
305
310
  timestamps: true,
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.9.6",
4
+ "version": "2.9.7",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -48,7 +48,7 @@
48
48
  "@tiledesk/tiledesk-rasa-connector": "^1.0.10",
49
49
  "@tiledesk/tiledesk-telegram-connector": "^0.1.14",
50
50
  "@tiledesk/tiledesk-train-jobworker": "^0.0.11",
51
- "@tiledesk/tiledesk-tybot-connector": "^0.2.86",
51
+ "@tiledesk/tiledesk-tybot-connector": "^0.2.92",
52
52
  "@tiledesk/tiledesk-whatsapp-connector": "^0.1.72",
53
53
  "@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.8",
54
54
  "@tiledesk/tiledesk-sms-connector": "^0.1.7",
package/routes/request.js CHANGED
@@ -902,7 +902,7 @@ router.get('/', function (req, res, next) {
902
902
  winston.debug('REQUEST ROUTE - SKIP PAGE ', skip);
903
903
 
904
904
 
905
- var query = { "id_project": req.projectid, "status": { $lt: 1000 }, preflight: false };
905
+ var query = { "id_project": req.projectid, "status": { $lt: 1000 }, preflight: false, "draft": { $in: [false, null]} };
906
906
 
907
907
  var projectuser = req.projectuser;
908
908
 
@@ -707,6 +707,10 @@ class RequestService {
707
707
  createdAt: createdAt
708
708
  });
709
709
 
710
+ if (isTestConversation) {
711
+ newRequest.draft = true;
712
+ }
713
+
710
714
  winston.debug('newRequest.', newRequest);
711
715
 
712
716
 
@@ -22,6 +22,8 @@ var faqService = require('../services/faqService');
22
22
 
23
23
  // chai.config.includeStack = true;
24
24
 
25
+ let log = false;
26
+
25
27
  var expect = chai.expect;
26
28
  var assert = chai.assert;
27
29
 
@@ -1160,6 +1162,70 @@ describe('RequestRoute', () => {
1160
1162
  });
1161
1163
  });
1162
1164
 
1165
+ it('exludeDraftConversations', (done) => {
1166
+
1167
+ var email = "test-signup-" + Date.now() + "@email.com";
1168
+ var pwd = "pwd";
1169
+
1170
+ userService.signup(email, pwd, "Test Firstname", "Test Lastname").then((savedUser) => {
1171
+ projectService.createAndReturnProjectAndProjectUser("test-draft-conversation", savedUser._id).then((savedProjectAndPU) => {
1172
+ let savedProject = savedProjectAndPU.project;
1173
+ let savedPU = savedProjectAndPU.project_user;
1174
+ leadService.createIfNotExists("Lead Fullname", "email@test.com", savedProject._id).then((createdLead) => {
1175
+ let now = Date.now();
1176
+ let request = {
1177
+ request_id: "request_id-exludeDraftConversations-" + now,
1178
+ project_user_id: savedPU._id,
1179
+ lead_id: createdLead._id,
1180
+ id_project: savedProject._id,
1181
+ first_text: "first_text",
1182
+ lead: createdLead,
1183
+ requester: savedPU,
1184
+ attributes: { sourcePage: "https://widget-pre.tiledesk.com/v2/index.html?tiledesk_projectid=5ce3d1ceb25ad30017279999&td_draft=true" }
1185
+ }
1186
+
1187
+ requestService.create(request).then(async (savedRequest) => {
1188
+
1189
+ // Case 1 - request with source page that contains td_draft
1190
+ expect(savedRequest.draft).to.equal(true);
1191
+
1192
+ // Case 2 - request without source page that contains td_draft
1193
+ //expect(savedRequest.draft).to.be.undefined;
1194
+
1195
+ // get all requests -> should be 0
1196
+
1197
+ chai.request(server)
1198
+ .get('/' + savedProject._id + '/requests')
1199
+ .auth(email, pwd)
1200
+ .end((err, res) => {
1201
+
1202
+ if (err) { console.error("err: ", err ) };
1203
+ if (log) { console.log("res.body: ", res.body) }
1204
+
1205
+ res.should.have.status(200);
1206
+ res.body.should.be.a('object');
1207
+ res.body.requests.should.be.a('array');
1208
+
1209
+ // Case 1 - request with source page that contains td_draft
1210
+ expect(res.body.requests.length).to.equal(0);
1211
+
1212
+ // Case 2 - request without source page that contains td_draft
1213
+ //expect(res.body.requests.length).to.equal(1);
1214
+
1215
+ done();
1216
+ })
1217
+
1218
+
1219
+ }).catch((err) => {
1220
+ console.error("error creating request: ", err)
1221
+ })
1222
+ })
1223
+
1224
+ })
1225
+ })
1226
+
1227
+ })
1228
+
1163
1229
  // it('assign', (done) => {
1164
1230
 
1165
1231