@tstdl/base 0.71.7 → 0.71.11
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/container/container.d.ts +1 -1
- package/container/container.js +20 -20
- package/container/container.js.map +1 -1
- package/container/decorators.d.ts +6 -6
- package/container/index.d.ts +1 -0
- package/container/index.js +1 -0
- package/container/index.js.map +1 -1
- package/container/provider.d.ts +2 -8
- package/container/provider.js +1 -9
- package/container/provider.js.map +1 -1
- package/container/utils.d.ts +3 -0
- package/container/utils.js +37 -0
- package/container/utils.js.map +1 -0
- package/database/mongo/module.js +3 -3
- package/database/mongo/module.js.map +1 -1
- package/image-service/image-service.d.ts +8 -8
- package/lock/mongo/lock.js +1 -1
- package/lock/mongo/lock.js.map +1 -1
- package/lock/mongo/module.d.ts +1 -1
- package/lock/mongo/module.js +1 -1
- package/lock/mongo/module.js.map +1 -1
- package/lock/mongo/mongo-lock-repository.d.ts +1 -1
- package/lock/mongo/provider.js +1 -1
- package/lock/mongo/provider.js.map +1 -1
- package/mail/clients/nodemailer.mail-client.d.ts +11 -0
- package/mail/clients/nodemailer.mail-client.js +79 -0
- package/mail/clients/nodemailer.mail-client.js.map +1 -0
- package/mail/index.d.ts +8 -0
- package/mail/index.js +25 -0
- package/mail/index.js.map +1 -0
- package/mail/mail-log.repository.d.ts +4 -0
- package/mail/mail-log.repository.js +8 -0
- package/mail/mail-log.repository.js.map +1 -0
- package/mail/mail-template-renderer.provider.d.ts +8 -0
- package/mail/mail-template-renderer.provider.js +60 -0
- package/mail/mail-template-renderer.provider.js.map +1 -0
- package/mail/mail-template.provider.d.ts +4 -0
- package/mail/mail-template.provider.js +7 -0
- package/mail/mail-template.provider.js.map +1 -0
- package/mail/mail-template.renderer.d.ts +10 -0
- package/mail/mail-template.renderer.js +7 -0
- package/mail/mail-template.renderer.js.map +1 -0
- package/mail/mail.client.d.ts +16 -0
- package/mail/mail.client.js +8 -0
- package/mail/mail.client.js.map +1 -0
- package/mail/mail.service.d.ts +17 -0
- package/mail/mail.service.js +82 -0
- package/mail/mail.service.js.map +1 -0
- package/mail/models/index.d.ts +6 -0
- package/mail/models/index.js +23 -0
- package/mail/models/index.js.map +1 -0
- package/mail/models/mail-address.model.d.ts +4 -0
- package/mail/models/mail-address.model.js +3 -0
- package/mail/models/mail-address.model.js.map +1 -0
- package/mail/models/mail-content.model.d.ts +4 -0
- package/mail/models/mail-content.model.js +3 -0
- package/mail/models/mail-content.model.js.map +1 -0
- package/mail/models/mail-data.model.d.ts +20 -0
- package/mail/models/mail-data.model.js +3 -0
- package/mail/models/mail-data.model.js.map +1 -0
- package/mail/models/mail-log.model.d.ts +11 -0
- package/mail/models/mail-log.model.js +3 -0
- package/mail/models/mail-log.model.js.map +1 -0
- package/mail/models/mail-send-result.model.d.ts +7 -0
- package/mail/models/mail-send-result.model.js +3 -0
- package/mail/models/mail-send-result.model.js.map +1 -0
- package/mail/models/mail-template.model.d.ts +11 -0
- package/mail/models/mail-template.model.js +3 -0
- package/mail/models/mail-template.model.js.map +1 -0
- package/mail/module.d.ts +18 -0
- package/mail/module.js +40 -0
- package/mail/module.js.map +1 -0
- package/mail/repositories/mongo-mail-log.repository.d.ts +16 -0
- package/mail/repositories/mongo-mail-log.repository.js +39 -0
- package/mail/repositories/mongo-mail-log.repository.js.map +1 -0
- package/mail/template-providers/file-mail-template.provider.d.ts +24 -0
- package/mail/template-providers/file-mail-template.provider.js +72 -0
- package/mail/template-providers/file-mail-template.provider.js.map +1 -0
- package/mail/template-providers/memory-mail-template.provider.d.ts +8 -0
- package/mail/template-providers/memory-mail-template.provider.js +37 -0
- package/mail/template-providers/memory-mail-template.provider.js.map +1 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +11 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.js +34 -0
- package/mail/template-renderers/handlebars.mail-template-renderer.js.map +1 -0
- package/mail/template-renderers/mjml.mail-template-renderer.d.ts +15 -0
- package/mail/template-renderers/mjml.mail-template-renderer.js +62 -0
- package/mail/template-renderers/mjml.mail-template-renderer.js.map +1 -0
- package/mail/tokens.d.ts +5 -0
- package/mail/tokens.js +7 -0
- package/mail/tokens.js.map +1 -0
- package/message-bus/local/local-message-bus-provider.d.ts +1 -1
- package/message-bus/local/local-message-bus-provider.js +1 -1
- package/message-bus/local/local-message-bus-provider.js.map +1 -1
- package/migration/migrator.js +2 -1
- package/migration/migrator.js.map +1 -1
- package/migration/mongo/migration-state-repository.d.ts +1 -1
- package/openid-connect/mongo-oidc-state.repository.d.ts +1 -1
- package/package.json +11 -6
- package/queue/mongo/queue.js +1 -1
- package/queue/mongo/queue.js.map +1 -1
- package/queue/mongo/queue.provider.d.ts +1 -1
- package/queue/mongo/queue.provider.js +1 -1
- package/queue/mongo/queue.provider.js.map +1 -1
- package/schema/schemas/object.js +9 -22
- package/schema/schemas/object.js.map +1 -1
- package/search-index/elastic/config.d.ts +9 -0
- package/search-index/elastic/config.js +29 -0
- package/search-index/elastic/config.js.map +1 -0
- package/search-index/elastic/index.d.ts +1 -0
- package/search-index/elastic/index.js +1 -0
- package/search-index/elastic/index.js.map +1 -1
- package/search-index/elastic/module.d.ts +4 -4
- package/search-index/elastic/module.js +5 -4
- package/search-index/elastic/module.js.map +1 -1
- package/search-index/elastic/search-index.d.ts +1 -6
- package/search-index/elastic/search-index.js.map +1 -1
- package/types.d.ts +2 -0
- package/utils/patterns.js +1 -1
- package/utils/patterns.js.map +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.configureNodemailerMailClient = exports.NodemailerMailClient = void 0;
|
|
16
|
+
const container_1 = require("../../container");
|
|
17
|
+
const type_guards_1 = require("../../utils/type-guards");
|
|
18
|
+
const nodemailer_1 = require("nodemailer");
|
|
19
|
+
const mail_client_1 = require("../mail.client");
|
|
20
|
+
const tokens_1 = require("../tokens");
|
|
21
|
+
let NodemailerMailClient = class NodemailerMailClient extends mail_client_1.MailClient {
|
|
22
|
+
constructor(config) {
|
|
23
|
+
super();
|
|
24
|
+
const options = convertConfig(config);
|
|
25
|
+
this.transporter = (0, nodemailer_1.createTransport)(options);
|
|
26
|
+
}
|
|
27
|
+
async send(data) {
|
|
28
|
+
const result = await this.transporter.sendMail({
|
|
29
|
+
from: data.from,
|
|
30
|
+
sender: data.sender,
|
|
31
|
+
to: data.to,
|
|
32
|
+
cc: data.cc,
|
|
33
|
+
bcc: data.bcc,
|
|
34
|
+
replyTo: data.replyTo,
|
|
35
|
+
inReplyTo: data.inReplyTo,
|
|
36
|
+
references: data.references,
|
|
37
|
+
subject: data.subject,
|
|
38
|
+
text: data.content.text,
|
|
39
|
+
html: data.content.html,
|
|
40
|
+
headers: data.headers
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
messageId: result.messageId,
|
|
44
|
+
accepted: result.accepted,
|
|
45
|
+
rejected: result.rejected,
|
|
46
|
+
pending: result.pending
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
NodemailerMailClient = __decorate([
|
|
51
|
+
(0, container_1.singleton)(),
|
|
52
|
+
__param(0, (0, container_1.inject)(tokens_1.MAIL_CLIENT_CONFIG)),
|
|
53
|
+
__param(0, (0, container_1.injectArg)()),
|
|
54
|
+
__metadata("design:paramtypes", [Object])
|
|
55
|
+
], NodemailerMailClient);
|
|
56
|
+
exports.NodemailerMailClient = NodemailerMailClient;
|
|
57
|
+
function convertConfig(config) {
|
|
58
|
+
var _a;
|
|
59
|
+
return {
|
|
60
|
+
host: config.host,
|
|
61
|
+
port: config.port,
|
|
62
|
+
secure: (_a = config.secure) !== null && _a !== void 0 ? _a : (config.port == 465),
|
|
63
|
+
auth: (0, type_guards_1.isUndefined)(config.auth) ? undefined : {
|
|
64
|
+
type: 'login',
|
|
65
|
+
user: config.auth.user,
|
|
66
|
+
pass: config.auth.password
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @param register whether to register for {@link MailClient}
|
|
72
|
+
*/
|
|
73
|
+
function configureNodemailerMailClient(register) {
|
|
74
|
+
if (register) {
|
|
75
|
+
container_1.container.register(NodemailerMailClient, { useToken: mail_client_1.MailClient });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.configureNodemailerMailClient = configureNodemailerMailClient;
|
|
79
|
+
//# sourceMappingURL=nodemailer.mail-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodemailer.mail-client.js","sourceRoot":"","sources":["../../../source/mail/clients/nodemailer.mail-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AAEtE,yDAAkD;AAElD,2CAA6C;AAC7C,gDAA8D;AAE9D,sCAA+C;AAI/C,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,wBAAU;IAGlD,YAAqD,MAAwB;QAC3E,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,EAAE,EAAE,IAAI,CAAC,EAAoC;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAqC;YAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAuC;YACxD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,oBAAoB;IADhC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,kBAAM,EAAC,2BAAkB,CAAC,CAAA;IAAE,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAHzC,oBAAoB,CAiChC;AAjCY,oDAAoB;AAmCjC,SAAS,aAAa,CAAC,MAAwB;;IAC7C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;QAC7C,IAAI,EAAE,IAAA,yBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;SAC3B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,QAAiB;IAC7D,IAAI,QAAQ,EAAE;QACZ,qBAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,wBAAU,EAAE,CAAC,CAAC;KACpE;AACH,CAAC;AAJD,sEAIC"}
|
package/mail/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './mail-template-renderer.provider';
|
|
2
|
+
export * from './mail-template.provider';
|
|
3
|
+
export * from './mail-template.renderer';
|
|
4
|
+
export * from './mail.client';
|
|
5
|
+
export * from './mail.service';
|
|
6
|
+
export * from './models';
|
|
7
|
+
export * from './module';
|
|
8
|
+
export * from './tokens';
|
package/mail/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./mail-template-renderer.provider"), exports);
|
|
18
|
+
__exportStar(require("./mail-template.provider"), exports);
|
|
19
|
+
__exportStar(require("./mail-template.renderer"), exports);
|
|
20
|
+
__exportStar(require("./mail.client"), exports);
|
|
21
|
+
__exportStar(require("./mail.service"), exports);
|
|
22
|
+
__exportStar(require("./models"), exports);
|
|
23
|
+
__exportStar(require("./module"), exports);
|
|
24
|
+
__exportStar(require("./tokens"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/mail/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,2DAAyC;AACzC,2DAAyC;AACzC,gDAA8B;AAC9B,iDAA+B;AAC/B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailLogRepository = void 0;
|
|
4
|
+
const database_1 = require("../database");
|
|
5
|
+
class MailLogRepository extends database_1.EntityRepository {
|
|
6
|
+
}
|
|
7
|
+
exports.MailLogRepository = MailLogRepository;
|
|
8
|
+
//# sourceMappingURL=mail-log.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-log.repository.js","sourceRoot":"","sources":["../../source/mail/mail-log.repository.ts"],"names":[],"mappings":";;;AAAA,0CAA8C;AAG9C,MAAsB,iBAAkB,SAAQ,2BAAyB;CAAI;AAA7E,8CAA6E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MailTemplateRenderer } from './mail-template.renderer';
|
|
2
|
+
export declare class MailTemplateRendererProvider {
|
|
3
|
+
private readonly renderers;
|
|
4
|
+
constructor(renderers: MailTemplateRenderer[]);
|
|
5
|
+
register(renderer: MailTemplateRenderer): void;
|
|
6
|
+
has(type: string): boolean;
|
|
7
|
+
get(type: string): MailTemplateRenderer;
|
|
8
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var MailTemplateRendererProvider_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.MailTemplateRendererProvider = void 0;
|
|
14
|
+
const container_1 = require("../container");
|
|
15
|
+
const tokens_1 = require("./tokens");
|
|
16
|
+
let MailTemplateRendererProvider = MailTemplateRendererProvider_1 = class MailTemplateRendererProvider {
|
|
17
|
+
constructor(renderers) {
|
|
18
|
+
this.renderers = new Set(renderers);
|
|
19
|
+
}
|
|
20
|
+
register(renderer) {
|
|
21
|
+
this.renderers.add(renderer);
|
|
22
|
+
}
|
|
23
|
+
has(type) {
|
|
24
|
+
for (const renderer of this.renderers) {
|
|
25
|
+
if (renderer.canHandleType(type)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
get(type) {
|
|
32
|
+
for (const renderer of this.renderers) {
|
|
33
|
+
if (renderer.canHandleType(type)) {
|
|
34
|
+
return renderer;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
throw new Error(`No renderer for ${type} registered`);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
MailTemplateRendererProvider = MailTemplateRendererProvider_1 = __decorate([
|
|
41
|
+
(0, container_1.singleton)({
|
|
42
|
+
provider: {
|
|
43
|
+
useFactory: (_, context) => {
|
|
44
|
+
if (context.isAsync) {
|
|
45
|
+
return (async () => {
|
|
46
|
+
const types = await context.resolveAsync(tokens_1.MAIL_TEMPLATE_RENDERERS);
|
|
47
|
+
const renderers = await Promise.all(types.map(async (type) => context.resolveAsync(type)));
|
|
48
|
+
return new MailTemplateRendererProvider_1(renderers);
|
|
49
|
+
})();
|
|
50
|
+
}
|
|
51
|
+
const types = context.resolve(tokens_1.MAIL_TEMPLATE_RENDERERS);
|
|
52
|
+
const renderers = types.map((type) => context.resolve(type));
|
|
53
|
+
return new MailTemplateRendererProvider_1(renderers);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}),
|
|
57
|
+
__metadata("design:paramtypes", [Array])
|
|
58
|
+
], MailTemplateRendererProvider);
|
|
59
|
+
exports.MailTemplateRendererProvider = MailTemplateRendererProvider;
|
|
60
|
+
//# sourceMappingURL=mail-template-renderer.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-template-renderer.provider.js","sourceRoot":"","sources":["../../source/mail/mail-template-renderer.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4CAAwC;AAExC,qCAAmD;AAmBnD,IAAa,4BAA4B,oCAAzC,MAAa,4BAA4B;IAGvC,YAAY,SAAiC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,QAA8B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAChC,OAAO,QAAQ,CAAC;aACjB;SACF;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,aAAa,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AA9BY,4BAA4B;IAjBxC,IAAA,qBAAS,EAAC;QACT,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;gBACzB,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,OAAO,CAAC,KAAK,IAAI,EAAE;wBACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gCAAuB,CAAC,CAAC;wBAClE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3F,OAAO,IAAI,8BAA4B,CAAC,SAAS,CAAC,CAAC;oBACrD,CAAC,CAAC,EAAE,CAAC;iBACN;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAuB,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,8BAA4B,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;SACF;KACF,CAAC;;GACW,4BAA4B,CA8BxC;AA9BY,oEAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-template.provider.js","sourceRoot":"","sources":["../../source/mail/mail-template.provider.ts"],"names":[],"mappings":";;;AAEA,MAAsB,oBAAoB;CAEzC;AAFD,oDAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MailTemplate } from './models';
|
|
2
|
+
export declare type MailTemplateRenderResult = {
|
|
3
|
+
subject: string | undefined;
|
|
4
|
+
html: string | undefined;
|
|
5
|
+
text: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
export declare abstract class MailTemplateRenderer<T extends MailTemplate = MailTemplate> {
|
|
8
|
+
abstract canHandleType(type: string): boolean;
|
|
9
|
+
abstract render(template: T, context?: object): Promise<MailTemplateRenderResult>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-template.renderer.js","sourceRoot":"","sources":["../../source/mail/mail-template.renderer.ts"],"names":[],"mappings":";;;AAQA,MAAsB,oBAAoB;CAIzC;AAJD,oDAIC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Injectable } from "../container";
|
|
2
|
+
import { resolveArgumentType } from "../container";
|
|
3
|
+
import type { MailData, MailSendResult } from './models';
|
|
4
|
+
export declare type MailClientConfig = {
|
|
5
|
+
host: string;
|
|
6
|
+
port: number;
|
|
7
|
+
secure?: boolean;
|
|
8
|
+
auth?: {
|
|
9
|
+
user: string;
|
|
10
|
+
password: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare abstract class MailClient implements Injectable<MailClientConfig> {
|
|
14
|
+
readonly [resolveArgumentType]: MailClientConfig;
|
|
15
|
+
abstract send(data: MailData): Promise<MailSendResult>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.client.js","sourceRoot":"","sources":["../../source/mail/mail.client.ts"],"names":[],"mappings":";;;AACA,4CAAkD;AAgBlD,MAAsB,UAAU;CAI/B;AAJD,gCAIC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Logger } from "../logger";
|
|
2
|
+
import type { TypedOmit } from "../types";
|
|
3
|
+
import { MailLogRepository } from './mail-log.repository';
|
|
4
|
+
import { MailTemplateRendererProvider } from './mail-template-renderer.provider';
|
|
5
|
+
import { MailTemplateProvider } from './mail-template.provider';
|
|
6
|
+
import { MailClient } from './mail.client';
|
|
7
|
+
import type { MailData, MailSendResult } from './models';
|
|
8
|
+
export declare class MailService {
|
|
9
|
+
private readonly mailClient;
|
|
10
|
+
private readonly mailTemplateProvider;
|
|
11
|
+
private readonly mailTemplateRendererProvider;
|
|
12
|
+
private readonly mailQueue;
|
|
13
|
+
private readonly mailLogRepository;
|
|
14
|
+
private readonly logger;
|
|
15
|
+
constructor(mailClient: MailClient, mailTemplateProvider: MailTemplateProvider, mailTemplateRendererProvider: MailTemplateRendererProvider, mailLogRepository: MailLogRepository | undefined, logger: Logger);
|
|
16
|
+
sendTemplate(key: string, mailData: TypedOmit<MailData, 'content' | 'subject'>, templateContext?: object): Promise<MailSendResult>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var MailService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.MailService = void 0;
|
|
17
|
+
const container_1 = require("../container");
|
|
18
|
+
const logger_1 = require("../logger");
|
|
19
|
+
const date_time_1 = require("../utils/date-time");
|
|
20
|
+
const helpers_1 = require("../utils/helpers");
|
|
21
|
+
const type_guards_1 = require("../utils/type-guards");
|
|
22
|
+
const mail_log_repository_1 = require("./mail-log.repository");
|
|
23
|
+
const mail_template_renderer_provider_1 = require("./mail-template-renderer.provider");
|
|
24
|
+
const mail_template_provider_1 = require("./mail-template.provider");
|
|
25
|
+
const mail_client_1 = require("./mail.client");
|
|
26
|
+
let MailService = MailService_1 = class MailService {
|
|
27
|
+
constructor(mailClient, mailTemplateProvider, mailTemplateRendererProvider,
|
|
28
|
+
// @inject(Queue) @resolveArgProvider(() => mailModuleConfig.queueKey) @optional() mailQueue: Queue<unknown> | undefined,
|
|
29
|
+
mailLogRepository, logger) {
|
|
30
|
+
this.mailClient = mailClient;
|
|
31
|
+
this.mailTemplateProvider = mailTemplateProvider;
|
|
32
|
+
this.mailTemplateRendererProvider = mailTemplateRendererProvider;
|
|
33
|
+
// this.mailQueue = mailQueue;
|
|
34
|
+
this.mailLogRepository = mailLogRepository;
|
|
35
|
+
this.logger = logger;
|
|
36
|
+
}
|
|
37
|
+
async sendTemplate(key, mailData, templateContext) {
|
|
38
|
+
const template = await this.mailTemplateProvider.get(key);
|
|
39
|
+
const renderer = this.mailTemplateRendererProvider.get(template.type);
|
|
40
|
+
const { subject, html, text } = await renderer.render(template, templateContext);
|
|
41
|
+
const fullMailData = Object.assign(Object.assign({}, mailData), { subject, content: { html, text } });
|
|
42
|
+
let mailLog;
|
|
43
|
+
if ((0, type_guards_1.isDefined)(this.mailLogRepository)) {
|
|
44
|
+
const log = {
|
|
45
|
+
timestamp: (0, date_time_1.currentTimestamp)(),
|
|
46
|
+
templateKey: key,
|
|
47
|
+
data: fullMailData
|
|
48
|
+
};
|
|
49
|
+
mailLog = await this.mailLogRepository.insert(log);
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const result = await this.mailClient.send(fullMailData);
|
|
53
|
+
if ((0, type_guards_1.isDefined)(mailLog)) {
|
|
54
|
+
await this.mailLogRepository.patch(mailLog, { sendResult: result });
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
try {
|
|
60
|
+
if ((0, type_guards_1.isDefined)(mailLog)) {
|
|
61
|
+
await this.mailLogRepository.patch(mailLog, { errors: [(0, helpers_1.formatError)(error)] });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (logError) {
|
|
65
|
+
this.logger.error(logError);
|
|
66
|
+
}
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
MailService = MailService_1 = __decorate([
|
|
72
|
+
(0, container_1.singleton)(),
|
|
73
|
+
__param(1, (0, container_1.optional)()),
|
|
74
|
+
__param(3, (0, container_1.inject)(mail_log_repository_1.MailLogRepository)),
|
|
75
|
+
__param(3, (0, container_1.optional)()),
|
|
76
|
+
__param(4, (0, container_1.resolveArg)(MailService_1.name)),
|
|
77
|
+
__metadata("design:paramtypes", [mail_client_1.MailClient,
|
|
78
|
+
mail_template_provider_1.MailTemplateProvider,
|
|
79
|
+
mail_template_renderer_provider_1.MailTemplateRendererProvider, Object, logger_1.Logger])
|
|
80
|
+
], MailService);
|
|
81
|
+
exports.MailService = MailService;
|
|
82
|
+
//# sourceMappingURL=mail.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../source/mail/mail.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAsE;AAEtE,sCAAkC;AAGlC,kDAAqD;AACrD,8CAA8C;AAC9C,sDAAgD;AAChD,+DAA0D;AAC1D,uFAAiF;AACjF,qEAAgE;AAChE,+CAA2C;AAI3C,IAAa,WAAW,mBAAxB,MAAa,WAAW;IAQtB,YACE,UAAsB,EACV,oBAA0C,EACtD,4BAA0D;IAC1D,yHAAyH;IAClF,iBAAgD,EACzC,MAAc;QAE5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,4BAA4B,GAAG,4BAA4B,CAAC;QACjE,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAoD,EAAE,eAAwB;QAC5G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEjF,MAAM,YAAY,mCAAQ,QAAQ,KAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAE,CAAC;QAEvE,IAAI,OAA4B,CAAC;QAEjC,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACrC,MAAM,GAAG,GAAe;gBACtB,SAAS,EAAE,IAAA,4BAAgB,GAAE;gBAC7B,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,YAAY;aACnB,CAAC;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACpD;QAED,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAExD,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,EAAE;gBACtB,MAAM,IAAI,CAAC,iBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;aACtE;YAED,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,EAAE;YACZ,IAAI;gBACF,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,EAAE;oBACtB,MAAM,IAAI,CAAC,iBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChF;aACF;YACD,OAAO,QAAQ,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAiB,CAAC,CAAC;aACtC;YAED,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF,CAAA;AAjEY,WAAW;IADvB,IAAA,qBAAS,GAAE;IAWP,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAGV,WAAA,IAAA,kBAAM,EAAC,uCAAiB,CAAC,CAAA;IAAE,WAAA,IAAA,oBAAQ,GAAE,CAAA;IACrC,WAAA,IAAA,sBAAU,EAAiB,aAAW,CAAC,IAAI,CAAC,CAAA;qCALjC,wBAAU;QACY,6CAAoB;QACxB,8DAA4B,UAGJ,eAAM;GAdnD,WAAW,CAiEvB;AAjEY,kCAAW"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./mail-address.model"), exports);
|
|
18
|
+
__exportStar(require("./mail-content.model"), exports);
|
|
19
|
+
__exportStar(require("./mail-data.model"), exports);
|
|
20
|
+
__exportStar(require("./mail-log.model"), exports);
|
|
21
|
+
__exportStar(require("./mail-send-result.model"), exports);
|
|
22
|
+
__exportStar(require("./mail-template.model"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/mail/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,2DAAyC;AACzC,wDAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-address.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-address.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-content.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-content.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { OneOrMany } from "../../types";
|
|
2
|
+
import type { MailAddress } from './mail-address.model';
|
|
3
|
+
import type { MailContent } from './mail-content.model';
|
|
4
|
+
export declare type MailData = {
|
|
5
|
+
content: MailContent;
|
|
6
|
+
from?: MailAddress;
|
|
7
|
+
to?: OneOrMany<MailAddress>;
|
|
8
|
+
subject?: string;
|
|
9
|
+
sender?: MailAddress;
|
|
10
|
+
cc?: OneOrMany<MailAddress>;
|
|
11
|
+
bcc?: OneOrMany<MailAddress>;
|
|
12
|
+
replyTo?: MailAddress;
|
|
13
|
+
inReplyTo?: MailAddress;
|
|
14
|
+
returnPath?: MailAddress;
|
|
15
|
+
references?: OneOrMany<string>;
|
|
16
|
+
/**
|
|
17
|
+
* If a header has an string array as its value, the header is added multiple times.
|
|
18
|
+
*/
|
|
19
|
+
headers?: Record<string, string | string[]>;
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-data.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-data.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Entity, NewEntity } from "../../database";
|
|
2
|
+
import type { MailData } from './mail-data.model';
|
|
3
|
+
import type { MailSendResult } from './mail-send-result.model';
|
|
4
|
+
export declare type MailLog = Entity & {
|
|
5
|
+
timestamp: number;
|
|
6
|
+
templateKey?: string;
|
|
7
|
+
data: MailData;
|
|
8
|
+
sendResult?: MailSendResult;
|
|
9
|
+
errors?: string[];
|
|
10
|
+
};
|
|
11
|
+
export declare type NewMailLog = NewEntity<MailLog>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-log.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-log.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-send-result.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-send-result.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare type MailTemplate<Type extends string = string, Options = any> = {
|
|
2
|
+
key: string;
|
|
3
|
+
type: Type;
|
|
4
|
+
/** subject template */
|
|
5
|
+
subject?: string;
|
|
6
|
+
/** html template */
|
|
7
|
+
html?: string;
|
|
8
|
+
/** text template */
|
|
9
|
+
text?: string;
|
|
10
|
+
options?: Options;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-template.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-template.model.ts"],"names":[],"mappings":""}
|
package/mail/module.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Type } from "../types";
|
|
2
|
+
import { MailLogRepository } from './mail-log.repository';
|
|
3
|
+
import { MailTemplateProvider } from './mail-template.provider';
|
|
4
|
+
import type { MailTemplateRenderer } from './mail-template.renderer';
|
|
5
|
+
import type { MailClientConfig } from './mail.client';
|
|
6
|
+
import { MailClient } from './mail.client';
|
|
7
|
+
export declare type MailModuleConfig = {
|
|
8
|
+
clientConfig: MailClientConfig;
|
|
9
|
+
client: Type<MailClient>;
|
|
10
|
+
logRepository: Type<MailLogRepository> | undefined;
|
|
11
|
+
templateProvider: Type<MailTemplateProvider>;
|
|
12
|
+
templateRenderers: Type<MailTemplateRenderer>[];
|
|
13
|
+
};
|
|
14
|
+
export declare const mailModuleConfig: MailModuleConfig;
|
|
15
|
+
/**
|
|
16
|
+
* configure mail module
|
|
17
|
+
*/
|
|
18
|
+
export declare function configureMail({ clientConfig, client, logRepository, templateProvider, templateRenderers }: Partial<MailModuleConfig>): void;
|
package/mail/module.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configureMail = exports.mailModuleConfig = void 0;
|
|
4
|
+
const container_1 = require("../container");
|
|
5
|
+
const type_guards_1 = require("../utils/type-guards");
|
|
6
|
+
const mail_log_repository_1 = require("./mail-log.repository");
|
|
7
|
+
const mail_template_provider_1 = require("./mail-template.provider");
|
|
8
|
+
const mail_client_1 = require("./mail.client");
|
|
9
|
+
const tokens_1 = require("./tokens");
|
|
10
|
+
exports.mailModuleConfig = {
|
|
11
|
+
clientConfig: { host: '127.0.0.1', port: 25 },
|
|
12
|
+
client: (0, container_1.stubClass)(mail_client_1.MailClient),
|
|
13
|
+
logRepository: (0, container_1.stubClass)(mail_log_repository_1.MailLogRepository),
|
|
14
|
+
templateProvider: (0, container_1.stubClass)(mail_template_provider_1.MailTemplateProvider),
|
|
15
|
+
templateRenderers: []
|
|
16
|
+
// queueKey: undefined
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* configure mail module
|
|
20
|
+
*/
|
|
21
|
+
function configureMail({ clientConfig, client, logRepository, templateProvider, templateRenderers /* , queueKey */ }) {
|
|
22
|
+
// mailModuleConfig.queueKey = queueKey ?? mailModuleConfig.queueKey;
|
|
23
|
+
if ((0, type_guards_1.isDefined)(clientConfig)) {
|
|
24
|
+
container_1.container.registerSingleton(tokens_1.MAIL_CLIENT_CONFIG, { useValue: clientConfig });
|
|
25
|
+
}
|
|
26
|
+
if ((0, type_guards_1.isDefined)(client)) {
|
|
27
|
+
container_1.container.registerSingleton(mail_client_1.MailClient, { useToken: client });
|
|
28
|
+
}
|
|
29
|
+
if ((0, type_guards_1.isDefined)(logRepository)) {
|
|
30
|
+
container_1.container.registerSingleton(mail_log_repository_1.MailLogRepository, { useToken: logRepository });
|
|
31
|
+
}
|
|
32
|
+
if ((0, type_guards_1.isDefined)(templateRenderers)) {
|
|
33
|
+
container_1.container.registerSingleton(tokens_1.MAIL_TEMPLATE_RENDERERS, { useValue: templateRenderers });
|
|
34
|
+
}
|
|
35
|
+
if ((0, type_guards_1.isDefined)(templateProvider)) {
|
|
36
|
+
container_1.container.registerSingleton(mail_template_provider_1.MailTemplateProvider, { useToken: templateProvider });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.configureMail = configureMail;
|
|
40
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/mail/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,sDAAgD;AAChD,+DAA0D;AAC1D,qEAAgE;AAGhE,+CAA2C;AAC3C,qCAAuE;AAW1D,QAAA,gBAAgB,GAAqB;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAA,qBAAS,EAAC,wBAAU,CAAC;IAC7B,aAAa,EAAE,IAAA,qBAAS,EAAC,uCAAiB,CAAC;IAC3C,gBAAgB,EAAE,IAAA,qBAAS,EAAC,6CAAoB,CAAC;IACjD,iBAAiB,EAAE,EAAE;IACrB,sBAAsB;CACvB,CAAC;AAEF;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,EAA6B;IACpJ,qEAAqE;IAErE,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,EAAE;QAC3B,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,qBAAS,CAAC,iBAAiB,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D;IAED,IAAI,IAAA,uBAAS,EAAC,aAAa,CAAC,EAAE;QAC5B,qBAAS,CAAC,iBAAiB,CAAC,uCAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,iBAAiB,CAAC,EAAE;QAChC,qBAAS,CAAC,iBAAiB,CAAC,gCAAuB,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;KACvF;IAED,IAAI,IAAA,uBAAS,EAAC,gBAAgB,CAAC,EAAE;QAC/B,qBAAS,CAAC,iBAAiB,CAAC,6CAAoB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;KACnF;AACH,CAAC;AAtBD,sCAsBC"}
|