@tiledesk/tiledesk-server 2.2.23 → 2.2.24
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +5 -0
- package/app.js +1 -1
- package/channels/chat21/chat21WebHook.js +1 -1
- package/config/labels/widget copy.json +624 -0
- package/event/messageEvent.js +4 -4
- package/middleware/has-role.js +1 -1
- package/middleware/passport.js +3 -3
- package/models/request.js +1 -1
- package/package.json +1 -1
- package/pubmodules/emailNotification/requestNotification.js +4 -4
- package/pubmodules/messageTransformer/messageHandlebarsTransformerInterceptor.js +3 -3
- package/pubmodules/messageTransformer/messageTransformerInterceptor.js +3 -3
- package/routes/department.js +1 -1
- package/routes/message.js +1 -1
- package/routes/project.js +1 -1
- package/routes/project_user.js +2 -2
- package/routes/widget.js +2 -2
- package/services/emailService.js +2 -2
- package/services/faqBotHandler.js +1 -1
- package/services/labelService-no-default.js +2 -2
- package/services/labelService.js +1 -1
- package/services/leadService.js +2 -2
- package/services/operatingHoursService.js +1 -1
- package/services/requestService.js +3 -3
- package/utils/sendMessageUtil.js +2 -2
- package/websocket/webSocketServer.js +10 -10
package/CHANGELOG.md
CHANGED
package/app.js
CHANGED
@@ -286,7 +286,7 @@ var projectSetter = function (req, res, next) {
|
|
286
286
|
|
287
287
|
if (projectid) {
|
288
288
|
Project.findOne({_id: projectid, status: 100})
|
289
|
-
.cache(cacheUtil.defaultTTL, "projects:id:"+projectid)
|
289
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "projects:id:"+projectid)
|
290
290
|
.exec(function(err, project){
|
291
291
|
if (err) {
|
292
292
|
winston.warn("Problem getting project with id: " + projectid + " req.originalUrl: " + req.originalUrl);
|
@@ -375,7 +375,7 @@ router.post('/', function (req, res) {
|
|
375
375
|
winston.debug('query:'+ projectId);
|
376
376
|
|
377
377
|
return Request.findOne(query)
|
378
|
-
|
378
|
+
//@DISABLED_CACHE cacheUtil.defaultTTL, projectId+":requests:request_id:"+recipient_id)
|
379
379
|
.exec(function(err, request) {
|
380
380
|
|
381
381
|
if (err) {
|
@@ -0,0 +1,624 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"lang": "EN",
|
4
|
+
"data":{
|
5
|
+
"LABEL_PLACEHOLDER": "type your message..",
|
6
|
+
"LABEL_START_NW_CONV": "New conversation",
|
7
|
+
"LABEL_FIRST_MSG": "Describe shortly your problem, you will be contacted by an agent.",
|
8
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 All operators are offline at the moment. You can anyway describe your problem. It will be assigned to the support team who will get back to you as soon as possible.",
|
9
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Our offices are closed. You can anyway describe your problem. It will be assigned to the support team who will get back to you as soon as possible.",
|
10
|
+
"LABEL_SELECT_TOPIC": "Select a topic",
|
11
|
+
"LABEL_COMPLETE_FORM": "Complete the form to start a conversation with the next available agent.",
|
12
|
+
"LABEL_FIELD_NAME": "Name",
|
13
|
+
"LABEL_ERROR_FIELD_NAME": "Required field (minimum 5 characters).",
|
14
|
+
"LABEL_FIELD_EMAIL": "Email",
|
15
|
+
"LABEL_ERROR_FIELD_EMAIL": "Enter a valid email address.",
|
16
|
+
"LABEL_WRITING": "is writing...",
|
17
|
+
"AGENT_NOT_AVAILABLE": " Offline",
|
18
|
+
"AGENT_AVAILABLE": " Online",
|
19
|
+
"GUEST_LABEL": "Guest",
|
20
|
+
"ALL_AGENTS_OFFLINE_LABEL": "All operators are offline at the moment",
|
21
|
+
"LABEL_LOADING": "Loading...",
|
22
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Need Help?",
|
23
|
+
"CALLOUT_MSG_PLACEHOLDER": "Click here and start chatting with us!",
|
24
|
+
"CUSTOMER_SATISFACTION": "Customer satisfaction",
|
25
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Your opinion on our customer service",
|
26
|
+
"DOWNLOAD_TRANSCRIPT": "Download transcript",
|
27
|
+
"BACK": "Back",
|
28
|
+
"YOUR_RATING": "your rating",
|
29
|
+
"WRITE_YOUR_OPINION": "Write your opinion ... (optional)",
|
30
|
+
"SUBMIT": "Submit",
|
31
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Thank you for your evaluation",
|
32
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "your rating has been received",
|
33
|
+
"ALERT_LEAVE_CHAT": "Do you want to leave the chat?",
|
34
|
+
"YES": "Yes",
|
35
|
+
"NO": "No",
|
36
|
+
"BUTTON_CLOSE_TO_ICON": "Minimize chat",
|
37
|
+
"BUTTON_EDIT_PROFILE": "Update profile",
|
38
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Download transcript",
|
39
|
+
"RATE_CHAT": "Rate chat",
|
40
|
+
|
41
|
+
"WELLCOME_TITLE": "Hi, welcome to Tiledesk 👋",
|
42
|
+
"WELLCOME_MSG": "How can we help?",
|
43
|
+
"WELLCOME": "Welcome",
|
44
|
+
|
45
|
+
"WELCOME_TITLE": "Hi, welcome to Tiledesk 👋",
|
46
|
+
"WELCOME_MSG": "How can we help?",
|
47
|
+
"WELCOME": "Welcome",
|
48
|
+
|
49
|
+
"OPTIONS": "options",
|
50
|
+
"SOUND_OFF": "sound off",
|
51
|
+
"SOUND_ON": "sound on",
|
52
|
+
"LOGOUT": "logout",
|
53
|
+
"CLOSE": "Close",
|
54
|
+
"PREV_CONVERSATIONS": "Your conversations",
|
55
|
+
"YOU": "You",
|
56
|
+
"SHOW_ALL_CONV": "show all",
|
57
|
+
"START_A_CONVERSATION": "Start a conversation",
|
58
|
+
"NO_CONVERSATION": "No conversation",
|
59
|
+
"SEE_PREVIOUS": "see previous",
|
60
|
+
"WAITING_TIME_FOUND": "The team typically replies in $reply_time",
|
61
|
+
"WAITING_TIME_NOT_FOUND": "The team will reply as soon as possible",
|
62
|
+
"CLOSED": "Closed",
|
63
|
+
|
64
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT":"you",
|
65
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB":"you have been added ",
|
66
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT":"the chat",
|
67
|
+
"INFO_SUPPORT_USER_ADDED_VERB":"joined",
|
68
|
+
"INFO_SUPPORT_CHAT_REOPENED":"Chat reopened",
|
69
|
+
"INFO_SUPPORT_CHAT_CLOSED":"Chat closed",
|
70
|
+
|
71
|
+
"TICKET_TAKING":"The request has been received and the assistance staff is dealing with it.\nTo add more comments, reply to this email.",
|
72
|
+
|
73
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Required field",
|
74
|
+
"SENT_AN_ATTACHMENT": "sent an attachment",
|
75
|
+
"SENT_AN_IMAGE": "sent an image",
|
76
|
+
|
77
|
+
|
78
|
+
"LABEL_PRECHAT_USER_FULLNAME": "Full name",
|
79
|
+
"LABEL_PRECHAT_USER_FULLNAME_ERROR": "Full name is required",
|
80
|
+
"LABEL_PRECHAT_USER_EMAIL": "Email",
|
81
|
+
"LABEL_PRECHAT_USER_EMAIL_ERROR": "Invalid email address",
|
82
|
+
"LABEL_PRECHAT_USER_PHONE": "Phone",
|
83
|
+
"LABEL_PRECHAT_USER_PHONE_ERROR": "Phone is required",
|
84
|
+
"LABEL_PRECHAT_FIRST_MESSAGE": "Your message for the support team",
|
85
|
+
"LABEL_PRECHAT_STATIC_TERMS_PRIVACY": "Before proceeding in the conversation please agree to our <a href='https://tiledesk.com/termsofservice/' target='_blank'>Terms</a> and <a href='https://tiledesk.com/privacy.html' target='_blank'>Privacy Policy</a>",
|
86
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY": "I agree",
|
87
|
+
"LABEL_PRECHAT_ACCEPT_TERMS_PRIVACY_ERROR": "Please agree to terms and conditions"
|
88
|
+
|
89
|
+
fai per altre lingue
|
90
|
+
}
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"lang": "IT",
|
94
|
+
"data":{
|
95
|
+
"LABEL_PLACEHOLDER": "Scrivi la tua domanda...",
|
96
|
+
"LABEL_START_NW_CONV": "Nuova conversazione",
|
97
|
+
"LABEL_FIRST_MSG": "Descrivi sinteticamente il tuo problema, ti metteremo in contatto con un operatore specializzato.",
|
98
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Tutti gli operatori sono offline al momento.Puoi comunque descrivere il tuo problema. Sarà assegnato al team di supporto che ti risponderà appena possibile.",
|
99
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 I nostri uffici sono chiusi. Puoi comunque descrivere il tuo problema. Sarà assegnato al team di supporto che ti risponderà appena possibile.",
|
100
|
+
"LABEL_SELECT_TOPIC": "Seleziona un argomento",
|
101
|
+
"LABEL_COMPLETE_FORM": "Completa il form per iniziare una conversazione con il prossimo agente disponibile.",
|
102
|
+
"LABEL_FIELD_NAME": "Nome",
|
103
|
+
"LABEL_ERROR_FIELD_NAME": "Nome richiesto (minimo 2 caratteri).",
|
104
|
+
"LABEL_FIELD_EMAIL": "Email",
|
105
|
+
"LABEL_ERROR_FIELD_EMAIL": "Inserisci un indirizzo email valido.",
|
106
|
+
"LABEL_WRITING": "sta scrivendo...",
|
107
|
+
"AGENT_NOT_AVAILABLE": " Offline",
|
108
|
+
"AGENT_AVAILABLE": " Online",
|
109
|
+
"GUEST_LABEL": "Ospite",
|
110
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Tutti gli operatori sono offline al momento",
|
111
|
+
"LABEL_LOADING": "Caricamento...",
|
112
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Bisogno di aiuto?",
|
113
|
+
"CALLOUT_MSG_PLACEHOLDER": "Clicca qui e inizia a chattare con noi!",
|
114
|
+
"CUSTOMER_SATISFACTION": "Valutazione servizio",
|
115
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Il tuo giudizio sul nostro servizio clienti",
|
116
|
+
"DOWNLOAD_TRANSCRIPT": "Scarica transcript",
|
117
|
+
"BACK": "Indietro",
|
118
|
+
"YOUR_RATING": "il tuo voto",
|
119
|
+
"WRITE_YOUR_OPINION": "Scrivi la tua opinione...(opzionale)",
|
120
|
+
"SUBMIT": "Invia",
|
121
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Grazie per la tua valutazione",
|
122
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "il tuo voto è stato ricevuto",
|
123
|
+
"ALERT_LEAVE_CHAT": "Vuoi abbandonare la conversazione?",
|
124
|
+
"YES": "Si",
|
125
|
+
"NO": "No",
|
126
|
+
"BUTTON_CLOSE_TO_ICON": "Riduci a icona la chat",
|
127
|
+
"BUTTON_EDIT_PROFILE": "Modifica profilo",
|
128
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Scarica transcript",
|
129
|
+
"RATE_CHAT": "Valuta chat",
|
130
|
+
|
131
|
+
"WELLCOME_TITLE": "Ciao, benvenuto su Tiledesk 👋",
|
132
|
+
"WELLCOME_MSG": "Come possiamo aiutarti?",
|
133
|
+
"WELLCOME": "Benvenuto",
|
134
|
+
|
135
|
+
"WELCOME_TITLE": "Ciao, benvenuto su Tiledesk 👋",
|
136
|
+
"WELCOME_MSG": "Come possiamo aiutarti?",
|
137
|
+
"WELCOME": "Benvenuto",
|
138
|
+
|
139
|
+
"OPTIONS": "opzioni",
|
140
|
+
"SOUND_OFF": "suono spento",
|
141
|
+
"SOUND_ON": "suono acceso",
|
142
|
+
"LOGOUT": "disconnetti",
|
143
|
+
"CLOSE": "Chiudi",
|
144
|
+
"PREV_CONVERSATIONS": "Le tue conversazioni",
|
145
|
+
"YOU": "Tu",
|
146
|
+
"SHOW_ALL_CONV": "vedi tutte",
|
147
|
+
"START_A_CONVERSATION": "Inizia una conversazione",
|
148
|
+
"NO_CONVERSATION": "Nessuna conversazione attiva",
|
149
|
+
"SEE_PREVIOUS": "vedi precedenti",
|
150
|
+
"WAITING_TIME_FOUND": "Il team tipicamente risponde in $reply_time",
|
151
|
+
"WAITING_TIME_NOT_FOUND": "Vi risponderemo appena possibile",
|
152
|
+
"CLOSED": "Chiusa",
|
153
|
+
|
154
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT":"tu",
|
155
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB":"sei stato aggiunto ",
|
156
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT":"alla chat",
|
157
|
+
"INFO_SUPPORT_USER_ADDED_VERB":"si è unito",
|
158
|
+
"INFO_SUPPORT_CHAT_REOPENED":"Chat riaperta",
|
159
|
+
"INFO_SUPPORT_CHAT_CLOSED":"Chat chiusa",
|
160
|
+
|
161
|
+
"TICKET_TAKING":"La richiesta è stata ricevuta e il personale di assistenza se ne sta occupando.\nPer aggiungere ulteriori commenti, rispondi a questa email.",
|
162
|
+
|
163
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Campo richiesto",
|
164
|
+
"SENT_AN_ATTACHMENT": "ha inviato un allegato",
|
165
|
+
"SENT_AN_IMAGE":"ha inviato un'immagine"
|
166
|
+
}
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"lang": "FR",
|
170
|
+
"data":{
|
171
|
+
"LABEL_PLACEHOLDER": "Écrivez votre question ...",
|
172
|
+
"LABEL_START_NW_CONV": "Nouvelle conversation",
|
173
|
+
"LABEL_FIRST_MSG": "Décrivez brièvement votre problème, nous vous mettrons en relation avec un opérateur spécialisé.",
|
174
|
+
"LABEL_FIRST_MSG_NO_AGENTS": "🤔 Tous les opérateurs sont actuellement hors ligne. Vous pouvez toujours décrire votre problème. Il sera attribué à l'équipe d'assistance qui vous répondra dans les plus brefs délais.",
|
175
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED": "🤔 Nos bureaux sont fermés. Vous pouvez toujours décrire votre problème. Il sera attribué à l'équipe d'assistance qui vous répondra dans les plus brefs délais.",
|
176
|
+
"LABEL_SELECT_TOPIC": "Sélectionnez un sujet",
|
177
|
+
"LABEL_COMPLETE_FORM": "Remplissez le formulaire pour démarrer une conversation avec le prochain agent disponible.",
|
178
|
+
"LABEL_FIELD_NAME": "Prenom",
|
179
|
+
"LABEL_ERROR_FIELD_NAME": "Nom demandé (minimum 2 caractères).",
|
180
|
+
"LABEL_FIELD_EMAIL": "Email",
|
181
|
+
"LABEL_ERROR_FIELD_EMAIL": "Entrer une adresse email valide.",
|
182
|
+
"LABEL_WRITING": "en train d'écrire...",
|
183
|
+
"AGENT_NOT_AVAILABLE": " Hors ligne",
|
184
|
+
"AGENT_AVAILABLE": " En ligne",
|
185
|
+
"GUEST_LABEL": "Hôte",
|
186
|
+
"ALL_AGENTS_OFFLINE_LABEL": "Tous les opérateurs sont actuellement hors ligne",
|
187
|
+
"LABEL_LOADING": "Chargement en cours ...",
|
188
|
+
"CALLOUT_TITLE_PLACEHOLDER": "🖐 Besoin d'aide?",
|
189
|
+
"CALLOUT_MSG_PLACEHOLDER": "Cliquez ici et commencez à discuter avec nous!",
|
190
|
+
"CUSTOMER_SATISFACTION": "Évaluation des services",
|
191
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE": "Votre avis sur notre service client",
|
192
|
+
"DOWNLOAD_TRANSCRIPT": "Télécharger la transcription",
|
193
|
+
"BACK": "En arrière",
|
194
|
+
"YOUR_RATING": "votre vote",
|
195
|
+
"WRITE_YOUR_OPINION": "Écrivez votre opinion ... (facultatif)",
|
196
|
+
"SUBMIT": "Soumettre",
|
197
|
+
"THANK_YOU_FOR_YOUR_EVALUATION": "Merci pour votre évaluation",
|
198
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED": "votre vote a été reçu",
|
199
|
+
"ALERT_LEAVE_CHAT": "Voulez-vous quitter la conversation?",
|
200
|
+
"YES": "Oui",
|
201
|
+
"NO": "Non",
|
202
|
+
"BUTTON_CLOSE_TO_ICON": "Minimisez le chat",
|
203
|
+
"BUTTON_EDIT_PROFILE": "Modifier le profil",
|
204
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT": "Télécharger la transcription",
|
205
|
+
"RATE_CHAT": "évaluer la conversation",
|
206
|
+
|
207
|
+
"WELLCOME_TITLE": "Salut, bienvenue à Tiledesk 👋",
|
208
|
+
"WELLCOME_MSG": "Comment pouvons-nous vous aider?",
|
209
|
+
"WELLCOME": "Bienvenue",
|
210
|
+
|
211
|
+
"WELCOME_TITLE": "Salut, bienvenue à Tiledesk 👋",
|
212
|
+
"WELCOME_MSG": "Comment pouvons-nous vous aider?",
|
213
|
+
"WELCOME": "Bienvenue",
|
214
|
+
|
215
|
+
"OPTIONS": "options",
|
216
|
+
"SOUND_OFF": "Sound off",
|
217
|
+
"SOUND_ON": "Sound on",
|
218
|
+
"LOGOUT": "Connectez-out",
|
219
|
+
"CLOSE": "Fermer",
|
220
|
+
"PREV_CONVERSATIONS": "Vos conversations",
|
221
|
+
"YOU": "Vous",
|
222
|
+
"SHOW_ALL_CONV": "voir tout",
|
223
|
+
"START_A_CONVERSATION": "Démarrer une conversation",
|
224
|
+
"NO_CONVERSATION": "Aucune conversation active",
|
225
|
+
"SEE_PREVIOUS": "voir les conversations précédentes",
|
226
|
+
"WAITING_TIME_FOUND": "L'équipe répond généralement en $reply_time",
|
227
|
+
"WAITING_TIME_NOT_FOUND": "Nous vous répondrons dans les plus brefs délais",
|
228
|
+
"CLOSED": "Fermé",
|
229
|
+
|
230
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT":"toi",
|
231
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB":"tu as été ajouté ",
|
232
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT":"discuter",
|
233
|
+
"INFO_SUPPORT_USER_ADDED_VERB":"rejoint",
|
234
|
+
"INFO_SUPPORT_CHAT_REOPENED":"Chat rouvert",
|
235
|
+
"INFO_SUPPORT_CHAT_CLOSED":"Chat fermé",
|
236
|
+
|
237
|
+
"TICKET_TAKING":"La demande a été reçue et le personnel d'assistance la traite.\nPour ajouter d'autres commentaires, répondez à cet e-mail.",
|
238
|
+
|
239
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Champ obligatoire",
|
240
|
+
"SENT_AN_ATTACHMENT": "envoyé une pièce jointe",
|
241
|
+
"SENT_AN_IMAGE": "envoyé une image"
|
242
|
+
}
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"lang": "ES",
|
246
|
+
"data":{
|
247
|
+
"LABEL_PLACEHOLDER":"Escribe tu mensaje..",
|
248
|
+
"LABEL_START_NW_CONV":"Nueva conversación",
|
249
|
+
"LABEL_FIRST_MSG":"Describa brevemente su problema, un agente lo contactará.",
|
250
|
+
"LABEL_FIRST_MSG_NO_AGENTS":"🤔 Todos los operadores están desconectados en este momento. En todo caso, puedes describir tu problema que se asignará al equipo de soporte que le responderá lo antes posible.",
|
251
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED":"🤔 Nuestras oficinas están cerradas. En todo caso, puedes describir tu problema que se asignará al equipo de soporte que le responderá lo antes posible.",
|
252
|
+
"LABEL_SELECT_TOPIC":"Elige un tema",
|
253
|
+
"LABEL_COMPLETE_FORM":"Complete el formulario para iniciar una conversación con el próximo agente disponible.",
|
254
|
+
"LABEL_FIELD_NAME":"Nombre",
|
255
|
+
"LABEL_ERROR_FIELD_NAME":"Campo obligatorio (mínimo 2 caracteres).",
|
256
|
+
"LABEL_FIELD_EMAIL":"Correo electrónico",
|
257
|
+
"LABEL_ERROR_FIELD_EMAIL":"Introduzca una dirección de correo electrónico válida.",
|
258
|
+
"LABEL_WRITING":"esta escribiendo...",
|
259
|
+
"AGENT_NOT_AVAILABLE":"Offline",
|
260
|
+
"AGENT_AVAILABLE":"En línea",
|
261
|
+
"GUEST_LABEL":"Invitado",
|
262
|
+
"ALL_AGENTS_OFFLINE_LABEL":"Todos los operadores están desconectados en este momento.",
|
263
|
+
"LABEL_LOADING":"Cargando...",
|
264
|
+
"CALLOUT_TITLE_PLACEHOLDER":"🖐 ¿Necesitas ayuda?",
|
265
|
+
"CALLOUT_MSG_PLACEHOLDER":"¡Haz clic aquí y comienza a chatear con nosotros!",
|
266
|
+
"CUSTOMER_SATISFACTION":"La satisfacción del cliente",
|
267
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE":"Su opinión sobre nuestro servicio al cliente",
|
268
|
+
"DOWNLOAD_TRANSCRIPT":"Descargar transcripción",
|
269
|
+
"BACK":"Atrás",
|
270
|
+
"YOUR_RATING":"Tu clasificación",
|
271
|
+
"WRITE_YOUR_OPINION":"Escribe tu opinión ... (opcional)",
|
272
|
+
"SUBMIT":"Enviar",
|
273
|
+
"THANK_YOU_FOR_YOUR_EVALUATION":"Gracias por tu evaluación",
|
274
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED":"Su voto ha sido recibido",
|
275
|
+
"ALERT_LEAVE_CHAT":"¿Quieres salir del chat?",
|
276
|
+
"YES":"Si",
|
277
|
+
"NO":"No",
|
278
|
+
"BUTTON_CLOSE_TO_ICON":"Minimiza el chat",
|
279
|
+
"BUTTON_EDIT_PROFILE":"Actualización del perfil",
|
280
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT":"Download transcript",
|
281
|
+
"RATE_CHAT":"Califica el chat",
|
282
|
+
|
283
|
+
"WELLCOME_TITLE":"Hola, bienvenido a tiledesk 👋",
|
284
|
+
"WELLCOME_MSG":"¿Cómo podemos ayudar?",
|
285
|
+
"WELLCOME":"¡Bienvenido!",
|
286
|
+
|
287
|
+
"WELCOME_TITLE":"Hola, bienvenido a tiledesk 👋",
|
288
|
+
"WELCOME_MSG":"¿Cómo podemos ayudar?",
|
289
|
+
"WELCOME":"¡Bienvenido!",
|
290
|
+
|
291
|
+
"OPTIONS":"Opciones",
|
292
|
+
"SOUND_OFF":"Sonido apagado",
|
293
|
+
"SOUND_ON":"Sonido encendido",
|
294
|
+
"LOGOUT":"Cerrar sesión",
|
295
|
+
"CLOSE":"Cerrar",
|
296
|
+
"PREV_CONVERSATIONS":"Tus conversaciones",
|
297
|
+
"YOU":"Tú",
|
298
|
+
"SHOW_ALL_CONV":"Mostrar todo",
|
299
|
+
"START_A_CONVERSATION":"Iniciar una conversación",
|
300
|
+
"NO_CONVERSATION":"Sin conversación",
|
301
|
+
"SEE_PREVIOUS":"Ver anterior",
|
302
|
+
"WAITING_TIME_FOUND":"El equipo típicamente responde en $reply_time",
|
303
|
+
"WAITING_TIME_NOT_FOUND":"El equipo responderá lo antes posible.",
|
304
|
+
"CLOSED":"Cerrado",
|
305
|
+
|
306
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT":"usted",
|
307
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB":"usted ha sido agregado ",
|
308
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT":"para charlar",
|
309
|
+
"INFO_SUPPORT_USER_ADDED_VERB":"unido",
|
310
|
+
"INFO_SUPPORT_CHAT_REOPENED":"Chat reabierto",
|
311
|
+
"INFO_SUPPORT_CHAT_CLOSED":"Chat cerrado",
|
312
|
+
|
313
|
+
"TICKET_TAKING":"La solicitud ha sido recibida y el personal de asistencia está tratando con ella. \nPara agregar más comentarios, responda a este correo electrónico.",
|
314
|
+
|
315
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Campo obligatorio",
|
316
|
+
"SENT_AN_ATTACHMENT": "envió un archivo adjunto",
|
317
|
+
"SENT_AN_IMAGE": "envió una imagen"
|
318
|
+
|
319
|
+
}
|
320
|
+
},
|
321
|
+
{
|
322
|
+
"lang":"DE",
|
323
|
+
"data":{
|
324
|
+
"LABEL_PLACEHOLDER":"Geben Sie Ihre Nachricht ein ...",
|
325
|
+
"LABEL_START_NW_CONV":"Neues Gespräch",
|
326
|
+
"LABEL_FIRST_MSG":"Beschreiben Sie in Kürze Ihr Problem. Sie werden von einem Agenten kontaktiert.",
|
327
|
+
"LABEL_FIRST_MSG_NO_AGENTS":"🤔 Alle Betreiber sind derzeit offline. Sie können Ihr Problem trotzdem beschreiben. Es wird dem Support-Team zugewiesen, das Ihnen so schnell wie möglich antwortet.",
|
328
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED":"🤔 Unsere Büros sind geschlossen. Sie können Ihr Problem trotzdem beschreiben. Es wird dem Support-Team zugewiesen, das Ihnen so schnell wie möglich antwortet.",
|
329
|
+
"LABEL_SELECT_TOPIC":"Wähle ein Thema",
|
330
|
+
"LABEL_COMPLETE_FORM":"Füllen Sie das Formular aus, um ein Gespräch mit dem nächsten verfügbaren Agenten zu beginnen.",
|
331
|
+
"LABEL_FIELD_NAME":"Name",
|
332
|
+
"LABEL_ERROR_FIELD_NAME":"Erforderliches Feld (mindestens 5 Zeichen).",
|
333
|
+
"LABEL_FIELD_EMAIL":"Email",
|
334
|
+
"LABEL_ERROR_FIELD_EMAIL":"Geben sie eine gültige E-Mail-Adresse an.",
|
335
|
+
"LABEL_WRITING":"schreibt...",
|
336
|
+
"AGENT_NOT_AVAILABLE":" Offline",
|
337
|
+
"AGENT_AVAILABLE":" Online",
|
338
|
+
"GUEST_LABEL":"Gast",
|
339
|
+
"ALL_AGENTS_OFFLINE_LABEL":"Alle Betreiber sind derzeit offline",
|
340
|
+
"LABEL_LOADING":"Wird geladen...",
|
341
|
+
"CALLOUT_TITLE_PLACEHOLDER":"🖐 Brauchen Sie Hilfe?",
|
342
|
+
"CALLOUT_MSG_PLACEHOLDER":"Klicken Sie hier und beginnen Sie mit uns zu chatten!",
|
343
|
+
"CUSTOMER_SATISFACTION":"Kundenzufriedenheit",
|
344
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE":"Ihre Meinung zu unserem Kundenservice",
|
345
|
+
"DOWNLOAD_TRANSCRIPT":"Transkript herunterladen",
|
346
|
+
"BACK":"Zurück",
|
347
|
+
"YOUR_RATING":"Deine Bewertung",
|
348
|
+
"WRITE_YOUR_OPINION":"Schreiben Sie Ihre Meinung ... (optional)",
|
349
|
+
"SUBMIT":"Einreichen",
|
350
|
+
"THANK_YOU_FOR_YOUR_EVALUATION":"Vielen Dank für Ihre Bewertung",
|
351
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED":"Ihre Bewertung wurde erhalten",
|
352
|
+
"ALERT_LEAVE_CHAT":"Möchten Sie den Chat verlassen?",
|
353
|
+
"YES":"Ja",
|
354
|
+
"NO":"Nein",
|
355
|
+
"BUTTON_CLOSE_TO_ICON":"Chat minimieren",
|
356
|
+
"BUTTON_EDIT_PROFILE":"Profil aktualisieren",
|
357
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT":"Download transcript",
|
358
|
+
"RATE_CHAT":"Chat bewerten",
|
359
|
+
|
360
|
+
"WELLCOME_TITLE":"Hallo, willkommen in Tiledesk 👋",
|
361
|
+
"WELLCOME_MSG":"Wie können wir helfen?",
|
362
|
+
"WELLCOME":"Herzlich willkommen",
|
363
|
+
|
364
|
+
"WELCOME_TITLE":"Hallo, willkommen in Tiledesk 👋",
|
365
|
+
"WELCOME_MSG":"Wie können wir helfen?",
|
366
|
+
"WELCOME":"Herzlich willkommen",
|
367
|
+
|
368
|
+
"OPTIONS":"Optionen",
|
369
|
+
"SOUND_OFF":"Ton aus",
|
370
|
+
"SOUND_ON":"Ton an",
|
371
|
+
"LOGOUT":"Ausloggen",
|
372
|
+
"CLOSE":"Schließen",
|
373
|
+
"PREV_CONVERSATIONS":"Ihre Gespräche",
|
374
|
+
"YOU":"Du",
|
375
|
+
"SHOW_ALL_CONV":"zeige alles",
|
376
|
+
"START_A_CONVERSATION":"Eine Konversation beginnen",
|
377
|
+
"NO_CONVERSATION":"keine Gespräche",
|
378
|
+
"SEE_PREVIOUS":"siehe vorher",
|
379
|
+
"WAITING_TIME_FOUND":"Das Team antwortet normalerweise in $reply_time",
|
380
|
+
"WAITING_TIME_NOT_FOUND":"Das Team wird so schnell wie möglich antworten",
|
381
|
+
"CLOSED":"Geschlossen",
|
382
|
+
|
383
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "Sie",
|
384
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "Sie wurden hinzugefügt ",
|
385
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "zum Chatten",
|
386
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "beigetreten",
|
387
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Chat wieder geöffnet",
|
388
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Chat geschlossen",
|
389
|
+
|
390
|
+
"TICKET_TAKING":"Die Anfrage ist eingegangen und wird vom Hilfspersonal bearbeitet.\nUm weitere Kommentare hinzuzufügen, antworten Sie auf diese E-Mail.",
|
391
|
+
|
392
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Pflichtfeld",
|
393
|
+
"SENT_AN_ATTACHMENT": "Anhang gesendet",
|
394
|
+
"SENT_AN_IMAGE": "ein Bild gesendet"
|
395
|
+
}
|
396
|
+
},
|
397
|
+
{
|
398
|
+
"lang":"PT",
|
399
|
+
"data":{
|
400
|
+
"LABEL_PLACEHOLDER":"Digite sua mensagem..",
|
401
|
+
"LABEL_START_NW_CONV":"Nova conversa",
|
402
|
+
"LABEL_FIRST_MSG":"Descreva em breve o seu problema, você será contactado por um agente.",
|
403
|
+
"LABEL_FIRST_MSG_NO_AGENTS":"🤔 Todos os operadores estão offline no momento. Em qualquer caso, você pode descrever seu problema. Ele será atribuído à equipe de suporte que responderá o mais breve possível.",
|
404
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED":"🤔 Nossos escritórios estão fechados. Em qualquer caso, você pode descrever seu problema. Ele será atribuído à equipe de suporte que responderá o mais breve possível.",
|
405
|
+
"LABEL_SELECT_TOPIC":"Selecione um topico",
|
406
|
+
"LABEL_COMPLETE_FORM":"Preencha o formulário para iniciar uma conversa com o próximo agente disponível.",
|
407
|
+
"LABEL_FIELD_NAME":"Nome",
|
408
|
+
"LABEL_ERROR_FIELD_NAME":"Campo obrigatório (mínimo de 2 caracteres).",
|
409
|
+
"LABEL_FIELD_EMAIL":"o email",
|
410
|
+
"LABEL_ERROR_FIELD_EMAIL":"Digite um endereço de e-mail válido.",
|
411
|
+
"LABEL_WRITING":"está escrevendo...",
|
412
|
+
"AGENT_NOT_AVAILABLE":"Desligado",
|
413
|
+
"AGENT_AVAILABLE":" Ligado",
|
414
|
+
"GUEST_LABEL":"Convidado",
|
415
|
+
"ALL_AGENTS_OFFLINE_LABEL":"Todos os operadores estão offline no momento",
|
416
|
+
"LABEL_LOADING":"A carregar...",
|
417
|
+
"CALLOUT_TITLE_PLACEHOLDER":"🖐 Precisas de ajuda?",
|
418
|
+
"CALLOUT_MSG_PLACEHOLDER":"Clique aqui e comece a conversar conosco!",
|
419
|
+
"CUSTOMER_SATISFACTION":"Satisfação do cliente",
|
420
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE":"A sua opinião sobre o nosso serviço de cliente",
|
421
|
+
"DOWNLOAD_TRANSCRIPT":"Descarregar a transcrição",
|
422
|
+
"BACK":"Voltar",
|
423
|
+
"YOUR_RATING":"A sua avaliação",
|
424
|
+
"WRITE_YOUR_OPINION":"Escreva a sua opinião ... (opcional)",
|
425
|
+
"SUBMIT":"Enviar",
|
426
|
+
"THANK_YOU_FOR_YOUR_EVALUATION":"Obrigado pela sua avaliação",
|
427
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED":"Sua classificação foi recebida",
|
428
|
+
"ALERT_LEAVE_CHAT":"Deseja sair da conversa?",
|
429
|
+
"YES":"Sim",
|
430
|
+
"NO":"Não",
|
431
|
+
"BUTTON_CLOSE_TO_ICON":"Minimizar messagem",
|
432
|
+
"BUTTON_EDIT_PROFILE":"Atualizar perfil",
|
433
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT":"Download transcript",
|
434
|
+
"RATE_CHAT":"Classificar conversa",
|
435
|
+
|
436
|
+
"WELLCOME_TITLE":"Olá, seja bem-vindo ao Tiledesk 👋",
|
437
|
+
"WELLCOME_MSG":"Como podemos ajudar?",
|
438
|
+
"WELLCOME":"Bem-vinda",
|
439
|
+
|
440
|
+
"WELCOME_TITLE":"Olá, seja bem-vindo ao Tiledesk 👋",
|
441
|
+
"WELCOME_MSG":"Como podemos ajudar?",
|
442
|
+
"WELCOME":"Bem-vinda",
|
443
|
+
|
444
|
+
"OPTIONS":"Opções",
|
445
|
+
"SOUND_OFF":"som desligado",
|
446
|
+
"SOUND_ON":"som ligado",
|
447
|
+
"LOGOUT":"sair",
|
448
|
+
"CLOSE":"Fechar",
|
449
|
+
"PREV_CONVERSATIONS":"Suas conversas",
|
450
|
+
"YOU":"Você",
|
451
|
+
"SHOW_ALL_CONV":"Mostre tudo",
|
452
|
+
"START_A_CONVERSATION":"Iniciar uma conversa",
|
453
|
+
"NO_CONVERSATION":"Nenhuma conversa",
|
454
|
+
"SEE_PREVIOUS":"ver anterior",
|
455
|
+
"WAITING_TIME_FOUND":"A equipe normalmente responde em $reply_time",
|
456
|
+
"WAITING_TIME_NOT_FOUND":"A equipe responderá o mais breve possível",
|
457
|
+
"CLOSED":"Fechado",
|
458
|
+
|
459
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "você",
|
460
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "você foi adicionado ",
|
461
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "para conversar",
|
462
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "aderiu",
|
463
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Chat reaberto",
|
464
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Bate-papo fechado",
|
465
|
+
|
466
|
+
"TICKET_TAKING":"A solicitação foi recebida e a equipe de assistência está tratando dela. \nPara adicionar mais comentários, responda a este e-mail.",
|
467
|
+
|
468
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Campo obrigatório",
|
469
|
+
"SENT_AN_ATTACHMENT": "enviou um anexo",
|
470
|
+
"SENT_AN_IMAGE": "enviou uma imagem"
|
471
|
+
}
|
472
|
+
},
|
473
|
+
{
|
474
|
+
"lang":"RU",
|
475
|
+
"data":{
|
476
|
+
"LABEL_PLACEHOLDER":"введите ваше сообщение ..",
|
477
|
+
"LABEL_START_NW_CONV":"Новый разговор",
|
478
|
+
"LABEL_FIRST_MSG":"Опишите вкратце вашу проблему, с вами свяжется агент.",
|
479
|
+
"LABEL_FIRST_MSG_NO_AGENTS":"🤔 Все операторы на данный момент не в сети. В любом случае вы можете описать свою проблему. Он будет назначен в службу поддержки, которая ответит вам как можно скорее.",
|
480
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED":"🤔 Наши офисы закрыты. В любом случае вы можете описать свою проблему. Он будет назначен в службу поддержки, которая ответит вам как можно скорее.",
|
481
|
+
"LABEL_SELECT_TOPIC":"Выберите тему",
|
482
|
+
"LABEL_COMPLETE_FORM":"Заполните форму, чтобы начать разговор со следующим доступным агентом.",
|
483
|
+
"LABEL_FIELD_NAME":"имя",
|
484
|
+
"LABEL_ERROR_FIELD_NAME":"Обязательное поле (минимум 2 символов).",
|
485
|
+
"LABEL_FIELD_EMAIL":"Электронное письмо",
|
486
|
+
"LABEL_ERROR_FIELD_EMAIL":"Введите действительный адрес электронной почты.",
|
487
|
+
"LABEL_WRITING":"пишет...",
|
488
|
+
"AGENT_NOT_AVAILABLE":"Не в сети",
|
489
|
+
"AGENT_AVAILABLE":"онлайн",
|
490
|
+
"GUEST_LABEL":"гость",
|
491
|
+
"ALL_AGENTS_OFFLINE_LABEL":"Все операторы на данный момент не работают",
|
492
|
+
"LABEL_LOADING":"загрузка...",
|
493
|
+
"CALLOUT_TITLE_PLACEHOLDER":"🖐 Нужна помощь?",
|
494
|
+
"CALLOUT_MSG_PLACEHOLDER":"Нажмите здесь и начните общаться с нами!",
|
495
|
+
"CUSTOMER_SATISFACTION":"Удовлетворенность клиентов",
|
496
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE":"Ваше мнение о нашей службе поддержки",
|
497
|
+
"DOWNLOAD_TRANSCRIPT":"Скачать стенограмму",
|
498
|
+
"BACK":"назад",
|
499
|
+
"YOUR_RATING":"ваш рейтинг",
|
500
|
+
"WRITE_YOUR_OPINION":"Напишите свое мнение ... (необязательно)",
|
501
|
+
"SUBMIT":"Разместить",
|
502
|
+
"THANK_YOU_FOR_YOUR_EVALUATION":"Спасибо за вашу оценку",
|
503
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED":"Ваша оценка была получена",
|
504
|
+
"ALERT_LEAVE_CHAT":"Вы хотите выйти из чата?",
|
505
|
+
"YES":"да",
|
506
|
+
"NO":"нет",
|
507
|
+
"BUTTON_CLOSE_TO_ICON":"Свернуть чат",
|
508
|
+
"BUTTON_EDIT_PROFILE":"Обновить профиль",
|
509
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT":"Download transcript",
|
510
|
+
"RATE_CHAT":"Оценить чат",
|
511
|
+
|
512
|
+
"WELLCOME_TITLE":"Привет, добро пожаловать в Tiledesk 👋",
|
513
|
+
"WELLCOME_MSG":"Как мы можем помочь?",
|
514
|
+
"WELLCOME":"желанный",
|
515
|
+
|
516
|
+
"WELCOME_TITLE":"Привет, добро пожаловать в Tiledesk 👋",
|
517
|
+
"WELCOME_MSG":"Как мы можем помочь?",
|
518
|
+
"WELCOME":"желанный",
|
519
|
+
|
520
|
+
"OPTIONS":"опции",
|
521
|
+
"SOUND_OFF":"звук выключен",
|
522
|
+
"SOUND_ON":"звучать на",
|
523
|
+
"LOGOUT":"выйти",
|
524
|
+
"CLOSE":"Закрывать",
|
525
|
+
"PREV_CONVERSATIONS":"Ваши разговоры",
|
526
|
+
"YOU":"Вы",
|
527
|
+
"SHOW_ALL_CONV":"показать все",
|
528
|
+
"START_A_CONVERSATION":"Начать разговор",
|
529
|
+
"NO_CONVERSATION":"Нет разговоров",
|
530
|
+
"SEE_PREVIOUS":"смотри предыдущий",
|
531
|
+
"WAITING_TIME_FOUND":"Команда обычно отвечает в $reply_time",
|
532
|
+
"WAITING_TIME_NOT_FOUND":"Команда ответит как можно скорее",
|
533
|
+
"CLOSED":"Закрыто",
|
534
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "вы",
|
535
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "вы добавлены ",
|
536
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "присоединился",
|
537
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "в чат",
|
538
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Чат возобновлен",
|
539
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Чат закрыт",
|
540
|
+
|
541
|
+
"TICKET_TAKING":"Запрос был получен, и обслуживающий персонал занимается им. \nЧтобы добавить больше комментариев, ответьте на это письмо.",
|
542
|
+
|
543
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Обязательное поле",
|
544
|
+
"SENT_AN_ATTACHMENT": "отправлено вложение",
|
545
|
+
"SENT_AN_IMAGE": "отправил изображение"
|
546
|
+
}
|
547
|
+
},
|
548
|
+
{
|
549
|
+
"lang":"TR",
|
550
|
+
"data":{
|
551
|
+
"LABEL_PLACEHOLDER":"Mesajınızı yazınız..",
|
552
|
+
"LABEL_START_NW_CONV":"Yeni konuşma",
|
553
|
+
"LABEL_FIRST_MSG":"Sorununuzu kısaca açıklayınız, bir temsilci tarafından sizinle iletişime geçilecektir.",
|
554
|
+
"LABEL_FIRST_MSG_NO_AGENTS":"🤔 Şuan tüm operatörler çevrim dışıdır. Yine de sorununuzu tarif edebilirsiniz. Sorununuz size en kısa sürede cevap verebilecek olan destek ekibine iletilecektir.",
|
555
|
+
"LABEL_FIRST_MSG_OPERATING_HOURS_CLOSED":"🤔 Ofislerimiz kapalıdır. Her halükarda sorununuzu tarif edebilirsiniz. Sorununuz size en kısa sürede cevap verebilecek olan destek ekibine iletilecektir.",
|
556
|
+
"LABEL_SELECT_TOPIC":"Bir konu seçiniz",
|
557
|
+
"LABEL_COMPLETE_FORM":"Sıradaki müsait temsilci ile görüşme başlatmak için formu doldurunuz.",
|
558
|
+
"LABEL_FIELD_NAME":"İsim",
|
559
|
+
"LABEL_ERROR_FIELD_NAME":"Gerekli alan (en az 2 karakter).",
|
560
|
+
"LABEL_FIELD_EMAIL":"Eposta",
|
561
|
+
"LABEL_ERROR_FIELD_EMAIL":"Geçerli bir eposta adresi giriniz",
|
562
|
+
"LABEL_WRITING":"Yazıyor…",
|
563
|
+
"AGENT_NOT_AVAILABLE":"Çevrimdışı",
|
564
|
+
"AGENT_AVAILABLE":"Çevrimiçi",
|
565
|
+
"GUEST_LABEL":"Misafir",
|
566
|
+
"ALL_AGENTS_OFFLINE_LABEL":"Tüm operatörler şuanda çevrimdışıdır",
|
567
|
+
"LABEL_LOADING":"Yükleniyor…",
|
568
|
+
"CALLOUT_TITLE_PLACEHOLDER":"🖐 yardıma mı ihtiyacınız var?",
|
569
|
+
"CALLOUT_MSG_PLACEHOLDER":"Buraya tıklayın ve bizimle sohbet etmeye başlayın!",
|
570
|
+
"CUSTOMER_SATISFACTION":"Müşteri memnuniyeti",
|
571
|
+
"YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE":"Müşteri hizmetlerimizle ilgili görüşleriniz",
|
572
|
+
"DOWNLOAD_TRANSCRIPT":"Konuşma metnini indir",
|
573
|
+
"BACK":"Konuşma metnini indir",
|
574
|
+
"YOUR_RATING":"Sizin değerlendirme notunuz",
|
575
|
+
"WRITE_YOUR_OPINION":"Düşüncenizi yazınız... (isteğe bağlı)",
|
576
|
+
"SUBMIT":"Gönder",
|
577
|
+
"THANK_YOU_FOR_YOUR_EVALUATION":"Değerlendirmeniz için teşekkür ederiz.",
|
578
|
+
"YOUR_RATING_HAS_BEEN_RECEIVED":"Değerlendirme notunuz alındı",
|
579
|
+
"ALERT_LEAVE_CHAT":"Sohbetten ayrılmak istiyor musunuz?",
|
580
|
+
"YES":"Evet",
|
581
|
+
"NO":"Hayır",
|
582
|
+
"BUTTON_CLOSE_TO_ICON":"Sohbeti küçültün",
|
583
|
+
"BUTTON_EDIT_PROFILE":"Profili güncelle",
|
584
|
+
"BUTTON_DOWNLOAD_TRANSCRIPT":"Download transcript",
|
585
|
+
"RATE_CHAT":"Sohbeti derecelendir",
|
586
|
+
|
587
|
+
"WELLCOME_TITLE":"Merhaba Tiledesk’e hoş geldiniz. 👋",
|
588
|
+
"WELLCOME_MSG":"Size nasıl yardımcı olabiliriz?",
|
589
|
+
"WELLCOME":"Hoş geldiniz.",
|
590
|
+
|
591
|
+
"WELCOME_TITLE":"Merhaba Tiledesk’e hoş geldiniz. 👋",
|
592
|
+
"WELCOME_MSG":"Size nasıl yardımcı olabiliriz?",
|
593
|
+
"WELCOME":"Hoş geldiniz.",
|
594
|
+
|
595
|
+
"OPTIONS":"Seçenekler",
|
596
|
+
"SOUND_OFF":"Ses kapalı",
|
597
|
+
"SOUND_ON":"Ses açık",
|
598
|
+
"LOGOUT":"Çıkış yap",
|
599
|
+
"CLOSE":"Kapat",
|
600
|
+
"PREV_CONVERSATIONS":"Konuşmalarınız",
|
601
|
+
"YOU":"Siz",
|
602
|
+
"SHOW_ALL_CONV":"Hepsini göster",
|
603
|
+
"START_A_CONVERSATION":"Bir konuşma başlatın",
|
604
|
+
"NO_CONVERSATION":"Konuşma yok",
|
605
|
+
"SEE_PREVIOUS":"Öncekine bak",
|
606
|
+
"WAITING_TIME_FOUND":"Ekip genellikle …… içerisinde cevaplar $reply_time",
|
607
|
+
"WAITING_TIME_NOT_FOUND":"Ekip en kısa süre içerisinde cevap verecektir.",
|
608
|
+
"CLOSED":"Kapali",
|
609
|
+
|
610
|
+
"INFO_SUPPORT_USER_ADDED_SUBJECT": "siz",
|
611
|
+
"INFO_SUPPORT_USER_ADDED_YOU_VERB": "eklendiniz ",
|
612
|
+
"INFO_SUPPORT_USER_ADDED_COMPLEMENT": "katıldı",
|
613
|
+
"INFO_SUPPORT_USER_ADDED_VERB": "sohbet etmek",
|
614
|
+
"INFO_SUPPORT_CHAT_REOPENED": "Sohbet yeniden açıldı",
|
615
|
+
"INFO_SUPPORT_CHAT_CLOSED": "Sohbet kapatıldı",
|
616
|
+
|
617
|
+
"TICKET_TAKING":"Talep alındı ve yardım ekibi bununla ilgileniyor.\nDaha fazla yorum eklemek için bu e-postayı yanıtlayın.",
|
618
|
+
|
619
|
+
"LABEL_ERROR_FIELD_REQUIRED": "Gerekli alan",
|
620
|
+
"SENT_AN_ATTACHMENT": "bir ek gönderdi",
|
621
|
+
"SENT_AN_IMAGE": "bir resim gönderdi"
|
622
|
+
}
|
623
|
+
}
|
624
|
+
]
|
package/event/messageEvent.js
CHANGED
@@ -60,14 +60,14 @@ function populateMessageWithRequest(message, eventPrefix) {
|
|
60
60
|
populate('participatingBots').
|
61
61
|
populate('participatingAgents').
|
62
62
|
populate({path:'requester',populate:{path:'id_user'}}).
|
63
|
-
lean()
|
63
|
+
lean()
|
64
64
|
//perche lean?
|
65
65
|
// TODO availableAgentsCount nn c'è per il lean problema trigger
|
66
66
|
// request.department._id DA CORREGGERE ANCHE PER REQUEST.CREATE
|
67
67
|
// request.department.hasBot
|
68
68
|
// request.isOpen
|
69
|
-
cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
70
|
-
exec(function (err, request) {
|
69
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
70
|
+
.exec(function (err, request) {
|
71
71
|
|
72
72
|
if (err) {
|
73
73
|
winston.error("Error getting request on messageEvent.populateMessage",err );
|
@@ -83,7 +83,7 @@ function populateMessageWithRequest(message, eventPrefix) {
|
|
83
83
|
if (request.department && request.department.id_bot) {
|
84
84
|
// if (request.department) {
|
85
85
|
Faq_kb.findById(request.department.id_bot)
|
86
|
-
.cache(cacheUtil.defaultTTL, message.id_project+":faq_kbs:id:"+request.department.id_bot)
|
86
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, message.id_project+":faq_kbs:id:"+request.department.id_bot)
|
87
87
|
.exec(function(err, bot) {
|
88
88
|
winston.debug('bot', bot);
|
89
89
|
requestJson.department.bot = bot
|
package/middleware/has-role.js
CHANGED
@@ -138,7 +138,7 @@ class RoleChecker {
|
|
138
138
|
winston.debug("hasRoleOrType query " + JSON.stringify(query));
|
139
139
|
|
140
140
|
Project_user.findOne(query)
|
141
|
-
.cache(cacheUtil.defaultTTL, req.params.projectid+":project_users:id:"+req.user.id)
|
141
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, req.params.projectid+":project_users:id:"+req.user.id)
|
142
142
|
.exec(function (err, project_user) {
|
143
143
|
if (err) {
|
144
144
|
winston.error("Error getting project_user for hasrole",err);
|
package/middleware/passport.js
CHANGED
@@ -129,7 +129,7 @@ module.exports = function(passport) {
|
|
129
129
|
|
130
130
|
winston.debug("project id: "+ AudienceId );
|
131
131
|
Project.findOne({_id: AudienceId, status: 100}).select('+jwtSecret')
|
132
|
-
.cache(cacheUtil.queryTTL, "projects:query:id:status:100:"+AudienceId+":select:+jwtSecret")
|
132
|
+
//@DISABLED_CACHE .cache(cacheUtil.queryTTL, "projects:query:id:status:100:"+AudienceId+":select:+jwtSecret")
|
133
133
|
.exec(function (err, project){
|
134
134
|
if (err) {
|
135
135
|
winston.error("auth Project err: ", {error:err, decoded: decoded} );
|
@@ -317,7 +317,7 @@ module.exports = function(passport) {
|
|
317
317
|
} else {
|
318
318
|
winston.debug("Passport JWT generic user");
|
319
319
|
User.findOne({_id: identifier, status: 100})
|
320
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+identifier)
|
320
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+identifier)
|
321
321
|
.exec(function(err, user) {
|
322
322
|
if (err) {
|
323
323
|
winston.error("Passport JWT generic err ", err);
|
@@ -349,7 +349,7 @@ module.exports = function(passport) {
|
|
349
349
|
winston.debug("email lowercase: " + email);
|
350
350
|
|
351
351
|
User.findOne({ email: email, status: 100}, 'email firstname lastname password emailverified id')
|
352
|
-
.cache(cacheUtil.defaultTTL, "users:email:"+email)
|
352
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:email:"+email)
|
353
353
|
.exec(function (err, user) {
|
354
354
|
|
355
355
|
if (err) {
|
package/models/request.js
CHANGED
@@ -429,7 +429,7 @@ RequestSchema.index({ id_project: 1, status: 1, preflight:1, updatedAt: -1 }); /
|
|
429
429
|
|
430
430
|
RequestSchema.index({ id_project: 1, preflight:1, updatedAt: -1 }); // used query ws (topic.endsWith('/requests'))
|
431
431
|
|
432
|
-
|
432
|
+
RequestSchema.index({ hasBot: 1, createdAt: 1 }); // suggested by atlas
|
433
433
|
|
434
434
|
|
435
435
|
// cannot index parallel arrays [agents] [participants] {"driv
|
package/package.json
CHANGED
@@ -376,7 +376,7 @@ sendToAgentEmailChannelEmail(projectid, message) {
|
|
376
376
|
}
|
377
377
|
|
378
378
|
User.findOne({_id: userid , status: 100})
|
379
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+userid)
|
379
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+userid)
|
380
380
|
.exec(function (err, user) {
|
381
381
|
if (err) {
|
382
382
|
// winston.debug(err);
|
@@ -430,7 +430,7 @@ sendToAgentEmailChannelEmail(projectid, message) {
|
|
430
430
|
}
|
431
431
|
|
432
432
|
User.findOne({_id: assignedId, status: 100})
|
433
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+assignedId)
|
433
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+assignedId)
|
434
434
|
.exec(function (err, user) {
|
435
435
|
if (err) {
|
436
436
|
winston.error("Error sending email to " + savedRequest.participants[0], err);
|
@@ -707,7 +707,7 @@ sendAgentEmail(projectid, savedRequest) {
|
|
707
707
|
}
|
708
708
|
|
709
709
|
User.findOne({_id: userid , status: 100})
|
710
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+userid)
|
710
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+userid)
|
711
711
|
.exec(function (err, user) {
|
712
712
|
if (err) {
|
713
713
|
// winston.debug(err);
|
@@ -769,7 +769,7 @@ sendAgentEmail(projectid, savedRequest) {
|
|
769
769
|
return winston.warn("RequestNotification email notification for the user with id : " + assignedId + " not found project_user");
|
770
770
|
}
|
771
771
|
User.findOne({_id: assignedId, status: 100})
|
772
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+assignedId)
|
772
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+assignedId)
|
773
773
|
.exec(function (err, user) {
|
774
774
|
if (err) {
|
775
775
|
winston.error("Error sending email to " + savedRequest.participants[0], err);
|
@@ -38,9 +38,9 @@ class MessageHandlebarsTransformerInterceptor {
|
|
38
38
|
populate({path:'requester',populate:{path:'id_user'}});
|
39
39
|
// }
|
40
40
|
|
41
|
-
var request = await q1
|
42
|
-
cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
43
|
-
exec();
|
41
|
+
var request = await q1
|
42
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
43
|
+
.exec();
|
44
44
|
|
45
45
|
|
46
46
|
|
@@ -37,14 +37,14 @@ class MessageTransformerInterceptor {
|
|
37
37
|
var language = "EN";
|
38
38
|
|
39
39
|
// cacherequest // requestcachefarequi nocachepopulatereqired
|
40
|
-
var request = await Request.findOne({request_id: message.recipient, id_project: message.id_project})
|
40
|
+
var request = await Request.findOne({request_id: message.recipient, id_project: message.id_project})
|
41
41
|
// populate('lead').
|
42
42
|
// populate('department').
|
43
43
|
// populate('participatingBots').
|
44
44
|
// populate('participatingAgents').
|
45
45
|
// populate({path:'requester',populate:{path:'id_user'}}).
|
46
|
-
cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
47
|
-
exec();
|
46
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, message.id_project+":requests:request_id:"+message.recipient)
|
47
|
+
.exec();
|
48
48
|
|
49
49
|
winston.debug('request mti: ', request);
|
50
50
|
|
package/routes/department.js
CHANGED
@@ -166,7 +166,7 @@ router.get('/allstatus', [passport.authenticate(['basic', 'jwt'], { session: fal
|
|
166
166
|
winston.debug("## GET ALL DEPTS QUERY (1)", query)
|
167
167
|
// return Department.find({ "id_project": req.projectid }, function (err, departments) {
|
168
168
|
return Department.find(query)
|
169
|
-
.cache(cacheUtil.defaultTTL, req.projectid+":departments:query:allstatus")
|
169
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, req.projectid+":departments:query:allstatus")
|
170
170
|
.exec(function (err, departments) {
|
171
171
|
if (err) {
|
172
172
|
winston.error('Error getting the departments.', err);
|
package/routes/message.js
CHANGED
@@ -66,7 +66,7 @@ async (req, res) => {
|
|
66
66
|
// .populate('participatingBots')
|
67
67
|
// .populate('participatingAgents')
|
68
68
|
// .populate({path:'requester',populate:{path:'id_user'}})
|
69
|
-
|
69
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, req.projectid+":requests:request_id:"+req.params.request_id)
|
70
70
|
.exec(async(err, request) => {
|
71
71
|
|
72
72
|
if (err) {
|
package/routes/project.js
CHANGED
@@ -313,7 +313,7 @@ router.patch('/:projectid', [passport.authenticate(['basic', 'jwt'], { session:
|
|
313
313
|
router.get('/:projectid', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRoleOrTypes('agent', ['subscription'])], function (req, res) {
|
314
314
|
winston.debug(req.body);
|
315
315
|
Project.findOne({_id: req.params.projectid, status:100})
|
316
|
-
.cache(cacheUtil.defaultTTL, "projects:id:"+req.params.projectid)
|
316
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "projects:id:"+req.params.projectid)
|
317
317
|
.exec(function (err, project) {
|
318
318
|
if (err) {
|
319
319
|
winston.error('Error getting project ', err);
|
package/routes/project_user.js
CHANGED
@@ -462,8 +462,8 @@ router.get('/users/:user_id', [passport.authenticate(['basic', 'jwt'], { session
|
|
462
462
|
* RETURN THE PROJECT-USERS OBJECTS FILTERD BY PROJECT-ID AND WITH NESTED THE USER OBJECT
|
463
463
|
* WF: 1. GET PROJECT-USER by the passed project ID
|
464
464
|
* 2. POPULATE THE user_id OF THE PROJECT-USER object WITH THE USER OBJECT
|
465
|
-
*/
|
466
|
-
router.get('/', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.
|
465
|
+
*/
|
466
|
+
router.get('/', [passport.authenticate(['basic', 'jwt'], { session: false }), validtoken, roleChecker.hasRoleOrTypes('agent', ['subscription'])], function (req, res) {
|
467
467
|
|
468
468
|
var role = [RoleConstants.OWNER, RoleConstants.ADMIN, RoleConstants.SUPERVISOR, RoleConstants.AGENT];
|
469
469
|
|
package/routes/widget.js
CHANGED
@@ -116,8 +116,8 @@ router.get('/', function(req, res, next) {
|
|
116
116
|
|
117
117
|
// TOOD add labels
|
118
118
|
Promise.all([
|
119
|
-
Project.findOne({_id: req.projectid, status: 100}).select('-settings')
|
120
|
-
.cache(cacheUtil.queryTTL, "projects:query:id:status:100:"+req.projectid+":select:-settings")
|
119
|
+
Project.findOne({_id: req.projectid, status: 100}).select('-settings') //--profile todo trialExpired attento user_available cambia spesso quindi magari leggerlo dal db ogni volta
|
120
|
+
//@DISABLED_CACHE .cache(cacheUtil.queryTTL, "projects:query:id:status:100:"+req.projectid+":select:-settings")
|
121
121
|
,
|
122
122
|
availableUsers()
|
123
123
|
,
|
package/services/emailService.js
CHANGED
@@ -98,13 +98,13 @@ class EmailService {
|
|
98
98
|
this.host = process.env.EMAIL_HOST || config.host;
|
99
99
|
winston.info('EmailService host: ' + this.host);
|
100
100
|
|
101
|
-
this.secure = process.env.EMAIL_SECURE || false;
|
101
|
+
this.secure = process.env.EMAIL_SECURE || false; //gestire bene il parsing da stringa per kube
|
102
102
|
winston.info('EmailService secure: ' + this.secure);
|
103
103
|
|
104
104
|
this.user = process.env.EMAIL_USERNAME || config.username;
|
105
105
|
winston.info('EmailService username: ' + this.user);
|
106
106
|
|
107
|
-
this.port = process.env.EMAIL_PORT;
|
107
|
+
this.port = process.env.EMAIL_PORT; //default is 587
|
108
108
|
winston.info('EmailService port: ' + this.port);
|
109
109
|
|
110
110
|
|
@@ -88,7 +88,7 @@ class FaqBotHandler {
|
|
88
88
|
|
89
89
|
|
90
90
|
Faq_kb.findById(botId)
|
91
|
-
.cache(cacheUtil.defaultTTL, message.id_project+":faq_kbs:id:"+botId)
|
91
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, message.id_project+":faq_kbs:id:"+botId)
|
92
92
|
.exec(function(err, faq_kb) {
|
93
93
|
if (err) {
|
94
94
|
return winston.error("Error getting bot object.",err);
|
@@ -122,7 +122,7 @@ getAllMerged(id_project) {
|
|
122
122
|
|
123
123
|
|
124
124
|
return Label.findOne(query).lean()
|
125
|
-
.cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
125
|
+
//@DISABLED_CACHE .cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
126
126
|
.exec(function (err, labels) {
|
127
127
|
if (err) {
|
128
128
|
winston.error('Label ROUTE - REQUEST FIND ERR ', err)
|
@@ -167,7 +167,7 @@ getAll(id_project) {
|
|
167
167
|
|
168
168
|
|
169
169
|
return Label.findOne(query).lean()
|
170
|
-
.cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
170
|
+
//@DISABLED_CACHE .cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
171
171
|
.exec(function (err, labels) {
|
172
172
|
if (err) {
|
173
173
|
winston.error('Label ROUTE - REQUEST FIND ERR ', err)
|
package/services/labelService.js
CHANGED
@@ -74,7 +74,7 @@ getAll(id_project) {
|
|
74
74
|
|
75
75
|
|
76
76
|
return Label.findOne(query).lean()
|
77
|
-
.cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
77
|
+
//@DISABLED_CACHE .cache(cacheUtil.longTTL, id_project+":labels:query:all")
|
78
78
|
.exec(function (err, labels) {
|
79
79
|
if (err) {
|
80
80
|
winston.error('Label ROUTE - REQUEST FIND ERR ', err)
|
package/services/leadService.js
CHANGED
@@ -14,7 +14,7 @@ class LeadService {
|
|
14
14
|
var that = this;
|
15
15
|
return new Promise(function (resolve, reject) {
|
16
16
|
return Lead.findOne({email: email, id_project: id_project})
|
17
|
-
.cache(cacheUtil.defaultTTL, id_project+":leads:email:"+email)
|
17
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":leads:email:"+email)
|
18
18
|
.exec(function(err, lead) {
|
19
19
|
if (err) {
|
20
20
|
return reject(err);
|
@@ -58,7 +58,7 @@ class LeadService {
|
|
58
58
|
var that = this;
|
59
59
|
return new Promise(function (resolve, reject) {
|
60
60
|
return Lead.findOne({lead_id: lead_id, id_project: id_project})
|
61
|
-
.cache(cacheUtil.defaultTTL, id_project+":leads:lead_id:"+lead_id)
|
61
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":leads:lead_id:"+lead_id)
|
62
62
|
.exec(function(err, lead) {
|
63
63
|
if (err) {
|
64
64
|
winston.error("Error createIfNotExistsWithLeadId", err);
|
@@ -12,7 +12,7 @@ class OperatingHoursService {
|
|
12
12
|
|
13
13
|
// winston.debug('O ---> [ OHS ] -> PROJECT ID ', projectId)
|
14
14
|
Project.findOne({_id: projectId, status: 100})
|
15
|
-
.cache(cacheUtil.defaultTTL, "projects:id:"+projectId)
|
15
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "projects:id:"+projectId)
|
16
16
|
.exec(function (err, project) {
|
17
17
|
// winston.debug("XXXXXXXX project", project);
|
18
18
|
if (err) {
|
@@ -170,7 +170,7 @@ class RequestService {
|
|
170
170
|
|
171
171
|
return Request
|
172
172
|
.findOne({request_id: request_id, id_project: id_project})
|
173
|
-
.cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
173
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
174
174
|
.exec( function(err, request) {
|
175
175
|
|
176
176
|
if (err) {
|
@@ -322,7 +322,7 @@ class RequestService {
|
|
322
322
|
|
323
323
|
return Request
|
324
324
|
.findOne({request_id: request_id, id_project: id_project})
|
325
|
-
.cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
325
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
326
326
|
.exec( function(err, request) {
|
327
327
|
|
328
328
|
if (err) {
|
@@ -901,7 +901,7 @@ class RequestService {
|
|
901
901
|
.populate('participatingBots')
|
902
902
|
.populate('participatingAgents')
|
903
903
|
.populate({path:'requester',populate:{path:'id_user'}})
|
904
|
-
.cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
904
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":requests:request_id:"+request_id)
|
905
905
|
.exec(function(err, request) {
|
906
906
|
if (err) {
|
907
907
|
winston.error(err);
|
package/utils/sendMessageUtil.js
CHANGED
@@ -23,14 +23,14 @@ async send(sender, senderFullname, recipient, text, id_project, createdBy, attri
|
|
23
23
|
winston.debug("bot id: "+id);
|
24
24
|
sender = id; //change sender removing bot_
|
25
25
|
var bot = await Faq_kb.findById(id)
|
26
|
-
.cache(cacheUtil.defaultTTL, id_project+":faq_kbs:id:"+id)
|
26
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, id_project+":faq_kbs:id:"+id)
|
27
27
|
.exec();
|
28
28
|
winston.debug("bot",bot);
|
29
29
|
senderFullname = bot.name;
|
30
30
|
} else {
|
31
31
|
winston.debug("user id: "+sender);
|
32
32
|
var user = await User.findById(sender)
|
33
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+sender)
|
33
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+sender)
|
34
34
|
.exec()
|
35
35
|
winston.debug("user", user);
|
36
36
|
senderFullname = user.fullName;
|
@@ -93,7 +93,7 @@ class WebSocketServer {
|
|
93
93
|
// winston.debug('ok websocket');
|
94
94
|
|
95
95
|
User.findOne({_id: identifier, status: 100}, 'email firstname lastname emailverified id')
|
96
|
-
.cache(cacheUtil.defaultTTL, "users:id:"+identifier)
|
96
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+identifier)
|
97
97
|
.exec(function (err, user) {
|
98
98
|
|
99
99
|
|
@@ -176,7 +176,7 @@ class WebSocketServer {
|
|
176
176
|
|
177
177
|
|
178
178
|
return Project.findOne({ _id: projectId, status: 100})
|
179
|
-
.cache(cacheUtil.defaultTTL, "projects:id:"+projectId)
|
179
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "projects:id:"+projectId)
|
180
180
|
.exec(function(err, project) {
|
181
181
|
if (err) {
|
182
182
|
winston.error('WebSocket - Error getting Project', err);
|
@@ -197,7 +197,7 @@ class WebSocketServer {
|
|
197
197
|
|
198
198
|
|
199
199
|
Project_user.findOne({ id_project: projectId, id_user: req.user._id, $or:[ {"role": "agent"}, {"role": "admin"}, {"role": "owner"}], status: "active" })
|
200
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
200
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
201
201
|
.exec(function (err, projectuser) {
|
202
202
|
if (err) {
|
203
203
|
winston.error('WebSocket error getting Project_user', err);
|
@@ -266,7 +266,7 @@ class WebSocketServer {
|
|
266
266
|
|
267
267
|
|
268
268
|
Project_user.findOne({ id_project: projectId, id_user: req.user._id, $or:[ {"role": "agent"}, {"role": "admin"}, {"role": "owner"}], status: "active"})
|
269
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
269
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
270
270
|
.exec(function (err, projectuser) {
|
271
271
|
if (err) {
|
272
272
|
winston.error('WebSocket error getting Project_user', err);
|
@@ -315,7 +315,7 @@ class WebSocketServer {
|
|
315
315
|
.limit(lastRequestsLimit)
|
316
316
|
// DISABLED 23Marzo2021 per problema request.snapshot.requester.isAuthenticated = undefined
|
317
317
|
.lean() //https://www.tothenew.com/blog/high-performance-find-query-using-lean-in-mongoose-2/ https://stackoverflow.com/questions/33104136/mongodb-mongoose-slow-query-when-fetching-10k-documents
|
318
|
-
.cache(cacheUtil.queryTTL, projectId+":requests:query:status-50-1000:preflight-false:select_snapshot_agents:"+cacheUserId)
|
318
|
+
//@DISABLED_CACHE .cache(cacheUtil.queryTTL, projectId+":requests:query:status-50-1000:preflight-false:select_snapshot_agents:"+cacheUserId)
|
319
319
|
.exec(function(err, requests) {
|
320
320
|
|
321
321
|
if (err) {
|
@@ -381,7 +381,7 @@ class WebSocketServer {
|
|
381
381
|
|
382
382
|
//check if current user can see the data
|
383
383
|
Project_user.findOne({ id_project: projectId, id_user: req.user._id, $or:[ {"role": "agent"}, {"role": "admin"}, {"role": "owner"}], status: "active"})
|
384
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
384
|
+
//@DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
385
385
|
.exec(function (err, currentProjectuser) {
|
386
386
|
if (err) {
|
387
387
|
winston.error('WebSocket error getting Project_user', err);
|
@@ -407,7 +407,7 @@ class WebSocketServer {
|
|
407
407
|
}
|
408
408
|
|
409
409
|
Project_user.findOne(query)
|
410
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:users:"+userId)
|
410
|
+
// @DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:users:"+userId)
|
411
411
|
.exec(function (err, projectuser) {
|
412
412
|
if (err) {
|
413
413
|
winston.error('WebSocket error getting Project_user', err);
|
@@ -451,7 +451,7 @@ class WebSocketServer {
|
|
451
451
|
winston.debug(' query: ',query);
|
452
452
|
|
453
453
|
Project_user.findOne(query)
|
454
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:"+puId)
|
454
|
+
// @DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:"+puId)
|
455
455
|
.exec(function (err, projectuser) {
|
456
456
|
if (err) {
|
457
457
|
winston.error('WebSocket error getting Project_user', err);
|
@@ -491,7 +491,7 @@ class WebSocketServer {
|
|
491
491
|
winston.debug(' query: ',query);
|
492
492
|
|
493
493
|
EventModel.find(query)
|
494
|
-
.cache(cacheUtil.defaultTTL, projectId+":events:"+puId)
|
494
|
+
// @DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":events:"+puId)
|
495
495
|
.sort({createdAt: 'desc'})
|
496
496
|
.limit(lastEventsLimit)
|
497
497
|
.exec(function(err, events) {
|
@@ -518,7 +518,7 @@ class WebSocketServer {
|
|
518
518
|
winston.debug('recipientId: '+recipientId);
|
519
519
|
|
520
520
|
Project_user.findOne({ id_project: projectId, id_user: req.user._id, $or:[ {"role": "agent"}, {"role": "admin"}, {"role": "owner"}], status: "active" })
|
521
|
-
.cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
521
|
+
// @DISABLED_CACHE .cache(cacheUtil.defaultTTL, projectId+":project_users:role:teammate:"+req.user._id)
|
522
522
|
.exec(function (err, projectuser) {
|
523
523
|
if (err) {
|
524
524
|
winston.error('WebSocket error getting Project_user', err);
|