@servicelabsco/slabs-access-manager 0.1.338 → 0.1.339
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.
|
@@ -14,6 +14,7 @@ class ProcessEmailNotification {
|
|
|
14
14
|
this.remoteRequestService = remoteRequestService;
|
|
15
15
|
}
|
|
16
16
|
async process(payload) {
|
|
17
|
+
this.init();
|
|
17
18
|
this.payload = payload;
|
|
18
19
|
await this.setPreferencePayload();
|
|
19
20
|
const templateResponse = await this.setTemplate(payload);
|
|
@@ -63,10 +64,25 @@ class ProcessEmailNotification {
|
|
|
63
64
|
global.console.log(`Email template ${this.payload.template} doesn't exist`);
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
if (templateResponse)
|
|
68
|
+
return templateResponse;
|
|
69
|
+
return {
|
|
70
|
+
id: null,
|
|
71
|
+
identifier: payload.template,
|
|
72
|
+
subject: this.payload.subject || '',
|
|
73
|
+
body: '',
|
|
74
|
+
path: '',
|
|
75
|
+
};
|
|
67
76
|
}
|
|
68
77
|
async sendEmail() {
|
|
69
|
-
|
|
78
|
+
let { to, subject, html, files, from, cc, metadata, replyTo, bcc } = { ...this.payload };
|
|
79
|
+
to = this.sanitizeEmails(to);
|
|
80
|
+
cc = this.sanitizeEmails(cc);
|
|
81
|
+
bcc = this.sanitizeEmails(bcc);
|
|
82
|
+
if (!to?.length) {
|
|
83
|
+
global.console.log('No valid email address(es) to send to');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
70
86
|
const options = { to, subject, html, files, from, cc, replyTo, bcc };
|
|
71
87
|
return this.mailService.send(options, metadata);
|
|
72
88
|
}
|
|
@@ -96,6 +112,8 @@ class ProcessEmailNotification {
|
|
|
96
112
|
return content.replaceAll('#email_content_html#', this.template.body);
|
|
97
113
|
}
|
|
98
114
|
async getServerEmailTemplate() {
|
|
115
|
+
if (!this.remoteRequestService)
|
|
116
|
+
return;
|
|
99
117
|
const base_url = await this.getEmailTemplateHostServer();
|
|
100
118
|
if (!base_url)
|
|
101
119
|
return;
|
|
@@ -126,17 +144,46 @@ class ProcessEmailNotification {
|
|
|
126
144
|
await log.save();
|
|
127
145
|
}
|
|
128
146
|
async getEmailTemplateHostServer() {
|
|
147
|
+
if (!this.propertyService)
|
|
148
|
+
return;
|
|
129
149
|
const serverUrl = await this.propertyService.get('email.template.host.server', null);
|
|
130
150
|
if (!serverUrl)
|
|
131
151
|
return;
|
|
132
152
|
return serverUrl;
|
|
133
153
|
}
|
|
134
154
|
async getBasicAuthServer() {
|
|
155
|
+
if (!this.propertyService)
|
|
156
|
+
return '';
|
|
135
157
|
const serverUrlUserName = await this.propertyService.get('email.template.host.server.username', null);
|
|
136
158
|
const serverUrlUserPassword = await this.propertyService.get('email.template.host.server.password', null);
|
|
137
|
-
const encrypt = btoa(`${serverUrlUserName}:${serverUrlUserPassword}`);
|
|
159
|
+
const encrypt = btoa(`${serverUrlUserName ?? ''}:${serverUrlUserPassword ?? ''}`);
|
|
138
160
|
return `Basic ${encrypt}`;
|
|
139
161
|
}
|
|
162
|
+
sanitizeEmails(to) {
|
|
163
|
+
if (!to)
|
|
164
|
+
return [];
|
|
165
|
+
const emails = Array.isArray(to) ? to : [to];
|
|
166
|
+
const isValidEmail = (email) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
167
|
+
const valid = [];
|
|
168
|
+
for (const item of emails) {
|
|
169
|
+
const sanitized = item.trim().toLowerCase();
|
|
170
|
+
if (isValidEmail(sanitized)) {
|
|
171
|
+
valid.push(sanitized);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
global.console.log(`Invalid email address: ${sanitized}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return valid;
|
|
178
|
+
}
|
|
179
|
+
init() {
|
|
180
|
+
if (!this.remoteRequestService)
|
|
181
|
+
throw new nestjs_utility_services_1.OperationException(`Remote request service is not defined`);
|
|
182
|
+
if (!this.propertyService)
|
|
183
|
+
throw new nestjs_utility_services_1.OperationException(`Property service is not defined`);
|
|
184
|
+
if (!this.mailService)
|
|
185
|
+
throw new nestjs_utility_services_1.OperationException(`Mail service is not defined`);
|
|
186
|
+
}
|
|
140
187
|
}
|
|
141
188
|
exports.ProcessEmailNotification = ProcessEmailNotification;
|
|
142
189
|
//# sourceMappingURL=process.email.notification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.email.notification.js","sourceRoot":"","sources":["../../../src/access/libraries/process.email.notification.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"process.email.notification.js","sourceRoot":"","sources":["../../../src/access/libraries/process.email.notification.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED