@flusys/nestjs-email 7.1.0 → 8.0.0-beta.1
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.
- package/config/index.d.ts +3 -3
- package/controllers/email-config.controller.d.ts +2 -2
- package/controllers/email-send.controller.d.ts +3 -3
- package/controllers/email-template.controller.d.ts +4 -4
- package/controllers/index.d.ts +3 -3
- package/docs/email-swagger.config.d.ts +2 -2
- package/docs/index.d.ts +1 -1
- package/dtos/email-config.dto.d.ts +1 -1
- package/dtos/email-send.dto.d.ts +1 -1
- package/dtos/index.d.ts +3 -3
- package/entities/email-config-with-company.entity.d.ts +1 -1
- package/entities/email-template-with-company.entity.d.ts +1 -1
- package/entities/index.d.ts +10 -10
- package/enums/index.d.ts +1 -1
- package/fesm/261.js +799 -0
- package/fesm/493.js +1723 -0
- package/fesm/chunks/99.js +12 -0
- package/fesm/config/index.js +104 -3
- package/fesm/controllers/index.js +396 -3
- package/fesm/docs/index.js +134 -1
- package/fesm/dtos/index.js +22 -3
- package/fesm/entities/index.js +409 -13
- package/fesm/enums/index.js +37 -1
- package/fesm/index.js +762 -10
- package/fesm/interfaces/index.js +18 -4
- package/fesm/modules/index.js +541 -1
- package/fesm/providers/index.js +523 -5
- package/fesm/runtime.js +134 -0
- package/fesm/services/index.js +17 -5
- package/index.d.ts +10 -10
- package/interfaces/email-config.interface.d.ts +2 -2
- package/interfaces/email-module-options.interface.d.ts +3 -3
- package/interfaces/email-template.interface.d.ts +1 -1
- package/interfaces/index.d.ts +4 -4
- package/modules/email.module.d.ts +2 -2
- package/modules/index.d.ts +1 -1
- package/package.json +27 -38
- package/providers/email-factory.service.d.ts +2 -2
- package/providers/email-provider.registry.d.ts +2 -2
- package/providers/index.d.ts +5 -5
- package/providers/mailgun-provider.d.ts +1 -1
- package/providers/sendgrid-provider.d.ts +1 -1
- package/providers/smtp-provider.d.ts +1 -1
- package/services/email-config.service.d.ts +3 -3
- package/services/email-datasource.provider.d.ts +3 -3
- package/services/email-provider-config.service.d.ts +7 -7
- package/services/email-send.service.d.ts +7 -7
- package/services/email-template.service.d.ts +6 -6
- package/services/index.d.ts +5 -5
- package/utils/index.d.ts +1 -1
- package/cjs/config/email.constants.js +0 -22
- package/cjs/config/event-actions.js +0 -34
- package/cjs/config/index.js +0 -20
- package/cjs/config/message-keys.js +0 -39
- package/cjs/controllers/email-config.controller.js +0 -111
- package/cjs/controllers/email-config.controller.spec.js +0 -85
- package/cjs/controllers/email-send.controller.js +0 -128
- package/cjs/controllers/email-send.controller.spec.js +0 -139
- package/cjs/controllers/email-template.controller.js +0 -142
- package/cjs/controllers/email-template.controller.spec.js +0 -89
- package/cjs/controllers/index.js +0 -20
- package/cjs/docs/email-swagger.config.js +0 -116
- package/cjs/docs/email-swagger.config.spec.js +0 -62
- package/cjs/docs/index.js +0 -11
- package/cjs/dtos/email-config.dto.js +0 -212
- package/cjs/dtos/email-send.dto.js +0 -354
- package/cjs/dtos/email-template.dto.js +0 -252
- package/cjs/dtos/index.js +0 -20
- package/cjs/entities/email-config-with-company.entity.js +0 -63
- package/cjs/entities/email-config.entity.js +0 -114
- package/cjs/entities/email-template-with-company.entity.js +0 -65
- package/cjs/entities/email-template.entity.js +0 -136
- package/cjs/entities/index.js +0 -56
- package/cjs/entities/index.spec.js +0 -18
- package/cjs/enums/email-provider-type.enum.js +0 -18
- package/cjs/enums/index.js +0 -18
- package/cjs/index.js +0 -28
- package/cjs/interfaces/email-config.interface.js +0 -4
- package/cjs/interfaces/email-module-options.interface.js +0 -4
- package/cjs/interfaces/email-provider.interface.js +0 -4
- package/cjs/interfaces/email-template.interface.js +0 -4
- package/cjs/interfaces/index.js +0 -21
- package/cjs/modules/email.module.js +0 -122
- package/cjs/modules/email.module.spec.js +0 -142
- package/cjs/modules/index.js +0 -18
- package/cjs/providers/email-factory.service.js +0 -113
- package/cjs/providers/email-factory.service.spec.js +0 -242
- package/cjs/providers/email-provider.registry.js +0 -41
- package/cjs/providers/email-provider.registry.spec.js +0 -58
- package/cjs/providers/index.js +0 -22
- package/cjs/providers/mailgun-provider.js +0 -119
- package/cjs/providers/mailgun-provider.spec.js +0 -244
- package/cjs/providers/sendgrid-provider.js +0 -129
- package/cjs/providers/sendgrid-provider.spec.js +0 -346
- package/cjs/providers/smtp-provider.js +0 -164
- package/cjs/providers/smtp-provider.spec.js +0 -327
- package/cjs/services/email-config.service.js +0 -71
- package/cjs/services/email-config.service.spec.js +0 -69
- package/cjs/services/email-datasource.provider.js +0 -84
- package/cjs/services/email-datasource.provider.spec.js +0 -135
- package/cjs/services/email-provider-config.service.js +0 -159
- package/cjs/services/email-provider-config.service.spec.js +0 -269
- package/cjs/services/email-send.service.js +0 -315
- package/cjs/services/email-send.service.spec.js +0 -614
- package/cjs/services/email-template.service.js +0 -144
- package/cjs/services/email-template.service.spec.js +0 -261
- package/cjs/services/index.js +0 -22
- package/cjs/utils/email-templates.util.js +0 -64
- package/cjs/utils/email-templates.util.spec.js +0 -61
- package/cjs/utils/index.js +0 -18
- package/fesm/config/email.constants.js +0 -4
- package/fesm/config/event-actions.js +0 -13
- package/fesm/config/message-keys.js +0 -18
- package/fesm/controllers/email-config.controller.js +0 -101
- package/fesm/controllers/email-config.controller.spec.js +0 -81
- package/fesm/controllers/email-send.controller.js +0 -118
- package/fesm/controllers/email-send.controller.spec.js +0 -135
- package/fesm/controllers/email-template.controller.js +0 -132
- package/fesm/controllers/email-template.controller.spec.js +0 -85
- package/fesm/docs/email-swagger.config.js +0 -109
- package/fesm/docs/email-swagger.config.spec.js +0 -58
- package/fesm/dtos/email-config.dto.js +0 -191
- package/fesm/dtos/email-send.dto.js +0 -324
- package/fesm/dtos/email-template.dto.js +0 -231
- package/fesm/entities/email-config-with-company.entity.js +0 -53
- package/fesm/entities/email-config.entity.js +0 -104
- package/fesm/entities/email-template-with-company.entity.js +0 -55
- package/fesm/entities/email-template.entity.js +0 -126
- package/fesm/entities/index.spec.js +0 -14
- package/fesm/enums/email-provider-type.enum.js +0 -8
- package/fesm/interfaces/email-config.interface.js +0 -1
- package/fesm/interfaces/email-module-options.interface.js +0 -1
- package/fesm/interfaces/email-provider.interface.js +0 -1
- package/fesm/interfaces/email-template.interface.js +0 -1
- package/fesm/modules/email.module.js +0 -112
- package/fesm/modules/email.module.spec.js +0 -138
- package/fesm/providers/email-factory.service.js +0 -103
- package/fesm/providers/email-factory.service.spec.js +0 -238
- package/fesm/providers/email-provider.registry.js +0 -31
- package/fesm/providers/email-provider.registry.spec.js +0 -54
- package/fesm/providers/mailgun-provider.js +0 -109
- package/fesm/providers/mailgun-provider.spec.js +0 -240
- package/fesm/providers/sendgrid-provider.js +0 -119
- package/fesm/providers/sendgrid-provider.spec.js +0 -342
- package/fesm/providers/smtp-provider.js +0 -113
- package/fesm/providers/smtp-provider.spec.js +0 -282
- package/fesm/services/email-config.service.js +0 -61
- package/fesm/services/email-config.service.spec.js +0 -65
- package/fesm/services/email-datasource.provider.js +0 -74
- package/fesm/services/email-datasource.provider.spec.js +0 -131
- package/fesm/services/email-provider-config.service.js +0 -149
- package/fesm/services/email-provider-config.service.spec.js +0 -265
- package/fesm/services/email-send.service.js +0 -305
- package/fesm/services/email-send.service.spec.js +0 -610
- package/fesm/services/email-template.service.js +0 -134
- package/fesm/services/email-template.service.spec.js +0 -257
- package/fesm/utils/email-templates.util.js +0 -47
- package/fesm/utils/email-templates.util.spec.js +0 -57
- package/fesm/utils/index.js +0 -1
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
function _define_property(obj, key, value) {
|
|
2
|
-
if (key in obj) {
|
|
3
|
-
Object.defineProperty(obj, key, {
|
|
4
|
-
value: value,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
configurable: true,
|
|
7
|
-
writable: true
|
|
8
|
-
});
|
|
9
|
-
} else {
|
|
10
|
-
obj[key] = value;
|
|
11
|
-
}
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
}
|
|
20
|
-
function _ts_metadata(k, v) {
|
|
21
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
22
|
-
}
|
|
23
|
-
function _ts_param(paramIndex, decorator) {
|
|
24
|
-
return function(target, key) {
|
|
25
|
-
decorator(target, key, paramIndex);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
import { LogAction } from '@flusys/nestjs-shared';
|
|
29
|
-
import { publishDomainEvent } from '@flusys/nestjs-shared/classes';
|
|
30
|
-
import { ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
|
|
31
|
-
import { escapeHtmlVariables, validateCompanyOwnership } from '@flusys/nestjs-shared/utils';
|
|
32
|
-
import { BadRequestException, Inject, Injectable, NotFoundException, Scope } from '@nestjs/common';
|
|
33
|
-
import { EMAIL_EVENT_ACTIONS, EMAIL_EVENT_ENTITIES, EMAIL_EVENT_MODULE, EMAIL_SEND_MESSAGES } from '../config';
|
|
34
|
-
import { EmailConfigService } from './email-config.service';
|
|
35
|
-
import { SendEmailDto, SendTemplateEmailDto } from '../dtos';
|
|
36
|
-
import { EmailFactoryService } from '../providers';
|
|
37
|
-
import { EmailProviderConfigService } from './email-provider-config.service';
|
|
38
|
-
import { EmailTemplateService } from './email-template.service';
|
|
39
|
-
/** Valid identifier pattern for template variables: {{varName}} */ const VARIABLE_PATTERN = /\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;
|
|
40
|
-
export class EmailSendService {
|
|
41
|
-
// ─── Public API ─────────────────────────────────────────────────────────────
|
|
42
|
-
async sendEmail(dto, user) {
|
|
43
|
-
const { provider, config } = await this.getEmailProviderWithConfig(dto.emailConfigId, user);
|
|
44
|
-
const sender = this.resolveSender(dto, config);
|
|
45
|
-
const result = await provider.sendEmail({
|
|
46
|
-
to: dto.to,
|
|
47
|
-
cc: dto.cc,
|
|
48
|
-
bcc: dto.bcc,
|
|
49
|
-
subject: dto.subject,
|
|
50
|
-
html: dto.html,
|
|
51
|
-
text: dto.text,
|
|
52
|
-
...sender,
|
|
53
|
-
replyTo: dto.replyTo,
|
|
54
|
-
attachments: this.buildAttachments(dto.attachments)
|
|
55
|
-
});
|
|
56
|
-
await this.publishSendEvent(result, dto.to, user, {
|
|
57
|
-
emailConfigId: config.id
|
|
58
|
-
});
|
|
59
|
-
return result;
|
|
60
|
-
}
|
|
61
|
-
async sendTemplateEmail(dto, user) {
|
|
62
|
-
const template = await this.resolveTemplate(dto, user);
|
|
63
|
-
const { subject, html, text } = this.buildTemplateContent(template, dto.variables);
|
|
64
|
-
const { provider, config } = await this.getEmailProviderWithConfig(dto.emailConfigId, user);
|
|
65
|
-
const sender = this.resolveSender(dto, config);
|
|
66
|
-
const result = await provider.sendEmail({
|
|
67
|
-
to: dto.to,
|
|
68
|
-
cc: dto.cc,
|
|
69
|
-
bcc: dto.bcc,
|
|
70
|
-
subject,
|
|
71
|
-
html,
|
|
72
|
-
text,
|
|
73
|
-
...sender,
|
|
74
|
-
replyTo: dto.replyTo,
|
|
75
|
-
attachments: this.buildAttachments(dto.attachments)
|
|
76
|
-
});
|
|
77
|
-
await this.publishSendEvent(result, dto.to, user, {
|
|
78
|
-
emailConfigId: config.id,
|
|
79
|
-
templateId: template.id,
|
|
80
|
-
templateSlug: template.slug
|
|
81
|
-
});
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
async sendTestEmail(emailConfigId, recipient, user) {
|
|
85
|
-
const { provider, config } = await this.getEmailProviderWithConfig(emailConfigId, user);
|
|
86
|
-
const safeConfig = escapeHtmlVariables({
|
|
87
|
-
name: config.name,
|
|
88
|
-
provider: config.provider.toUpperCase()
|
|
89
|
-
});
|
|
90
|
-
const result = await provider.sendEmail({
|
|
91
|
-
to: recipient,
|
|
92
|
-
subject: 'Test Email from FLUSYS',
|
|
93
|
-
html: this.buildTestEmailHtml(safeConfig),
|
|
94
|
-
text: `Test Email from FLUSYS\n\nThis is a test email.\nConfiguration: ${config.name}\nProvider: ${config.provider.toUpperCase()}`,
|
|
95
|
-
from: config.fromEmail || undefined,
|
|
96
|
-
fromName: config.fromName || this.emailConfigService.getDefaultFromName()
|
|
97
|
-
});
|
|
98
|
-
await this.publishSendEvent(result, recipient, user, {
|
|
99
|
-
emailConfigId: config.id,
|
|
100
|
-
isTest: true
|
|
101
|
-
});
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
// ─── Private: Provider & Config Resolution ──────────────────────────────────
|
|
105
|
-
async getEmailProviderWithConfig(emailConfigId, user) {
|
|
106
|
-
const emailConfig = emailConfigId ? await this.resolveConfigById(emailConfigId, user) : await this.resolveDefaultConfig(user);
|
|
107
|
-
const providerConfig = {
|
|
108
|
-
provider: emailConfig.provider,
|
|
109
|
-
config: emailConfig.config
|
|
110
|
-
};
|
|
111
|
-
return {
|
|
112
|
-
provider: await this.emailFactory.createProvider(providerConfig),
|
|
113
|
-
config: emailConfig
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
async resolveConfigById(id, user) {
|
|
117
|
-
const config = await this.emailProviderConfigService.findByIdDirect(id);
|
|
118
|
-
if (!config) {
|
|
119
|
-
throw new NotFoundException({
|
|
120
|
-
message: 'Email configuration not found',
|
|
121
|
-
messageKey: EMAIL_SEND_MESSAGES.CONFIG_NOT_FOUND
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
validateCompanyOwnership(config, user, this.emailConfigService.isCompanyFeatureEnabled(), 'Email configuration');
|
|
125
|
-
if (!config.isActive) {
|
|
126
|
-
throw new BadRequestException({
|
|
127
|
-
message: 'Email configuration is inactive',
|
|
128
|
-
messageKey: EMAIL_SEND_MESSAGES.CONFIG_INACTIVE
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
return config;
|
|
132
|
-
}
|
|
133
|
-
async resolveDefaultConfig(user) {
|
|
134
|
-
const config = await this.emailProviderConfigService.getDefaultConfig(user);
|
|
135
|
-
if (!config) {
|
|
136
|
-
throw new NotFoundException({
|
|
137
|
-
message: 'No default email configuration found',
|
|
138
|
-
messageKey: EMAIL_SEND_MESSAGES.CONFIG_DEFAULT_NOT_FOUND
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return config;
|
|
142
|
-
}
|
|
143
|
-
// ─── Private: Template Resolution ───────────────────────────────────────────
|
|
144
|
-
async resolveTemplate(dto, user) {
|
|
145
|
-
let template;
|
|
146
|
-
if (dto.templateId) {
|
|
147
|
-
template = await this.emailTemplateService.findByIdDirect(dto.templateId);
|
|
148
|
-
} else if (dto.templateSlug) {
|
|
149
|
-
template = await this.emailTemplateService.findBySlug(dto.templateSlug, user);
|
|
150
|
-
} else {
|
|
151
|
-
throw new BadRequestException({
|
|
152
|
-
message: 'templateId or templateSlug is required',
|
|
153
|
-
messageKey: EMAIL_SEND_MESSAGES.TEMPLATE_ID_OR_SLUG_REQUIRED
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
if (!template) {
|
|
157
|
-
throw new NotFoundException({
|
|
158
|
-
message: 'Email template not found',
|
|
159
|
-
messageKey: EMAIL_SEND_MESSAGES.TEMPLATE_NOT_FOUND
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
if (!template.isActive) {
|
|
163
|
-
throw new BadRequestException({
|
|
164
|
-
message: 'Email template is inactive',
|
|
165
|
-
messageKey: EMAIL_SEND_MESSAGES.TEMPLATE_INACTIVE
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
validateCompanyOwnership(template, user, this.emailConfigService.isCompanyFeatureEnabled(), 'Email template');
|
|
169
|
-
return template;
|
|
170
|
-
}
|
|
171
|
-
buildTemplateContent(template, variables) {
|
|
172
|
-
const vars = variables || {};
|
|
173
|
-
const subject = this.interpolateVariables(template.subject, vars, false);
|
|
174
|
-
if (template.isHtml) {
|
|
175
|
-
return {
|
|
176
|
-
subject,
|
|
177
|
-
html: this.interpolateVariables(template.htmlContent, vars, true),
|
|
178
|
-
text: template.textContent ? this.interpolateVariables(template.textContent, vars, false) : undefined
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
subject,
|
|
183
|
-
html: undefined,
|
|
184
|
-
text: template.textContent ? this.interpolateVariables(template.textContent, vars, false) : this.interpolateVariables(template.htmlContent, vars, false)
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
// ─── Private: Helpers ───────────────────────────────────────────────────────
|
|
188
|
-
resolveSender(dto, config) {
|
|
189
|
-
return {
|
|
190
|
-
from: dto.from || config.fromEmail || undefined,
|
|
191
|
-
fromName: dto.fromName || config.fromName || this.emailConfigService.getDefaultFromName()
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
buildAttachments(attachments) {
|
|
195
|
-
return attachments?.map((a)=>({
|
|
196
|
-
filename: a.filename,
|
|
197
|
-
content: Buffer.from(a.content, 'base64'),
|
|
198
|
-
contentType: a.contentType
|
|
199
|
-
}));
|
|
200
|
-
}
|
|
201
|
-
interpolateVariables(content, variables, escapeHtml) {
|
|
202
|
-
if (!variables || Object.keys(variables).length === 0) return content;
|
|
203
|
-
const safeVars = escapeHtml ? escapeHtmlVariables(variables) : variables;
|
|
204
|
-
return content.replace(VARIABLE_PATTERN, (match, varName)=>{
|
|
205
|
-
return varName in safeVars && safeVars[varName] !== undefined ? String(safeVars[varName]) : match;
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
buildTestEmailHtml(safeConfig) {
|
|
209
|
-
return `
|
|
210
|
-
<div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;">
|
|
211
|
-
<h1 style="color: #333;">Test Email</h1>
|
|
212
|
-
<p>This is a test email from FLUSYS Email Service.</p>
|
|
213
|
-
<p><strong>Configuration:</strong> ${safeConfig.name}</p>
|
|
214
|
-
<p><strong>Provider:</strong> ${safeConfig.provider}</p>
|
|
215
|
-
<p style="color: #666; font-size: 12px;">
|
|
216
|
-
If you received this email, your email configuration is working correctly.
|
|
217
|
-
</p>
|
|
218
|
-
</div>
|
|
219
|
-
`;
|
|
220
|
-
}
|
|
221
|
-
async publishSendEvent(result, to, user, metadata) {
|
|
222
|
-
const recipients = Array.isArray(to) ? to : [
|
|
223
|
-
to
|
|
224
|
-
];
|
|
225
|
-
await publishDomainEvent({
|
|
226
|
-
module: EMAIL_EVENT_MODULE,
|
|
227
|
-
entity: EMAIL_EVENT_ENTITIES.MESSAGE,
|
|
228
|
-
action: result.success ? EMAIL_EVENT_ACTIONS.SENT : EMAIL_EVENT_ACTIONS.FAILED,
|
|
229
|
-
ids: result.messageId ? [
|
|
230
|
-
result.messageId
|
|
231
|
-
] : [],
|
|
232
|
-
metadata: {
|
|
233
|
-
...metadata,
|
|
234
|
-
recipientCount: recipients.length,
|
|
235
|
-
...result.error ? {
|
|
236
|
-
error: result.error
|
|
237
|
-
} : {}
|
|
238
|
-
},
|
|
239
|
-
user: user ?? null
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
constructor(emailFactory, emailConfigService, emailProviderConfigService, emailTemplateService){
|
|
243
|
-
_define_property(this, "emailFactory", void 0);
|
|
244
|
-
_define_property(this, "emailConfigService", void 0);
|
|
245
|
-
_define_property(this, "emailProviderConfigService", void 0);
|
|
246
|
-
_define_property(this, "emailTemplateService", void 0);
|
|
247
|
-
this.emailFactory = emailFactory;
|
|
248
|
-
this.emailConfigService = emailConfigService;
|
|
249
|
-
this.emailProviderConfigService = emailProviderConfigService;
|
|
250
|
-
this.emailTemplateService = emailTemplateService;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
_ts_decorate([
|
|
254
|
-
LogAction({
|
|
255
|
-
action: 'email.send',
|
|
256
|
-
module: 'email'
|
|
257
|
-
}),
|
|
258
|
-
_ts_metadata("design:type", Function),
|
|
259
|
-
_ts_metadata("design:paramtypes", [
|
|
260
|
-
typeof SendEmailDto === "undefined" ? Object : SendEmailDto,
|
|
261
|
-
typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
|
|
262
|
-
]),
|
|
263
|
-
_ts_metadata("design:returntype", Promise)
|
|
264
|
-
], EmailSendService.prototype, "sendEmail", null);
|
|
265
|
-
_ts_decorate([
|
|
266
|
-
LogAction({
|
|
267
|
-
action: 'email.sendTemplate',
|
|
268
|
-
module: 'email'
|
|
269
|
-
}),
|
|
270
|
-
_ts_metadata("design:type", Function),
|
|
271
|
-
_ts_metadata("design:paramtypes", [
|
|
272
|
-
typeof SendTemplateEmailDto === "undefined" ? Object : SendTemplateEmailDto,
|
|
273
|
-
typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
|
|
274
|
-
]),
|
|
275
|
-
_ts_metadata("design:returntype", Promise)
|
|
276
|
-
], EmailSendService.prototype, "sendTemplateEmail", null);
|
|
277
|
-
_ts_decorate([
|
|
278
|
-
LogAction({
|
|
279
|
-
action: 'email.sendTest',
|
|
280
|
-
module: 'email'
|
|
281
|
-
}),
|
|
282
|
-
_ts_metadata("design:type", Function),
|
|
283
|
-
_ts_metadata("design:paramtypes", [
|
|
284
|
-
String,
|
|
285
|
-
String,
|
|
286
|
-
typeof ILoggedUserInfo === "undefined" ? Object : ILoggedUserInfo
|
|
287
|
-
]),
|
|
288
|
-
_ts_metadata("design:returntype", Promise)
|
|
289
|
-
], EmailSendService.prototype, "sendTestEmail", null);
|
|
290
|
-
EmailSendService = _ts_decorate([
|
|
291
|
-
Injectable({
|
|
292
|
-
scope: Scope.REQUEST
|
|
293
|
-
}),
|
|
294
|
-
_ts_param(0, Inject(EmailFactoryService)),
|
|
295
|
-
_ts_param(1, Inject(EmailConfigService)),
|
|
296
|
-
_ts_param(2, Inject(EmailProviderConfigService)),
|
|
297
|
-
_ts_param(3, Inject(EmailTemplateService)),
|
|
298
|
-
_ts_metadata("design:type", Function),
|
|
299
|
-
_ts_metadata("design:paramtypes", [
|
|
300
|
-
typeof EmailFactoryService === "undefined" ? Object : EmailFactoryService,
|
|
301
|
-
typeof EmailConfigService === "undefined" ? Object : EmailConfigService,
|
|
302
|
-
typeof EmailProviderConfigService === "undefined" ? Object : EmailProviderConfigService,
|
|
303
|
-
typeof EmailTemplateService === "undefined" ? Object : EmailTemplateService
|
|
304
|
-
])
|
|
305
|
-
], EmailSendService);
|