@tiledesk/tiledesk-server 2.4.7 → 2.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.circleci/config.yml +1 -1
  2. package/app.js +11 -0
  3. package/config/email.js +1 -1
  4. package/event/botEvent.js +12 -2
  5. package/middleware/has-role.js +6 -0
  6. package/middleware/passport.js +1 -0
  7. package/models/auth.js +9 -1
  8. package/models/faq_kb.js +4 -0
  9. package/models/lead.js +5 -0
  10. package/models/user.js +3 -0
  11. package/package.json +3 -3
  12. package/public/wstest/index.html +5 -41
  13. package/pubmodules/apps/listener.js +3 -3
  14. package/pubmodules/queue/reconnect.js +24 -0
  15. package/pubmodules/queue/reconnectFanout.js +17 -0
  16. package/routes/auth.js +44 -3
  17. package/routes/faq_kb.js +42 -0
  18. package/routes/images.js +3 -1
  19. package/routes/lead.js +51 -0
  20. package/routes/project.js +12 -0
  21. package/routes/users.js +2 -0
  22. package/services/emailService.js +2 -2
  23. package/services/trainingService.js +7 -2
  24. package/template/email/assignedEmailMessage.html +253 -149
  25. package/template/email/assignedRequest.html +273 -173
  26. package/template/email/beenInvitedExistingUser.html +213 -130
  27. package/template/email/beenInvitedNewUser.html +200 -119
  28. package/template/email/emailDirect.html +207 -114
  29. package/template/email/newMessage.html +250 -157
  30. package/template/email/newMessageFollower.html +351 -225
  31. package/template/email/passwordChanged.html +178 -96
  32. package/template/email/pooledEmailMessage.html +250 -151
  33. package/template/email/pooledRequest.html +270 -164
  34. package/template/email/resetPassword.html +201 -115
  35. package/template/email/sendTranscript.html +299 -197
  36. package/template/email/ticket.html +263 -160
  37. package/template/email/verify.html +208 -126
  38. package/websocket/webSocketServer.js +70 -3
@@ -1,144 +1,230 @@
1
1
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang="en" xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
2
+ <html lang="en" xmlns="http://www.w3.org/1999/xhtml"
3
+ style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
4
+
3
5
  <head>
