@tiledesk/tiledesk-server 2.2.31 → 2.2.32
Sign up to get free protection for your applications and to get access to all the features.
- package/config/labels/widget.json +83 -4
- package/package.json +24 -24
- package/routes/request.js +9 -1
- package/test/labelRoute.js +4 -4
@@ -696,9 +696,7 @@
|
|
696
696
|
},
|
697
697
|
|
698
698
|
|
699
|
-
{
|
700
|
-
"default":false,
|
701
|
-
"_id":"6245d677f3058400357d1091",
|
699
|
+
{
|
702
700
|
"lang":"SR",
|
703
701
|
"data":{
|
704
702
|
"LABEL_PLACEHOLDER":"откуцај своју поруку..",
|
@@ -776,7 +774,88 @@
|
|
776
774
|
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY":"Слазем се",
|
777
775
|
"PRECHAT_REQUIRED_ERROR":"Ово поље је захтевано"
|
778
776
|
}
|
779
|
-
}
|
777
|
+
},
|
778
|
+
|
779
|
+
|
780
|
+
{
|
781
|
+
"lang":"AR",
|
782
|
+
"data": {
|
783
|
+
"LABEL_PLACEHOLDER": "اكتب رسالتك ..",
|
784
|
+
"LABEL_START_NW_CONV": "محادثة جديدة",
|
785
|
+
"LABEL_FIRST_MSG": "صِف مشكلتك بعد قليل ، وسيتواصل معك أحد الوكلاء.",
|
786
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 جميع المشغلين غير متصلين في الوقت الحالي. يمكنك على أي حال وصف مشكلتك. سيتم تعيينه لفريق الدعم الذي سيعود إليك في أقرب وقت ممكن.",
|
787
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 مكاتبنا مغلقة. يمكنك على أي حال وصف مشكلتك. سيتم تعيينه لفريق الدعم الذي سيعود إليك في أقرب وقت ممكن.",
|
788
|
+
"LABEL_SELECT_TOPIC": "اختر عنوانا",
|
789
|
+
"LABEL_COMPLETE_FORM": "أكمل النموذج لبدء محادثة مع الوكيل المتاح التالي.",
|
790
|
+
"LABEL_FIELD_NAME": "اسم",
|
791
|
+
"LABEL_ERROR_FIELD_NAME": "حقل مطلوب (بحد أدنى 5 أحرف).",
|
792
|
+
"LABEL_FIELD_EMAIL": "البريد الإلكتروني",
|
793
|
+
"LABEL_ERROR_FIELD_EMAIL": "أدخل عنوان بريد إلكتروني صالح.",
|
794
|
+
"LABEL_WRITING": "يكتب...",
|
795
|
+
"AGENT_NOT_AVAILABLE": " غير متصل على الانترنت",
|
796
|
+
"AGENT_AVAILABLE": " متصل",
|
797
|
+
"GUEST_LABEL": "زائر",
|
798
|
+
"ALL_AGENTS_OFFLINE_LABEL": "جميع المشغلين غير متصلون في الوقت الحالي",
|
799
|
+
"LABEL_LOADING": "جار التحميل...",
|
800
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 بحاجة الى مساعدة؟",
|
801
|
+
"CALLOUT_MSG_PLACEHOLDER": "انقر هنا وابدأ الدردشة معنا!",
|
802
|
+
"CUSTOMER_SATISFACTION": "رضا العملاء",
|
803
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "رأيك في خدمة العملاء لدينا",
|
804
|
+
"DOWNLOAD_TRANSCRIPT": "تنزيل النص",
|
805
|
+
"BACK": "خلف",
|
806
|
+
"YOUR_RATING": "تقييمك",
|
807
|
+
"WRITE_YOUR_OPINION": "أكتب رأيك ... (اختياري)",
|
808
|
+
"SUBMIT": "يُقدِّم",
|
809
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "شكرا لتقييمك",
|
810
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "لقد تم استلام تقييمك",
|
811
|
+
"ALERT_LEAVE_CHAT": "هل تريد مغادرة الدردشة؟",
|
812
|
+
"YES": "نعم",
|
813
|
+
"NO": "لا",
|
814
|
+
"BUTTON_CLOSE_TO_ICON": "تصغير الدردشة",
|
815
|
+
"BUTTON_EDIT_PROFILE": "تحديث الملف",
|
816
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "تنزيل النص",
|
817
|
+
"RATE_CHAT": "معدل الدردشة",
|
818
|
+
"WELLCOME_TITLE": "مرحبًا ، مرحبًا بك في Tiledesk 👋",
|
819
|
+
"WELLCOME_MSG": "كيف يمكن أن نساعد؟",
|
820
|
+
"WELLCOME": "أهلا وسهلا",
|
821
|
+
"WELCOME_TITLE": "مرحبًا ، مرحبًا بك في Tiledesk 👋",
|
822
|
+
"WELCOME_MSG": "كيف يمكن أن نساعد؟",
|
823
|
+
"WELCOME": "أهلا وسهلا",
|
824
|
+
"OPTIONS": "والخيارات",
|
825
|
+
"SOUND_OFF": "الصوت مقفل",
|
826
|
+
"SOUND_ON": "الصوت مفعل",
|
827
|
+
"LOGOUT": "تسجيل خروج",
|
828
|
+
"CLOSE": "قريب",
|
829
|
+
"PREV_CONVERSATIONS": "محادثاتك",
|
830
|
+
"YOU": "أنت",
|
831
|
+
"SHOW_ALL_CONV": "عرض الكل",
|
832
|
+
"START_A_CONVERSATION": "بدء محادثة",
|
833
|
+
"NO_CONVERSATION": "لا محادثة",
|
834
|
+
"SEE_PREVIOUS": "انظر السابق",
|
835
|
+
"WAITING_TIME_FOUND": "يرد الفريق عادةً بـ $reply_time",
|
836
|
+
"WAITING_TIME_NOT_FOUND": "سيقوم الفريق بالرد في أقرب وقت ممكن",
|
837
|
+
"CLOSED": "مغلق",
|
838
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "أنت",
|
839
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "لقد تم اضافتك ",
|
840
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "المحادثة",
|
841
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "انضم",
|
842
|
+
"INFO_SUPPORT_CHAT_REOPENED": "تمت إعادة فتح الدردشة",
|
843
|
+
"INFO_SUPPORT_CHAT_CLOSED": "الدردشة مغلقة",
|
844
|
+
"TICKET_TAKING": "تم استلام الطلب ويقوم طاقم المساعدة بالتعامل معه.\nلإضافة المزيد من التعليقات ، قم بالرد على هذا البريد الإلكتروني.",
|
845
|
+
"LABEL_ERROR_FIELD_REQUIRED": "يتطلب حقلا",
|
846
|
+
"SENT_AN_ATTACHMENT": "أرسل مرفقًا",
|
847
|
+
"SENT_AN_IMAGE": "أرسل صورة",
|
848
|
+
"LABEL_PRECHAT_USER_FULLNAME": "الاسم الكامل",
|
849
|
+
"LABEL_PRECHAT_USER_EMAIL": "البريد الإلكتروني",
|
850
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "عنوان البريد الإلكتروني غير صالح",
|
851
|
+
"LABEL_PRECHAT_USER_PHONE": "هاتف",
|
852
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "الهاتف مطلوب",
|
853
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "رسالتك لفريق الدعم",
|
854
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "قبل متابعة المحادثة ، يرجى الموافقة على سياسة الخصوصية الخاصة بشروط <a href='https://tiledesk.com/termsofservice/' target='_blank'></a> و <a href='https://tiledesk.com/privacy.html' target='_blank'></a>",
|
855
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "أنا موافق",
|
856
|
+
"PRECHAT_REQUIRED_ERROR": "هذه الخانة مطلوبه"
|
857
|
+
}
|
858
|
+
}
|
780
859
|
|
781
860
|
]
|
782
861
|
|
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.2.
|
4
|
+
"version": "2.2.32",
|
5
5
|
"scripts": {
|
6
6
|
"start": "node ./bin/www",
|
7
7
|
"pretest": "mongodb-runner start",
|
@@ -49,46 +49,46 @@
|
|
49
49
|
},
|
50
50
|
"dependencies": {
|
51
51
|
"@tiledesk/tiledesk-chat21-app": "^1.1.4",
|
52
|
-
"@tiledesk/tiledesk-chatbot-util": "^0.8.
|
52
|
+
"@tiledesk/tiledesk-chatbot-util": "^0.8.33",
|
53
53
|
"app-root-path": "^3.0.0",
|
54
54
|
"bcrypt-nodejs": "0.0.3",
|
55
|
-
"body-parser": "^1.
|
56
|
-
"cookie-parser": "
|
55
|
+
"body-parser": "^1.20.0",
|
56
|
+
"cookie-parser": "^1.4.6",
|
57
57
|
"cors": "^2.8.5",
|
58
58
|
"csv-express": "^1.2.2",
|
59
|
-
"debug": "^4.3.
|
59
|
+
"debug": "^4.3.4",
|
60
60
|
"dotenv": "^8.6.0",
|
61
|
-
"email-templates": "^8.0
|
61
|
+
"email-templates": "^8.1.0",
|
62
62
|
"eventemitter2": "^6.4.4",
|
63
|
-
"express": "
|
63
|
+
"express": "^4.17.3",
|
64
64
|
"express-ipfilter": "^1.2.0",
|
65
|
-
"express-session": "^1.17.
|
66
|
-
"express-validator": "^6.
|
65
|
+
"express-session": "^1.17.3",
|
66
|
+
"express-validator": "^6.14.2",
|
67
67
|
"fast-csv": "^4.3.6",
|
68
|
-
"geoip-lite": "^1.4.
|
68
|
+
"geoip-lite": "^1.4.5",
|
69
69
|
"handlebars": "^4.7.7",
|
70
|
-
"html-entities": "^2.3.
|
70
|
+
"html-entities": "^2.3.3",
|
71
71
|
"http": "0.0.0",
|
72
|
-
"immutable": "^4.
|
72
|
+
"immutable": "^4.1.0",
|
73
73
|
"jade": "~1.11.0",
|
74
74
|
"jsonwebtoken": "^8.5.1",
|
75
75
|
"lodash": "^4.17.21",
|
76
76
|
"marked": "^3.0.4",
|
77
|
-
"maskdata": "^1.1.
|
77
|
+
"maskdata": "^1.1.10",
|
78
78
|
"migrate-mongoose": "^4.0.0",
|
79
79
|
"mix-hash": "^1.0.7",
|
80
|
-
"moment": "^2.29.
|
80
|
+
"moment": "^2.29.3",
|
81
81
|
"moment-timezone": "^0.5.33",
|
82
|
-
"mongoose": "^5.13.
|
82
|
+
"mongoose": "^5.13.14",
|
83
83
|
"mongoose-auto-increment": "^5.0.1",
|
84
84
|
"mongoose-sequence": "^5.3.1",
|
85
85
|
"morgan": "^1.10.0",
|
86
|
-
"multer": "^1.4.
|
86
|
+
"multer": "^1.4.4",
|
87
87
|
"multer-gridfs-storage": "^4.2.0",
|
88
|
-
"nanoid": "^3.
|
88
|
+
"nanoid": "^3.3.4",
|
89
89
|
"node-rsa": "^1.1.1",
|
90
|
-
"node-schedule": "^2.
|
91
|
-
"nodemailer": "^6.
|
90
|
+
"node-schedule": "^2.1.0",
|
91
|
+
"nodemailer": "^6.7.5",
|
92
92
|
"passport": "^0.4.1",
|
93
93
|
"passport-http": "^0.3.0",
|
94
94
|
"passport-jwt": "^4.0.0",
|
@@ -100,18 +100,18 @@
|
|
100
100
|
"sharp": "^0.27.2",
|
101
101
|
"uniqid": "^5.4.0",
|
102
102
|
"uuid": "^3.3.3",
|
103
|
-
"winston": "^3.
|
103
|
+
"winston": "^3.7.2",
|
104
104
|
"winston-mongodb": "^5.0.7",
|
105
|
-
"ws": "^7.5.
|
105
|
+
"ws": "^7.5.8"
|
106
106
|
},
|
107
107
|
"devDependencies": {
|
108
|
-
"chai": "^4.3.
|
108
|
+
"chai": "^4.3.6",
|
109
109
|
"chai-http": "^4.3.0",
|
110
110
|
"chai-string": "^1.5.0",
|
111
|
-
"loadtest": "^5.
|
111
|
+
"loadtest": "^5.2.0",
|
112
112
|
"mocha": "^8.4.0",
|
113
113
|
"mongodb-runner": "4.8.3",
|
114
|
-
"nodemon": "^2.0.
|
114
|
+
"nodemon": "^2.0.16",
|
115
115
|
"sinon": "^9.2.4",
|
116
116
|
"sinon-mongoose": "^2.3.0"
|
117
117
|
},
|
package/routes/request.js
CHANGED
@@ -807,6 +807,11 @@ router.get('/', function (req, res, next) {
|
|
807
807
|
winston.debug('REQUEST ROUTE - QUERY snap_lead_lead_id', query.snap_lead_lead_id);
|
808
808
|
}
|
809
809
|
|
810
|
+
if (req.query.snap_lead_email) {
|
811
|
+
query["snapshot.lead.email"] = req.query.snap_lead_email;
|
812
|
+
winston.debug('REQUEST ROUTE - QUERY snap_lead_email', query.snap_lead_email);
|
813
|
+
}
|
814
|
+
|
810
815
|
if (req.query.channel) {
|
811
816
|
query["channel.name"] = req.query.channel
|
812
817
|
winston.debug('REQUEST ROUTE - QUERY channel', query.channel);
|
@@ -836,6 +841,7 @@ router.get('/', function (req, res, next) {
|
|
836
841
|
var q1 = Request.find(query).
|
837
842
|
skip(skip).limit(limit);
|
838
843
|
|
844
|
+
|
839
845
|
|
840
846
|
winston.debug('REQUEST ROUTE no_populate:' + req.query.no_populate);
|
841
847
|
|
@@ -1003,6 +1009,9 @@ router.get('/csv', function (req, res, next) {
|
|
1003
1009
|
|
1004
1010
|
winston.debug("sort query", sortQuery);
|
1005
1011
|
|
1012
|
+
|
1013
|
+
|
1014
|
+
|
1006
1015
|
winston.debug('REQUEST ROUTE - REQUEST FIND ', query)
|
1007
1016
|
return Request.find(query, '-transcript -status -__v').
|
1008
1017
|
skip(skip).limit(limit).
|
@@ -1111,7 +1120,6 @@ router.get('/csv', function (req, res, next) {
|
|
1111
1120
|
// };
|
1112
1121
|
// console.log('REQUEST ROUTE - objectToReturn ', objectToReturn);
|
1113
1122
|
return res.csv(requests, true);
|
1114
|
-
// return res.csv([ { name: "joe", id: 1 }])
|
1115
1123
|
});
|
1116
1124
|
|
1117
1125
|
// });
|
package/test/labelRoute.js
CHANGED
@@ -219,7 +219,7 @@ describe('LabelRoute', () => {
|
|
219
219
|
chai.request(server)
|
220
220
|
.post('/'+ savedProject._id + '/labels/default/clone')
|
221
221
|
.auth(email, pwd)
|
222
|
-
.send({lang: "
|
222
|
+
.send({lang: "ARR"}) //not exists
|
223
223
|
.end((err, res) => {
|
224
224
|
//console.log("res", res);
|
225
225
|
console.log("res.body", res.body);
|
@@ -227,18 +227,18 @@ describe('LabelRoute', () => {
|
|
227
227
|
res.body.should.be.a('object');
|
228
228
|
// expect(res.body.jwtSecret).to.not.equal(null);
|
229
229
|
expect(res.body.id_project).to.equal(savedProject.id);
|
230
|
-
expect(res.body.data[0].lang).to.equal("
|
230
|
+
expect(res.body.data[0].lang).to.equal("ARR");
|
231
231
|
|
232
232
|
|
233
233
|
chai.request(server)
|
234
|
-
.get('/'+ savedProject._id + '/labels/
|
234
|
+
.get('/'+ savedProject._id + '/labels/ARR')
|
235
235
|
.auth(email, pwd)
|
236
236
|
.send()
|
237
237
|
.end((err, res) => {
|
238
238
|
//console.log("res", res);
|
239
239
|
console.log("res.body ar", res.body);
|
240
240
|
expect(res.body.data.LABEL_PLACEHOLDER).to.equal("type your message..");
|
241
|
-
expect(res.body.lang).to.equal("
|
241
|
+
expect(res.body.lang).to.equal("ARR");
|
242
242
|
expect(res.body.default).to.equal(true);
|
243
243
|
done();
|
244
244
|
});
|