@tiledesk/tiledesk-server 2.3.127 β†’ 2.3.129

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -5,7 +5,126 @@
5
5
  πŸš€ IN PRODUCTION πŸš€
6
6
  (https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
7
7
 
8
- # 2.3.93 -> PROD v3
8
+
9
+
10
+ # 2.3.127
11
+ - Added Google OAuth Strategy
12
+ - tiledesk/tiledesk-tybot-connector": "^0.1.76
13
+
14
+
15
+ # 2.3.126
16
+ - removed secret from faq_kb cache before caching
17
+ - removed description and attributes from chabot subscription notifier to reduce the payload size
18
+
19
+ # 2.3.125
20
+ - @tiledesk/tiledesk-tybot-connector@0.1.74
21
+
22
+ # 2.3.124
23
+ - tiledesk/tiledesk-messenger-connector 0.1.8
24
+
25
+ # 2.3.123
26
+ - tiledesk/tiledesk-messenger-connector 0.1.7
27
+
28
+ # 2.3.122
29
+ - new stripe
30
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.73
31
+
32
+ # 2.3.121
33
+ - trial period to 14 days
34
+ - tiledesk-ent/tiledesk-server-payments: 1.1.9 with new stripe plan
35
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.72
36
+
37
+ # 2.3.120
38
+ - ocf fix
39
+
40
+ # 2.3.119
41
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.71
42
+
43
+ # 2.3.118
44
+ - tiledesk/tiledesk-messenger-connector 0.1.3
45
+
46
+ # 2.3.117
47
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.70
48
+
49
+ # 2.3.116
50
+ - tiledesk/tiledesk-dialogflow-connector": "^1.8.4",
51
+
52
+ # 2.3.115
53
+ - github action fix
54
+
55
+ # 2.3.113
56
+ - tiledesk-ent/tiledesk-server-payments: 1.1.7 with new stripe plan
57
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.68
58
+ - tiledesk-whatsapp-connector 0.1.41
59
+
60
+ # 2.3.112
61
+ - fb messenger fix
62
+
63
+ # 2.3.111
64
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.67
65
+ - facebook messenger plugin added
66
+
67
+ # 2.3.110
68
+ - websocket fix ATTENTION change value by reference
69
+ - Bugfix: Cannot read property 'toString' of undefined at /usr/src/app/services/requestService.js:404
70
+ - Updated tiledesk/tiledesk-whatsapp-connector 0.1.40
71
+ - Implmented request /agent endpoint (also support request with empty deparment generated by direct agent/bot assignment with participants field)
72
+ - fixed bug: fields webhook_enabled and webhook_url was ignored on β€œpublish”
73
+
74
+ # 2.3.109
75
+ - Added support gif mimetype for image endpoint
76
+
77
+ # 2.3.108
78
+ - BugFix Chat21 event emitter listener changes request attributes values by reference
79
+ - Restored populate for message endpoint
80
+ - Test attributes send message
81
+
82
+ # 2.3.107
83
+ - bugfix execPopulate message endpoint wrong attributes
84
+ - Dependency updated tiledesk-whatsapp-connector 0.1.39
85
+
86
+
87
+ # 2.3.106
88
+ @tiledesk/tiledesk-tybot-connector 0.1.63
89
+ {{dateFormat request.createdAt \"DD/MM/YYYY HH:mm:ss\"}}
90
+ # 2.3.105
91
+ - tiledesk/tiledesk-apps: 1.0.14
92
+
93
+ # 2.3.104
94
+ - apps module auth fix
95
+
96
+ # 2.3.103
97
+ - Fix image not found bug
98
+
99
+ # 2.3.102
100
+ - Fix image not found bug
101
+
102
+ # 2.3.101
103
+ - created property entity and endpoint
104
+ - JSON_BODY_LIMIT env variable fix
105
+
106
+ # 2.3.100
107
+ - added filter by tags for lead endpoint
108
+
109
+ # 2.3.99
110
+ - tags field changed to flat object
111
+
112
+ # 2.3.98
113
+ - Ocf fix
114
+
115
+ # 2.3.97
116
+ - Updated dependency @tiledesk/tiledesk-tybot-connector to 0.1.62
117
+
118
+ # 2.3.96
119
+ - image endpoint set content type and length headers
120
+
121
+ # 2.3.95
122
+ - Bugfix when a conversation has a first_text with \agent
123
+
124
+ # 2.3.94
125
+ - log fix
126
+
127
+ # 2.3.93
9
128
  - subscriptionNotifier secret fix
10
129
 
11
130
  # 2.3.92
package/models/profile.js CHANGED
@@ -29,6 +29,15 @@ var ProfileSchema = new Schema({
29
29
  subscriptionId: {
30
30
  type: String,
31
31
  },
32
+ extra1: {
33
+ type: String,
34
+ },
35
+ extra2: {
36
+ type: String,
37
+ },
38
+ extra3: {
39
+ type: String,
40
+ },
32
41
  subscription_creation_date: {
33
42
  type: Date,
34
43
  },
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.3.127",
4
+ "version": "2.3.129",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -146,6 +146,7 @@ class RulesTrigger {
146
146
 
147
147
  if (text && text.endsWith(":tdk_msg_subtype_info")) {
148
148
  attributes.subtype = "info";
149
+ //TODO ATTENTION change value by reference text. Text is string so string is passed by value. No problem
149
150
  text = text.replace(':tdk_msg_subtype_info', '');
150
151
  winston.verbose('tdk_msg_subtype_info');
151
152
  }
@@ -250,7 +251,8 @@ class RulesTrigger {
250
251
  //custom ocf here
251
252
  //prod //pre
252
253
  if (eventTrigger.event.id_project =="6406e34727b57500120b1bd6" || eventTrigger.event.id_project == "642c609f179910002cc56b3e") {
253
- subject = "Richiesta di supporto #" + eventTrigger.event.ticket_id;
254
+ // subject = "Richiesta di supporto #" + eventTrigger.event.ticket_id;
255
+ subject = "Segnalazione #" + eventTrigger.event.ticket_id;
254
256
  if (eventTrigger.event.subject) {
255
257
  subject = subject + " - " + eventTrigger.event.subject;
256
258
  }
@@ -758,6 +760,7 @@ class RulesTrigger {
758
760
  winston.debug('runAction action preflight: ' + preflight);
759
761
 
760
762
  if (text && text.indexOf(":tdk_msg_subtype_info")>-1) {
763
+ //TODO ATTENTION change value by reference text subtype. Text is string so string is passed by value. No problem
761
764
 
762
765
  subtype = "info";
763
766
  text = text.replace(':tdk_msg_subtype_info', '');
@@ -766,6 +769,7 @@ class RulesTrigger {
766
769
 
767
770
  if (text && text.indexOf(":tdk_req_status_hidden")>-1) {
768
771
 
772
+ //TODO ATTENTION change value by reference status preflight text. Text is string so string is passed by value. No problem
769
773
  status = 50;
770
774
  preflight = true;
771
775
  text = text.replace(':tdk_req_status_hidden', '');
package/routes/email.js CHANGED
@@ -32,6 +32,276 @@ router.post('/test/send',
32
32
 
33
33
  });
34
34
 
35
+
36
+ if (process.env.ENABLE_TEST_EMAIL_ENDPOINT==true || process.env.ENABLE_TEST_EMAIL_ENDPOINT=="true") {
37
+
38
+
39
+ router.post('/test/sendNewAssignedRequestNotification',
40
+ async (req, res) => {
41
+
42
+ let to = req.body.to;
43
+ winston.debug("to",to);
44
+
45
+ let configEmail = req.body.config;
46
+ winston.debug("configEmail", configEmail);
47
+
48
+ let request = {
49
+ "_id" : "6316fe117c04320341200e8a",
50
+ "status" : 50,
51
+ "preflight" : true,
52
+ "hasBot" : false,
53
+ "participants" : [],
54
+ "priority" : "medium",
55
+ "request_id" : "support-group-123",
56
+ "first_text" : "first_text"
57
+ }
58
+
59
+ emailService.sendNewAssignedRequestNotification(to, request, req.project);
60
+
61
+ res.json({"status":"delivering"});
62
+
63
+ });
64
+
65
+
66
+ router.post('/test/sendNewAssignedAgentMessageEmailNotification',
67
+ async (req, res) => {
68
+
69
+ let to = req.body.to;
70
+ winston.debug("to",to);
71
+
72
+ let configEmail = req.body.config;
73
+ winston.debug("configEmail", configEmail);
74
+
75
+ let request = {
76
+ "_id" : "6316fe117c04320341200e8a",
77
+ "status" : 50,
78
+ "preflight" : true,
79
+ "hasBot" : false,
80
+ "participants" : [],
81
+ "priority" : "medium",
82
+ "request_id" : "support-group-123",
83
+ "first_text" : "first_text"
84
+ }
85
+ let message = {
86
+ "text": "text",
87
+ "request": request
88
+ }
89
+ //(to, request, project, message)
90
+ emailService.sendNewAssignedAgentMessageEmailNotification(to, request, req.project, message);
91
+
92
+ res.json({"status":"delivering"});
93
+
94
+ });
95
+
96
+
97
+
98
+
99
+
100
+ router.post('/test/sendNewPooledRequestNotification',
101
+ async (req, res) => {
102
+
103
+ let to = req.body.to;
104
+ winston.debug("to",to);
105
+
106
+ let configEmail = req.body.config;
107
+ winston.debug("configEmail", configEmail);
108
+
109
+ let request = {
110
+ "_id" : "6316fe117c04320341200e8a",
111
+ "status" : 50,
112
+ "preflight" : true,
113
+ "hasBot" : false,
114
+ "participants" : [],
115
+ "priority" : "medium",
116
+ "request_id" : "support-group-123",
117
+ "first_text" : "first_text"
118
+ }
119
+
120
+ emailService.sendNewPooledRequestNotification(to, request, req.project);
121
+
122
+ res.json({"status":"delivering"});
123
+
124
+ });
125
+
126
+
127
+
128
+
129
+
130
+ router.post('/test/sendNewPooledMessageEmailNotification',
131
+ async (req, res) => {
132
+
133
+ let to = req.body.to;
134
+ winston.debug("to",to);
135
+
136
+ let configEmail = req.body.config;
137
+ winston.debug("configEmail", configEmail);
138
+
139
+ let request = {
140
+ "_id" : "6316fe117c04320341200e8a",
141
+ "status" : 50,
142
+ "preflight" : true,
143
+ "hasBot" : false,
144
+ "participants" : [],
145
+ "priority" : "medium",
146
+ "request_id" : "support-group-123",
147
+ "first_text" : "first_text"
148
+ }
149
+ let message = {
150
+ "text": "text",
151
+ "request": request
152
+ }
153
+
154
+ emailService.sendNewPooledMessageEmailNotification(to, request, req.project, message);
155
+
156
+ res.json({"status":"delivering"});
157
+
158
+ });
159
+
160
+
161
+
162
+
163
+
164
+ router.post('/test/sendNewMessageNotification',
165
+ async (req, res) => {
166
+
167
+ let to = req.body.to;
168
+ winston.debug("to",to);
169
+
170
+ let configEmail = req.body.config;
171
+ winston.debug("configEmail", configEmail);
172
+
173
+ let request = {
174
+ "_id" : "6316fe117c04320341200e8a",
175
+ "status" : 50,
176
+ "preflight" : true,
177
+ "hasBot" : false,
178
+ "participants" : [],
179
+ "priority" : "medium",
180
+ "request_id" : "support-group-123",
181
+ "first_text" : "first_text"
182
+ }
183
+ let message = {
184
+ "text": "text",
185
+ "request": request
186
+ }
187
+
188
+ // sendNewMessageNotification(to, message, project, tokenQueryString, sourcePage)
189
+ emailService.sendNewMessageNotification(to, message, req.project, "tokenQueryString", "sourcePage");
190
+
191
+ res.json({"status":"delivering"});
192
+
193
+ });
194
+
195
+
196
+
197
+ router.post('/test/sendEmailChannelNotification',
198
+ async (req, res) => {
199
+
200
+ let to = req.body.to;
201
+ winston.debug("to",to);
202
+
203
+ let configEmail = req.body.config;
204
+ winston.debug("configEmail", configEmail);
205
+
206
+ let request = {
207
+ "_id" : "6316fe117c04320341200e8a",
208
+ "status" : 50,
209
+ "preflight" : true,
210
+ "hasBot" : false,
211
+ "participants" : [],
212
+ "priority" : "medium",
213
+ "request_id" : "support-group-123",
214
+ "first_text" : "first_text"
215
+ }
216
+ let message = {
217
+ "text": "text",
218
+ "request": request
219
+ }
220
+
221
+ // (to, message, project, tokenQueryString, sourcePage)
222
+ emailService.sendEmailChannelNotification(to, message, req.project, "tokenQueryString", "sourcePage");
223
+
224
+ res.json({"status":"delivering"});
225
+
226
+ });
227
+
228
+
229
+
230
+
231
+ router.post('/test/sendFollowerNotification',
232
+ async (req, res) => {
233
+
234
+ let to = req.body.to;
235
+ winston.debug("to",to);
236
+
237
+ let configEmail = req.body.config;
238
+ winston.debug("configEmail", configEmail);
239
+
240
+ let request = {
241
+ "_id" : "6316fe117c04320341200e8a",
242
+ "status" : 50,
243
+ "preflight" : true,
244
+ "hasBot" : false,
245
+ "participants" : [],
246
+ "priority" : "medium",
247
+ "request_id" : "support-group-123",
248
+ "first_text" : "first_text"
249
+ }
250
+ let message = {
251
+ "text": "text",
252
+ "request": request
253
+ }
254
+
255
+ emailService.sendFollowerNotification(to, message, req.project);
256
+
257
+ res.json({"status":"delivering"});
258
+
259
+ });
260
+
261
+
262
+
263
+ router.post('/test/sendRequestTranscript',
264
+ async (req, res) => {
265
+
266
+ let to = req.body.to;
267
+ winston.debug("to",to);
268
+
269
+ let configEmail = req.body.config;
270
+ winston.debug("configEmail", configEmail);
271
+
272
+ let request = {
273
+ "_id" : "6316fe117c04320341200e8a",
274
+ "status" : 50,
275
+ "preflight" : true,
276
+ "hasBot" : false,
277
+ "participants" : [],
278
+ "priority" : "medium",
279
+ "request_id" : "support-group-123",
280
+ "first_text" : "first_text",
281
+ createdAt: new Date()
282
+
283
+ }
284
+ let messages = [{
285
+ "text": "text",
286
+ "request": request,
287
+ createdAt: new Date()
288
+ }]
289
+
290
+ // sendRequestTranscript(to, messages, request, project)
291
+
292
+
293
+ emailService.sendRequestTranscript(to, messages, request, req.project);
294
+
295
+ res.json({"status":"delivering"});
296
+
297
+ });
298
+
299
+
300
+ }
301
+
302
+
303
+
304
+
35
305
  //TODO add cc
36
306
  router.post('/send',
37
307
  async (req, res) => {
@@ -436,12 +436,15 @@ class EmailService {
436
436
  // cambiare in [Nicky:Dashboard Support] Assigned Chat
437
437
  // serve per aggiornare native... fai aggiornamento
438
438
 
439
- let subject = `[Tiledesk ${project ? project.name : '-'}] New Assigned Chat`;
439
+ let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Assigned Chat`;
440
440
 
441
441
  if (request.subject) {
442
- subject = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
442
+ subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
443
443
  }
444
444
 
445
+ let subject = that.formatText("assignedRequestSubject", subjectDef, request, project.settings);
446
+
447
+
445
448
  // if (request.ticket_id) {
446
449
  // subject = `[Ticket #${request.ticket_id}] New Assigned Chat`;
447
450
  // }
@@ -583,19 +586,21 @@ class EmailService {
583
586
  }
584
587
 
585
588
 
586
- let subject = `[Tiledesk ${project ? project.name : '-'}] New message`;
589
+ let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New message`;
587
590
 
588
591
  if (request.subject) {
589
- subject = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
592
+ subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
590
593
  }
591
594
  if (request.ticket_id) {
592
- subject = `[Ticket #${request.ticket_id}] New message`;
595
+ subjectDef = `[Ticket #${request.ticket_id}] New message`;
593
596
  }
594
597
 
595
598
  if (request.ticket_id && request.subject) {
596
- subject = `[Ticket #${request.ticket_id}] ${request.subject}`;
599
+ subjectDef = `[Ticket #${request.ticket_id}] ${request.subject}`;
597
600
  }
598
601
 
602
+ let subject = that.formatText("assignedEmailMessageSubject", subjectDef, request, project.settings);
603
+
599
604
 
600
605
 
601
606
  that.send({
@@ -727,11 +732,15 @@ class EmailService {
727
732
  }
728
733
  }
729
734
 
730
- let subject = `[Tiledesk ${project ? project.name : '-'}] New Pooled Chat`;
735
+ let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Pooled Chat`;
731
736
 
732
737
  if (request.subject) {
733
- subject = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
738
+ subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
734
739
  }
740
+
741
+ let subject = that.formatText("pooledRequestSubject", subjectDef, request, project.settings);
742
+
743
+
735
744
  // if (request.ticket_id) {
736
745
  // subject = `[Ticket #${request.ticket_id}] New Pooled Chat`;
737
746
  // }
@@ -868,19 +877,21 @@ class EmailService {
868
877
  }
869
878
 
870
879
 
871
- let subject = `[Tiledesk ${project ? project.name : '-'}] New Message`;
880
+ let subjectDef = `[Tiledesk ${project ? project.name : '-'}] New Message`;
872
881
 
873
882
  if (request.subject) {
874
- subject = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
883
+ subjectDef = `[Tiledesk ${project ? project.name : '-'}] ${request.subject}`;
875
884
  }
876
885
  if (request.ticket_id) {
877
- subject = `[Ticket #${request.ticket_id}] New Message`;
886
+ subjectDef = `[Ticket #${request.ticket_id}] New Message`;
878
887
  }
879
888
 
880
889
  if (request.ticket_id && request.subject) {
881
- subject = `[Ticket #${request.ticket_id}] ${request.subject}`;
890
+ subjectDef = `[Ticket #${request.ticket_id}] ${request.subject}`;
882
891
  }
883
892
 
893
+ let subject = that.formatText("pooledEmailMessageSubject", subjectDef, request, project.settings);
894
+
884
895
 
885
896
  that.send({
886
897
  messageId: messageId,
@@ -1012,6 +1023,8 @@ class EmailService {
1012
1023
  }
1013
1024
 
1014
1025
 
1026
+ let subject = that.formatText("newMessageSubject", `[Tiledesk ${project ? project.name : '-'}] New Offline Message`, message, project.settings);
1027
+
1015
1028
  that.send({
1016
1029
  messageId: messageId,
1017
1030
  // sender: message.senderFullname, //must be an email
@@ -1020,7 +1033,7 @@ class EmailService {
1020
1033
  replyTo: replyTo,
1021
1034
  inReplyTo: inReplyTo,
1022
1035
  references: references,
1023
- subject:`[Tiledesk ${project ? project.name : '-'}] New Offline Message`, //TODO (anche per il cloud) aggiungere variabile env per cambiare i subjects
1036
+ subject:subject, //TODO (anche per il cloud) aggiungere variabile env per cambiare i subjects
1024
1037
  html:html,
1025
1038
  config:configEmail,
1026
1039
  headers: headers
@@ -1166,17 +1179,18 @@ class EmailService {
1166
1179
  }
1167
1180
  }
1168
1181
 
1169
- var subject = `R: ${message.request ? message.request.subject : '-'}`; //gmail uses subject
1182
+ //gmail uses subject
1183
+ let subject = that.formatText("ticketSubject", `R: ${message.request ? message.request.subject : '-'}`, message, project.settings);
1170
1184
 
1171
1185
  //ocf
1172
1186
  //prod //pre
1173
- if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
1174
- subject = "Richiesta di supporto #" + message.request.ticket_id;
1175
- if (message.request.subject) {
1176
- subject = subject + " - " + message.request.subject;
1177
- }
1178
- // console.log("subject",subject);
1179
- }
1187
+ // if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
1188
+ // subject = "Richiesta di supporto #" + message.request.ticket_id;
1189
+ // if (message.request.subject) {
1190
+ // subject = subject + " - " + message.request.subject;
1191
+ // }
1192
+ // // console.log("subject",subject);
1193
+ // }
1180
1194
 
1181
1195
  // if (message.request && message.request.lead && message.request.lead.email) {
1182
1196
  // winston.info("message.request.lead.email: " + message.request.lead.email);
@@ -1349,6 +1363,8 @@ class EmailService {
1349
1363
  }
1350
1364
 
1351
1365
 
1366
+ let subject = that.formatText("newMessageFollowerSubject", `${message.request ? message.request.ticket_id : '-'}`, message, project.settings);
1367
+
1352
1368
 
1353
1369
 
1354
1370
  that.send({
@@ -1361,7 +1377,7 @@ class EmailService {
1361
1377
  inReplyTo: inReplyTo,
1362
1378
  references: references,
1363
1379
  // subject:`${message.request ? message.request.subject : '-'}`,
1364
- subject:`${message.request ? message.request.ticket_id : '-'}`, //gmail uses subject
1380
+ subject: subject, //gmail uses subject
1365
1381
  text:html,
1366
1382
  html:html,
1367
1383
  config:configEmail,
@@ -1814,15 +1830,17 @@ async sendRequestTranscript(to, messages, request, project) {
1814
1830
 
1815
1831
  //custom ocf here
1816
1832
  // console.log("ocf",project._id);
1817
- let subject = '[Tiledesk] Transcript';
1833
+ let subject = that.formatText("sendTranscriptSubject", '[Tiledesk] Transcript', request, project.settings);
1834
+
1818
1835
  //prod //pre
1819
- if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
1820
- subject = "Richiesta di supporto #" + request.ticket_id;
1821
- if (request.subject) {
1822
- subject = subject + " - " + request.subject;
1823
- }
1824
- // console.log("subject",subject);
1825
- }
1836
+ // if (project._id =="6406e34727b57500120b1bd6" || project._id == "642c609f179910002cc56b3e") {
1837
+ // subject = "Segnalazione #" + request.ticket_id;
1838
+ // // subject = "Richiesta di supporto #" + request.ticket_id;
1839
+ // if (request.subject) {
1840
+ // subject = subject + " - " + request.subject;
1841
+ // }
1842
+ // // console.log("subject",subject);
1843
+ // }
1826
1844
  // hcustomization.emailTranscript(to, subject, html, configEmail)
1827
1845
 
1828
1846
  that.send({from:from, to:to, subject: subject, html:html, config: configEmail});
@@ -1830,6 +1848,72 @@ async sendRequestTranscript(to, messages, request, project) {
1830
1848
 
1831
1849
  }
1832
1850
 
1851
+ formatText(templateName, defaultText, payload, settings) {
1852
+
1853
+ let text = defaultText;
1854
+ winston.verbose("formatText defaultText: "+ defaultText);
1855
+
1856
+ let template = this.getTemplate(templateName, settings);
1857
+
1858
+ winston.verbose("formatText template: "+ template);
1859
+
1860
+ if (template) {
1861
+ text = template;
1862
+ }
1863
+
1864
+ var baseScope = JSON.parse(JSON.stringify(this));
1865
+ delete baseScope.pass;
1866
+
1867
+ winston.verbose("formatText text: "+ text);
1868
+
1869
+ var templateHand = handlebars.compile(text);
1870
+
1871
+ var replacements = {
1872
+ payload: payload,
1873
+ baseScope: baseScope,
1874
+ test: "test"
1875
+ };
1876
+
1877
+ var textTemplate = templateHand(replacements);
1878
+ winston.verbose("formatText textTemplate: "+ textTemplate);
1879
+
1880
+ return textTemplate;
1881
+
1882
+ }
1883
+
1884
+ getTemplate(templateName, settings) {
1885
+
1886
+ var that = this;
1887
+ winston.verbose('getTemplate formatSubject: ' + JSON.stringify(settings));
1888
+
1889
+
1890
+ winston.verbose('getTemplate settings.email.templates: ',settings.email.templates);
1891
+ if (settings && settings.email && settings.email.templates) {
1892
+
1893
+ var templates = settings.email.templates;
1894
+ winston.verbose('getTemplate templates: ',templates);
1895
+
1896
+ var templateDbName = templateName.replace(".subject", "");
1897
+ winston.verbose('getTemplate templateDbName: '+templateDbName);
1898
+
1899
+
1900
+ var template = templates[templateDbName];
1901
+ winston.verbose('getTemplate template: '+template);
1902
+
1903
+ if (template) {
1904
+ // that.callback(template);
1905
+ // return new Promise(function (resolve, reject) {
1906
+ // return resolve(template);
1907
+ return template;
1908
+ // });
1909
+ }else {
1910
+ return undefined;
1911
+ }
1912
+ } else {
1913
+ return undefined;
1914
+ }
1915
+
1916
+ }
1833
1917
 
1834
1918
 
1835
1919