4
- <meta name="viewport" content="width=device-width" />
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>New email from TileDesk</title>
7
-
8
- <style type="text/css">
9
- img {
10
- max-width: 100%;
11
- margin-left:16px;
12
- text-align:center !important;
6
+ <meta name="viewport" content="width=device-width" />
7
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
8
+ <title>New email from Tiledesk</title>
9
+
10
+ <style type="text/css">
11
+ img {
12
+ max-width: 100%;
13
+ margin-left: 16px;
14
+ text-align: center !important;
15
+ }
16
+
17
+ img.CToWUd {
18
+ margin-bottom: 16px;
19
+ max-width: 200px !important;
20
+ width: 200px !important;
21
+ min-width: 200px !important;
22
+ outline: none;
23
+ text-decoration: none;
24
+ border: none;
25
+ height: auto;
26
+ margin-left: 0px;
27
+ }
28
+
29
+ body {
30
+ -webkit-font-smoothing: antialiased;
31
+ -webkit-text-size-adjust: none;
32
+ width: 100% !important;
33
+ height: 100%;
34
+ line-height: 1.6em;
35
+ }
36
+
37
+ body {
38
+ background-color: #f6f6f6;
39
+ }
40
+
41
+ @media only screen and (max-width: 640px) {
42
+ body {
43
+ padding: 0 !important;
13
44
  }
14
- img.CToWUd {
15
- margin-bottom: 16px;
16
- max-width: 200px !important;
17
- width: 200px !important;
18
- min-width: 200px !important;
19
- outline: none;
20
- text-decoration: none;
21
- border: none;
22
- height: auto;
23
- margin-left: 0px;
45
+
46
+ h1 {
47
+ font-weight: 800 !important;
48
+ margin: 20px 0 5px !important;
49
+ text-align: center !important;
24
50
  }
25
- body {
26
- -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;
51
+
52
+ h2 {
53
+ font-weight: 800 !important;
54
+ margin: 20px 0 5px !important;
27
55
  }
28
- body {
29
- background-color: #f6f6f6;
56
+
57
+ h3 {
58
+ font-weight: 800 !important;
59
+ margin: 20px 0 5px !important;
60
+ }
61
+
62
+ h4 {
63
+ font-weight: 800 !important;
64
+ margin: 20px 0 5px !important;
65
+ }
66
+
67
+ h1 {
68
+ font-size: 22px !important;
69
+ }
70
+
71
+ h2 {
72
+ font-size: 18px !important;
30
73
  }
31
74
 
32
- @media only screen and (max-width: 640px) {
33
- body {
34
- padding: 0 !important;
35
- }
36
- h1 {
37
- font-weight: 800 !important; margin: 20px 0 5px !important;
38
- text-align:center !important;
39
- }
40
- h2 {
41
- font-weight: 800 !important; margin: 20px 0 5px !important;
42
- }
43
- h3 {
44
- font-weight: 800 !important; margin: 20px 0 5px !important;
45
- }
46
- h4 {
47
- font-weight: 800 !important; margin: 20px 0 5px !important;
48
- }
49
- h1 {
50
- font-size: 22px !important;
51
- }
52
- h2 {
53
- font-size: 18px !important;
54
- }
55
- h3 {
56
- font-size: 16px !important;
57
- }
58
- .container {
59
- padding: 0 !important; width: 100% !important;
60
- }
61
- .content {
62
- padding: 0 !important;
63
- }
64
- .content-wrap {
65
- padding: 10px !important;
66
- }
67
- .invoice {
68
- width: 100% !important;
69
- }
75
+ h3 {
76
+ font-size: 16px !important;
70
77
  }
71
- </style>
72
- </head>
73
78
 
74
- <body itemscope itemtype="http://schema.org/EmailMessage" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;" bgcolor="#f6f6f6">
79
+ .container {
80
+ padding: 0 !important;
81
+ width: 100% !important;
82
+ }
83
+
84
+ .content {
85
+ padding: 0 !important;
86
+ }
87
+
88
+ .content-wrap {
89
+ padding: 10px !important;
90
+ }
91
+
92
+ .invoice {
93
+ width: 100% !important;
94
+ }
95
+ }
96
+ </style>
97
+ </head>
98
+
99
+ <body itemscope itemtype="http://schema.org/EmailMessage"
100
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;"
101
+ bgcolor="#f6f6f6">
102
+
103
+ <table class="body-wrap"
104
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;"
105
+ bgcolor="#f6f6f6">
106
+ <tr
107
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
108
+ <td
109
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
110
+ valign="top"></td>
111
+ <td class="container" width="600"
112
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;"
113
+ valign="top">
114
+ <div class="content"
115
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;">
75
116
 
76
- <table class="body-wrap" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;" bgcolor="#f6f6f6">
77
- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
78
- <td style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top"></td>
79
- <td class="container" width="600" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;" valign="top">
80
- <div class="content" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;">
117
+ <!--
118
+ <div style="text-align:center">
119
+ <a href="http://www.tiledesk.com"
120
+ style="color:#2daae1;font-weight:bold;text-decoration:none;word-break:break-word" target="_blank">
121
+ <img src="https://tiledesk.com/wp-content/uploads/2023/01/tiledesk_log_email_200.png" class="CToWUd">
122
+ </a>
123
+ </div>
124
+ -->
81
125
 
82
- <div style="text-align:center">
83
- <a href="http://www.tiledesk.com" style="color:#2daae1;font-weight:bold;text-decoration:none;word-break:break-word" target="_blank">
84
- <img src="https://tiledesk.com/wp-content/uploads/2023/01/tiledesk_log_email_200.png" class="CToWUd">
85
- </a>
86
- </div>
126
+ <table class="main" width="100%" cellpadding="0" cellspacing="0"
127
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;"
128
+ bgcolor="#fff">
87
129
 
88
- <table class="main" width="100%" cellpadding="0" cellspacing="0" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;" bgcolor="#fff">
130
+ <tr
131
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
132
+ <td class="content-wrap"
133
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;"
134
+ valign="top">
135
+ <table width="100%" cellpadding="0" cellspacing="0"
136
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
89
137
 
90
- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
91
- <td class="content-wrap" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;" valign="top">
92
- <table width="100%" cellpadding="0" cellspacing="0" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
93
138
 
139
+ <tr
140
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
94
141
 
95
- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
142
+ <td class="content-block"
143
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
144
+ valign="top">
145
+ <h2 style="text-align: center; letter-spacing: 1px; ">
146
+ Password reset request
147
+ </h2>
96
148
 
97
- <td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
98
- <h2 style="text-align: center; letter-spacing: 1px; ">
99
- Password reset request
100
- </h2>
149
+ <br>
150
+ <br<strong
151
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
152
+ Hi {{userFirstname}} {{userLastname}},</strong>
101
153
 
102
- <br> <br<strong style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">Hi {{userFirstname}} {{userLastname}},</strong>
103
-
104
154
  <br> <br>
105
- Seems like you forgot your password for TileDesk. If this is true, click below to reset your password
155
+ Seems like you forgot your password for Tiledesk. If this is true, click below to reset your
156
+ password
106
157
  <div style="text-align: center;">
107
158
  <br><br>
108
- <a href="{{baseScope.baseUrl}}/#/resetpassword/{{resetPswRequestId}}" style=" background-color: #ff8574 !important; border: none; color: white; padding: 12px 30px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-weight: 600; letter-spacing: 1px; margin: 4px 2px; cursor: pointer;">
109
- Reset My Password
159
+ <a href="{{baseScope.baseUrl}}/#/resetpassword/{{resetPswRequestId}}"
160
+ style=" background-color: #ff8574 !important; border: none; color: white; padding: 12px 30px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-weight: 600; letter-spacing: 1px; margin: 4px 2px; cursor: pointer;">
161
+ Reset My Password
110
162
  </a>
111
163
  </div>
112
164
  <br><br>If you didn't forget your password you can safely ignore this email.
113
- <br><br><span style="font-size:12px; ">If you're having trouble clicking the "Reset My Password" button, copy and paste the URL below into your web browser: </span>
165
+ <br><br><span style="font-size:12px; ">If you're having trouble clicking the "Reset My Password"
166
+ button, copy and paste the URL below into your web browser: </span>
114
167
  <br>
115
- <span style="color:#03a5e8; font-size:12px; ">{{baseScope.baseUrl}}/#/resetpassword/{{resetPswRequestId}}</span>
116
- <br><br> Team TileDesk
117
- </td>
118
- </tr>
119
-
120
- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
121
- <td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top">
122
- </td>
123
- </tr>
124
- </table>
168
+ <span
169
+ style="color:#03a5e8; font-size:12px; ">{{baseScope.baseUrl}}/#/resetpassword/{{resetPswRequestId}}</span>
170
+ <br><br> The Tiledesk Team
171
+ </td>
172
+ </tr>
173
+
174
+ <tr
175
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
176
+ <td class="content-block"
177
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
178
+ valign="top">
179
+ </td>
180
+ </tr>
181
+ </table>
182
+ </td>
183
+
184
+ </tr>
185
+
186
+ <tr>
187
+ <td>
188
+ <hr style="width:94%;height:1px;border:none;background-color: #cacaca;">
189
+
190
+ <div style="display: flex; padding: 20px 18px; color: #888888;">
191
+ <span>Powered by </span>
192
+ <span style="display: flex;"><img
193
+ src="https://panel.tiledesk.com/v3/dashboard/assets/img/logos/tiledesk-solo_logo_new_gray.svg"
194
+ width="18" height="auto" style="margin-left: 6px;" /></span>
195
+ <span style="font-weight: bold; margin-left: 2px;">Tiledesk</span>
196
+ </div>
197
+
198
+ </td>
199
+ </tr>
200
+
201
+
202
+ </table>
203
+ <div class="footer"
204
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;">
205
+ <table width="100%"
206
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
207
+ <tr
208
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
209
+ <td class="aligncenter content-block"
210
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0;"
211
+ align="center" valign="top">
212
+ <span><a href="http://www.tiledesk.com"
213
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">
214
+ Tiledesk.com </a></span>
215
+ <br><span><a href="%unsubscribe_url%"
216
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">Unsubscribe</a></span>
125
217
  </td>
126
218
  </tr>
127
219
  </table>
128
- <div class="footer" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;">
129
- <table width="100%" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
130
- <tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
131
- <td class="aligncenter content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0;" align="center" valign="top">
132
- <span><a href="http://www.tiledesk.com" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;" > Tiledesk.com </a></span>
133
- <br><span><a href="%unsubscribe_url%" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">Unsubscribe</a></span>
134
- </td>
135
- </tr>
136
- </table>
137
- </div>
138
220
  </div>
139
- </td>
140
- <td style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;" valign="top"></td>
141
- </tr>
142
- </table>
143
- </body>
221
+ </div>
222
+ </td>
223
+ <td
224
+ style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;"
225
+ valign="top"></td>
226
+ </tr>
227
+ </table>
228
+ </body>
229
+
144
230
  </html>