@application-kit/mailer 0.0.0-stage → 0.0.0
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/LICENSE +21 -0
- package/README.md +74 -2
- package/dist/cjs/application/errors/index.d.ts +1 -0
- package/dist/cjs/application/errors/index.js +17 -0
- package/dist/cjs/application/errors/send-email.error.d.ts +8 -0
- package/dist/cjs/application/errors/send-email.error.js +12 -0
- package/dist/cjs/application/index.d.ts +3 -0
- package/dist/cjs/application/index.js +19 -0
- package/dist/cjs/application/ports/email-sender.interface.d.ts +14 -0
- package/dist/cjs/application/ports/email-sender.interface.js +2 -0
- package/dist/cjs/application/ports/email-subscriptions.interface.d.ts +10 -0
- package/dist/cjs/application/ports/email-subscriptions.interface.js +2 -0
- package/dist/cjs/application/ports/email-template-catalog.interface.d.ts +8 -0
- package/dist/cjs/application/ports/email-template-catalog.interface.js +2 -0
- package/dist/cjs/application/ports/email-template-renderer.interface.d.ts +9 -0
- package/dist/cjs/application/ports/email-template-renderer.interface.js +2 -0
- package/dist/cjs/application/ports/index.d.ts +7 -0
- package/dist/cjs/application/ports/index.js +23 -0
- package/dist/cjs/application/ports/mailer-logger.interface.d.ts +5 -0
- package/dist/cjs/application/ports/mailer-logger.interface.js +2 -0
- package/dist/cjs/application/ports/mailer.interface.d.ts +9 -0
- package/dist/cjs/application/ports/mailer.interface.js +2 -0
- package/dist/cjs/application/ports/sent-email-log.interface.d.ts +4 -0
- package/dist/cjs/application/ports/sent-email-log.interface.js +2 -0
- package/dist/cjs/application/services/email-dispatcher.service.d.ts +12 -0
- package/dist/cjs/application/services/email-dispatcher.service.js +56 -0
- package/dist/cjs/application/services/email-idempotency-key.service.d.ts +4 -0
- package/dist/cjs/application/services/email-idempotency-key.service.js +24 -0
- package/dist/cjs/application/services/email-sender.service.d.ts +17 -0
- package/dist/cjs/application/services/email-sender.service.js +69 -0
- package/dist/cjs/application/services/index.d.ts +3 -0
- package/dist/cjs/application/services/index.js +19 -0
- package/dist/cjs/configs/envs/index.d.ts +1 -0
- package/dist/cjs/configs/envs/index.js +17 -0
- package/dist/cjs/configs/envs/mailer.environment.d.ts +7 -0
- package/dist/cjs/configs/envs/mailer.environment.js +48 -0
- package/dist/cjs/configs/index.d.ts +2 -0
- package/dist/cjs/configs/index.js +18 -0
- package/dist/cjs/configs/mailer.config.d.ts +15 -0
- package/dist/cjs/configs/mailer.config.js +41 -0
- package/dist/cjs/constants.d.ts +7 -0
- package/dist/cjs/constants.js +10 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/infrastructure/adapters/index.d.ts +3 -0
- package/dist/cjs/infrastructure/adapters/index.js +19 -0
- package/dist/cjs/infrastructure/adapters/interpolating-email-template-renderer.d.ts +7 -0
- package/dist/cjs/infrastructure/adapters/interpolating-email-template-renderer.js +52 -0
- package/dist/cjs/infrastructure/adapters/json-mailer.adapter.d.ts +7 -0
- package/dist/cjs/infrastructure/adapters/json-mailer.adapter.js +28 -0
- package/dist/cjs/infrastructure/adapters/smtp-mailer.adapter.d.ts +8 -0
- package/dist/cjs/infrastructure/adapters/smtp-mailer.adapter.js +44 -0
- package/dist/cjs/infrastructure/database/index.d.ts +1 -0
- package/dist/cjs/infrastructure/database/index.js +17 -0
- package/dist/cjs/infrastructure/database/typeorm/entities/index.d.ts +1 -0
- package/dist/cjs/infrastructure/database/typeorm/entities/index.js +17 -0
- package/dist/cjs/infrastructure/database/typeorm/entities/sent-email.entity.d.ts +4 -0
- package/dist/cjs/infrastructure/database/typeorm/entities/sent-email.entity.js +30 -0
- package/dist/cjs/infrastructure/database/typeorm/index.d.ts +3 -0
- package/dist/cjs/infrastructure/database/typeorm/index.js +19 -0
- package/dist/cjs/infrastructure/database/typeorm/migrations/add-sent-emails.migration.d.ts +6 -0
- package/dist/cjs/infrastructure/database/typeorm/migrations/add-sent-emails.migration.js +13 -0
- package/dist/cjs/infrastructure/database/typeorm/migrations/index.d.ts +1 -0
- package/dist/cjs/infrastructure/database/typeorm/migrations/index.js +17 -0
- package/dist/cjs/infrastructure/database/typeorm/repositories/index.d.ts +1 -0
- package/dist/cjs/infrastructure/database/typeorm/repositories/index.js +17 -0
- package/dist/cjs/infrastructure/database/typeorm/repositories/sent-email-log.repository.d.ts +9 -0
- package/dist/cjs/infrastructure/database/typeorm/repositories/sent-email-log.repository.js +44 -0
- package/dist/cjs/infrastructure/index.d.ts +2 -0
- package/dist/cjs/infrastructure/index.js +18 -0
- package/dist/cjs/mailer-logger.d.ts +5 -0
- package/dist/cjs/mailer-logger.js +59 -0
- package/dist/cjs/mailer.module.d.ts +9 -0
- package/dist/cjs/mailer.module.js +55 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/testing/email-sender.fake.d.ts +7 -0
- package/dist/cjs/testing/email-sender.fake.js +15 -0
- package/dist/cjs/testing/email-subscriptions.fake.d.ts +6 -0
- package/dist/cjs/testing/email-subscriptions.fake.js +15 -0
- package/dist/cjs/testing/email-template-catalog.fake.d.ts +11 -0
- package/dist/cjs/testing/email-template-catalog.fake.js +15 -0
- package/dist/cjs/testing/email-template-renderer.fake.d.ts +12 -0
- package/dist/cjs/testing/email-template-renderer.fake.js +19 -0
- package/dist/cjs/testing/index.d.ts +6 -0
- package/dist/cjs/testing/index.js +22 -0
- package/dist/cjs/testing/mailer.fake.d.ts +8 -0
- package/dist/cjs/testing/mailer.fake.js +21 -0
- package/dist/cjs/testing/sent-email-log.fake.d.ts +8 -0
- package/dist/cjs/testing/sent-email-log.fake.js +26 -0
- package/dist/esm/application/errors/index.d.ts +1 -0
- package/dist/esm/application/errors/index.js +1 -0
- package/dist/esm/application/errors/send-email.error.d.ts +8 -0
- package/dist/esm/application/errors/send-email.error.js +8 -0
- package/dist/esm/application/index.d.ts +3 -0
- package/dist/esm/application/index.js +3 -0
- package/dist/esm/application/ports/email-sender.interface.d.ts +14 -0
- package/dist/esm/application/ports/email-sender.interface.js +1 -0
- package/dist/esm/application/ports/email-subscriptions.interface.d.ts +10 -0
- package/dist/esm/application/ports/email-subscriptions.interface.js +1 -0
- package/dist/esm/application/ports/email-template-catalog.interface.d.ts +8 -0
- package/dist/esm/application/ports/email-template-catalog.interface.js +1 -0
- package/dist/esm/application/ports/email-template-renderer.interface.d.ts +9 -0
- package/dist/esm/application/ports/email-template-renderer.interface.js +1 -0
- package/dist/esm/application/ports/index.d.ts +7 -0
- package/dist/esm/application/ports/index.js +7 -0
- package/dist/esm/application/ports/mailer-logger.interface.d.ts +5 -0
- package/dist/esm/application/ports/mailer-logger.interface.js +1 -0
- package/dist/esm/application/ports/mailer.interface.d.ts +9 -0
- package/dist/esm/application/ports/mailer.interface.js +1 -0
- package/dist/esm/application/ports/sent-email-log.interface.d.ts +4 -0
- package/dist/esm/application/ports/sent-email-log.interface.js +1 -0
- package/dist/esm/application/services/email-dispatcher.service.d.ts +12 -0
- package/dist/esm/application/services/email-dispatcher.service.js +53 -0
- package/dist/esm/application/services/email-idempotency-key.service.d.ts +4 -0
- package/dist/esm/application/services/email-idempotency-key.service.js +21 -0
- package/dist/esm/application/services/email-sender.service.d.ts +17 -0
- package/dist/esm/application/services/email-sender.service.js +66 -0
- package/dist/esm/application/services/index.d.ts +3 -0
- package/dist/esm/application/services/index.js +3 -0
- package/dist/esm/configs/envs/index.d.ts +1 -0
- package/dist/esm/configs/envs/index.js +1 -0
- package/dist/esm/configs/envs/mailer.environment.d.ts +7 -0
- package/dist/esm/configs/envs/mailer.environment.js +44 -0
- package/dist/esm/configs/index.d.ts +2 -0
- package/dist/esm/configs/index.js +2 -0
- package/dist/esm/configs/mailer.config.d.ts +15 -0
- package/dist/esm/configs/mailer.config.js +38 -0
- package/dist/esm/constants.d.ts +7 -0
- package/dist/esm/constants.js +7 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/infrastructure/adapters/index.d.ts +3 -0
- package/dist/esm/infrastructure/adapters/index.js +3 -0
- package/dist/esm/infrastructure/adapters/interpolating-email-template-renderer.d.ts +7 -0
- package/dist/esm/infrastructure/adapters/interpolating-email-template-renderer.js +49 -0
- package/dist/esm/infrastructure/adapters/json-mailer.adapter.d.ts +7 -0
- package/dist/esm/infrastructure/adapters/json-mailer.adapter.js +25 -0
- package/dist/esm/infrastructure/adapters/smtp-mailer.adapter.d.ts +8 -0
- package/dist/esm/infrastructure/adapters/smtp-mailer.adapter.js +41 -0
- package/dist/esm/infrastructure/database/index.d.ts +1 -0
- package/dist/esm/infrastructure/database/index.js +1 -0
- package/dist/esm/infrastructure/database/typeorm/entities/index.d.ts +1 -0
- package/dist/esm/infrastructure/database/typeorm/entities/index.js +1 -0
- package/dist/esm/infrastructure/database/typeorm/entities/sent-email.entity.d.ts +4 -0
- package/dist/esm/infrastructure/database/typeorm/entities/sent-email.entity.js +27 -0
- package/dist/esm/infrastructure/database/typeorm/index.d.ts +3 -0
- package/dist/esm/infrastructure/database/typeorm/index.js +3 -0
- package/dist/esm/infrastructure/database/typeorm/migrations/add-sent-emails.migration.d.ts +6 -0
- package/dist/esm/infrastructure/database/typeorm/migrations/add-sent-emails.migration.js +9 -0
- package/dist/esm/infrastructure/database/typeorm/migrations/index.d.ts +1 -0
- package/dist/esm/infrastructure/database/typeorm/migrations/index.js +1 -0
- package/dist/esm/infrastructure/database/typeorm/repositories/index.d.ts +1 -0
- package/dist/esm/infrastructure/database/typeorm/repositories/index.js +1 -0
- package/dist/esm/infrastructure/database/typeorm/repositories/sent-email-log.repository.d.ts +9 -0
- package/dist/esm/infrastructure/database/typeorm/repositories/sent-email-log.repository.js +41 -0
- package/dist/esm/infrastructure/index.d.ts +2 -0
- package/dist/esm/infrastructure/index.js +2 -0
- package/dist/esm/mailer-logger.d.ts +5 -0
- package/dist/esm/mailer-logger.js +23 -0
- package/dist/esm/mailer.module.d.ts +9 -0
- package/dist/esm/mailer.module.js +52 -0
- package/dist/esm/testing/email-sender.fake.d.ts +7 -0
- package/dist/esm/testing/email-sender.fake.js +11 -0
- package/dist/esm/testing/email-subscriptions.fake.d.ts +6 -0
- package/dist/esm/testing/email-subscriptions.fake.js +11 -0
- package/dist/esm/testing/email-template-catalog.fake.d.ts +11 -0
- package/dist/esm/testing/email-template-catalog.fake.js +11 -0
- package/dist/esm/testing/email-template-renderer.fake.d.ts +12 -0
- package/dist/esm/testing/email-template-renderer.fake.js +15 -0
- package/dist/esm/testing/index.d.ts +6 -0
- package/dist/esm/testing/index.js +6 -0
- package/dist/esm/testing/mailer.fake.d.ts +8 -0
- package/dist/esm/testing/mailer.fake.js +17 -0
- package/dist/esm/testing/sent-email-log.fake.d.ts +8 -0
- package/dist/esm/testing/sent-email-log.fake.js +22 -0
- package/package.json +96 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MailerEnvironment } from './envs/mailer.environment.js';
|
|
2
|
+
export interface SmtpSettingsInterface {
|
|
3
|
+
readonly host: string;
|
|
4
|
+
readonly password: string;
|
|
5
|
+
readonly port: number;
|
|
6
|
+
readonly secure: boolean;
|
|
7
|
+
readonly user: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class MailerConfig {
|
|
10
|
+
private readonly environment;
|
|
11
|
+
get from(): string;
|
|
12
|
+
get isSmtpConfigured(): boolean;
|
|
13
|
+
get smtp(): SmtpSettingsInterface;
|
|
14
|
+
constructor(environment: MailerEnvironment);
|
|
15
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MailerConfig = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const mailer_environment_js_1 = require("./envs/mailer.environment.js");
|
|
15
|
+
const IMPLICIT_TLS_PORT = 465;
|
|
16
|
+
let MailerConfig = class MailerConfig {
|
|
17
|
+
environment;
|
|
18
|
+
get from() {
|
|
19
|
+
return this.environment.MAIL_FROM;
|
|
20
|
+
}
|
|
21
|
+
get isSmtpConfigured() {
|
|
22
|
+
return this.environment.MAIL_SMTP_HOST !== '';
|
|
23
|
+
}
|
|
24
|
+
get smtp() {
|
|
25
|
+
return {
|
|
26
|
+
host: this.environment.MAIL_SMTP_HOST,
|
|
27
|
+
password: this.environment.MAIL_SMTP_PASSWORD,
|
|
28
|
+
port: this.environment.MAIL_SMTP_PORT,
|
|
29
|
+
secure: this.environment.MAIL_SMTP_PORT === IMPLICIT_TLS_PORT,
|
|
30
|
+
user: this.environment.MAIL_SMTP_USER,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
constructor(environment) {
|
|
34
|
+
this.environment = environment;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.MailerConfig = MailerConfig;
|
|
38
|
+
exports.MailerConfig = MailerConfig = __decorate([
|
|
39
|
+
(0, common_1.Injectable)(),
|
|
40
|
+
__metadata("design:paramtypes", [mailer_environment_js_1.MailerEnvironment])
|
|
41
|
+
], MailerConfig);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const EMAIL_SENDER_PORT: unique symbol;
|
|
2
|
+
export declare const EMAIL_TEMPLATE_RENDERER_PORT: unique symbol;
|
|
3
|
+
export declare const MAILER_PORT: unique symbol;
|
|
4
|
+
export declare const SENT_EMAIL_LOG_PORT: unique symbol;
|
|
5
|
+
export declare const EMAIL_SUBSCRIPTIONS_PORT: unique symbol;
|
|
6
|
+
export declare const EMAIL_TEMPLATE_CATALOG_PORT: unique symbol;
|
|
7
|
+
export declare const MAILER_LOGGER: unique symbol;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAILER_LOGGER = exports.EMAIL_TEMPLATE_CATALOG_PORT = exports.EMAIL_SUBSCRIPTIONS_PORT = exports.SENT_EMAIL_LOG_PORT = exports.MAILER_PORT = exports.EMAIL_TEMPLATE_RENDERER_PORT = exports.EMAIL_SENDER_PORT = void 0;
|
|
4
|
+
exports.EMAIL_SENDER_PORT = Symbol('EMAIL_SENDER_PORT');
|
|
5
|
+
exports.EMAIL_TEMPLATE_RENDERER_PORT = Symbol('EMAIL_TEMPLATE_RENDERER_PORT');
|
|
6
|
+
exports.MAILER_PORT = Symbol('MAILER_PORT');
|
|
7
|
+
exports.SENT_EMAIL_LOG_PORT = Symbol('SENT_EMAIL_LOG_PORT');
|
|
8
|
+
exports.EMAIL_SUBSCRIPTIONS_PORT = Symbol('EMAIL_SUBSCRIPTIONS_PORT');
|
|
9
|
+
exports.EMAIL_TEMPLATE_CATALOG_PORT = Symbol('EMAIL_TEMPLATE_CATALOG_PORT');
|
|
10
|
+
exports.MAILER_LOGGER = Symbol('MAILER_LOGGER');
|
|
@@ -0,0 +1,22 @@
|
|
|
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("./application/index.js"), exports);
|
|
18
|
+
__exportStar(require("./configs/index.js"), exports);
|
|
19
|
+
__exportStar(require("./infrastructure/index.js"), exports);
|
|
20
|
+
__exportStar(require("./constants.js"), exports);
|
|
21
|
+
__exportStar(require("./mailer-logger.js"), exports);
|
|
22
|
+
__exportStar(require("./mailer.module.js"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./interpolating-email-template-renderer.js"), exports);
|
|
18
|
+
__exportStar(require("./json-mailer.adapter.js"), exports);
|
|
19
|
+
__exportStar(require("./smtp-mailer.adapter.js"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EmailTemplateCatalogInterface } from '../../application/ports/email-template-catalog.interface.js';
|
|
2
|
+
import type { EmailTemplateParameters, EmailTemplateRendererInterface, RenderedEmailInterface } from '../../application/ports/email-template-renderer.interface.js';
|
|
3
|
+
export declare class InterpolatingEmailTemplateRenderer implements EmailTemplateRendererInterface {
|
|
4
|
+
private readonly catalog;
|
|
5
|
+
constructor(catalog: EmailTemplateCatalogInterface);
|
|
6
|
+
render(name: string, locale: string, parameters: EmailTemplateParameters): RenderedEmailInterface;
|
|
7
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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.InterpolatingEmailTemplateRenderer = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const constants_js_1 = require("../../constants.js");
|
|
18
|
+
const PLACEHOLDER_PATTERN = /\{(?<parameter>\w+)\}/gu;
|
|
19
|
+
const keepAsIs = (value) => value;
|
|
20
|
+
const escapeHtml = (value) => value
|
|
21
|
+
.replaceAll('&', '&')
|
|
22
|
+
.replaceAll('"', '"')
|
|
23
|
+
.replaceAll('\'', ''')
|
|
24
|
+
.replaceAll('<', '<')
|
|
25
|
+
.replaceAll('>', '>');
|
|
26
|
+
const interpolate = (template, parameters, transform) => template.replaceAll(PLACEHOLDER_PATTERN, (placeholder, name) => {
|
|
27
|
+
const value = parameters[name];
|
|
28
|
+
if (value === undefined) {
|
|
29
|
+
return placeholder;
|
|
30
|
+
}
|
|
31
|
+
return transform(value);
|
|
32
|
+
});
|
|
33
|
+
let InterpolatingEmailTemplateRenderer = class InterpolatingEmailTemplateRenderer {
|
|
34
|
+
catalog;
|
|
35
|
+
constructor(catalog) {
|
|
36
|
+
this.catalog = catalog;
|
|
37
|
+
}
|
|
38
|
+
render(name, locale, parameters) {
|
|
39
|
+
const template = this.catalog.get(name, locale);
|
|
40
|
+
return {
|
|
41
|
+
html: interpolate(template.html, parameters, escapeHtml),
|
|
42
|
+
subject: interpolate(template.subject, parameters, keepAsIs),
|
|
43
|
+
text: interpolate(template.text, parameters, keepAsIs),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.InterpolatingEmailTemplateRenderer = InterpolatingEmailTemplateRenderer;
|
|
48
|
+
exports.InterpolatingEmailTemplateRenderer = InterpolatingEmailTemplateRenderer = __decorate([
|
|
49
|
+
(0, common_1.Injectable)(),
|
|
50
|
+
__param(0, (0, common_1.Inject)(constants_js_1.EMAIL_TEMPLATE_CATALOG_PORT)),
|
|
51
|
+
__metadata("design:paramtypes", [Object])
|
|
52
|
+
], InterpolatingEmailTemplateRenderer);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MailerLoggerInterface } from '../../application/ports/mailer-logger.interface.js';
|
|
2
|
+
import type { MailerInterface, MailerMessageInterface } from '../../application/ports/mailer.interface.js';
|
|
3
|
+
export declare class JsonMailerAdapter implements MailerInterface {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
constructor(logger: MailerLoggerInterface);
|
|
6
|
+
send(message: MailerMessageInterface): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.JsonMailerAdapter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
let JsonMailerAdapter = class JsonMailerAdapter {
|
|
15
|
+
logger;
|
|
16
|
+
constructor(logger) {
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
async send(message) {
|
|
20
|
+
this.logger.warn({ html: message.html, subject: message.subject, text: message.text, to: message.to }, 'Email dumped to the log: SMTP is not configured');
|
|
21
|
+
await Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.JsonMailerAdapter = JsonMailerAdapter;
|
|
25
|
+
exports.JsonMailerAdapter = JsonMailerAdapter = __decorate([
|
|
26
|
+
(0, common_1.Injectable)(),
|
|
27
|
+
__metadata("design:paramtypes", [Object])
|
|
28
|
+
], JsonMailerAdapter);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MailerInterface, MailerMessageInterface } from '../../application/ports/mailer.interface.js';
|
|
2
|
+
import { MailerConfig } from '../../configs/mailer.config.js';
|
|
3
|
+
export declare class SmtpMailerAdapter implements MailerInterface {
|
|
4
|
+
private readonly config;
|
|
5
|
+
private readonly transporter;
|
|
6
|
+
constructor(config: MailerConfig);
|
|
7
|
+
send(message: MailerMessageInterface): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SmtpMailerAdapter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const nodemailer_1 = require("nodemailer");
|
|
15
|
+
const mailer_config_js_1 = require("../../configs/mailer.config.js");
|
|
16
|
+
let SmtpMailerAdapter = class SmtpMailerAdapter {
|
|
17
|
+
config;
|
|
18
|
+
transporter;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.config = config;
|
|
21
|
+
const { host, password, port, secure, user } = config.smtp;
|
|
22
|
+
this.transporter = (0, nodemailer_1.createTransport)({
|
|
23
|
+
auth: user === '' ? undefined : { pass: password, user },
|
|
24
|
+
host,
|
|
25
|
+
port,
|
|
26
|
+
requireTLS: true,
|
|
27
|
+
secure,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async send(message) {
|
|
31
|
+
await this.transporter.sendMail({
|
|
32
|
+
from: this.config.from,
|
|
33
|
+
html: message.html,
|
|
34
|
+
subject: message.subject,
|
|
35
|
+
text: message.text,
|
|
36
|
+
to: message.to,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.SmtpMailerAdapter = SmtpMailerAdapter;
|
|
41
|
+
exports.SmtpMailerAdapter = SmtpMailerAdapter = __decorate([
|
|
42
|
+
(0, common_1.Injectable)(),
|
|
43
|
+
__metadata("design:paramtypes", [mailer_config_js_1.MailerConfig])
|
|
44
|
+
], SmtpMailerAdapter);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './typeorm/index.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./typeorm/index.js"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sent-email.entity.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./sent-email.entity.js"), exports);
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SentEmailEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const email_idempotency_key_service_js_1 = require("../../../../application/services/email-idempotency-key.service.js");
|
|
15
|
+
let SentEmailEntity = class SentEmailEntity {
|
|
16
|
+
idempotencyKey;
|
|
17
|
+
sentAt;
|
|
18
|
+
};
|
|
19
|
+
exports.SentEmailEntity = SentEmailEntity;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, typeorm_1.PrimaryColumn)({ length: email_idempotency_key_service_js_1.EMAIL_IDEMPOTENCY_KEY_MAX_LENGTH, type: 'varchar' }),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], SentEmailEntity.prototype, "idempotencyKey", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typeorm_1.CreateDateColumn)({ type: 'timestamp without time zone' }),
|
|
26
|
+
__metadata("design:type", Date)
|
|
27
|
+
], SentEmailEntity.prototype, "sentAt", void 0);
|
|
28
|
+
exports.SentEmailEntity = SentEmailEntity = __decorate([
|
|
29
|
+
(0, typeorm_1.Entity)()
|
|
30
|
+
], SentEmailEntity);
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./entities/index.js"), exports);
|
|
18
|
+
__exportStar(require("./migrations/index.js"), exports);
|
|
19
|
+
__exportStar(require("./repositories/index.js"), exports);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddSentEmails1790231050588 = void 0;
|
|
4
|
+
class AddSentEmails1790231050588 {
|
|
5
|
+
name = 'AddSentEmails1790231050588';
|
|
6
|
+
async down(queryRunner) {
|
|
7
|
+
await queryRunner.query(`DROP TABLE "sent_emails"`);
|
|
8
|
+
}
|
|
9
|
+
async up(queryRunner) {
|
|
10
|
+
await queryRunner.query(`CREATE TABLE "sent_emails" ("idempotency_key" character varying(128) NOT NULL, "sent_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_5940884b20d8dacfb3fba3e01bb" PRIMARY KEY ("idempotency_key"))`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.AddSentEmails1790231050588 = AddSentEmails1790231050588;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './add-sent-emails.migration.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./add-sent-emails.migration.js"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sent-email-log.repository.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./sent-email-log.repository.js"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { SentEmailLogInterface } from '../../../../application/ports/sent-email-log.interface.js';
|
|
3
|
+
import { SentEmailEntity } from '../entities/sent-email.entity.js';
|
|
4
|
+
export declare class SentEmailLogRepository implements SentEmailLogInterface {
|
|
5
|
+
private readonly repository;
|
|
6
|
+
constructor(repository: Repository<SentEmailEntity>);
|
|
7
|
+
claim(key: string): Promise<boolean>;
|
|
8
|
+
release(key: string): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.SentEmailLogRepository = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
|
+
const typeorm_2 = require("typeorm");
|
|
19
|
+
const sent_email_entity_js_1 = require("../entities/sent-email.entity.js");
|
|
20
|
+
let SentEmailLogRepository = class SentEmailLogRepository {
|
|
21
|
+
repository;
|
|
22
|
+
constructor(repository) {
|
|
23
|
+
this.repository = repository;
|
|
24
|
+
}
|
|
25
|
+
async claim(key) {
|
|
26
|
+
const inserted = await this.repository
|
|
27
|
+
.createQueryBuilder()
|
|
28
|
+
.insert()
|
|
29
|
+
.into(sent_email_entity_js_1.SentEmailEntity)
|
|
30
|
+
.values({ idempotencyKey: key })
|
|
31
|
+
.orIgnore()
|
|
32
|
+
.execute();
|
|
33
|
+
return inserted.identifiers.length > 0;
|
|
34
|
+
}
|
|
35
|
+
async release(key) {
|
|
36
|
+
await this.repository.delete({ idempotencyKey: key });
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.SentEmailLogRepository = SentEmailLogRepository;
|
|
40
|
+
exports.SentEmailLogRepository = SentEmailLogRepository = __decorate([
|
|
41
|
+
(0, common_1.Injectable)(),
|
|
42
|
+
__param(0, (0, typeorm_1.InjectRepository)(sent_email_entity_js_1.SentEmailEntity)),
|
|
43
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
44
|
+
], SentEmailLogRepository);
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./adapters/index.js"), exports);
|
|
18
|
+
__exportStar(require("./database/index.js"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as nestjsPino from 'nestjs-pino';
|
|
2
|
+
import type { MailerLoggerInterface } from './application/ports/mailer-logger.interface.js';
|
|
3
|
+
export declare class MailerLogger extends nestjsPino.PinoLogger implements MailerLoggerInterface {
|
|
4
|
+
constructor(options: nestjsPino.Params);
|
|
5
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var MailerLogger_1;
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.MailerLogger = void 0;
|
|
47
|
+
const common_1 = require("@nestjs/common");
|
|
48
|
+
const nestjsPino = __importStar(require("nestjs-pino"));
|
|
49
|
+
let MailerLogger = MailerLogger_1 = class MailerLogger extends nestjsPino.PinoLogger {
|
|
50
|
+
constructor(options) {
|
|
51
|
+
super(options);
|
|
52
|
+
this.setContext(MailerLogger_1.name);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.MailerLogger = MailerLogger;
|
|
56
|
+
exports.MailerLogger = MailerLogger = MailerLogger_1 = __decorate([
|
|
57
|
+
(0, common_1.Injectable)(),
|
|
58
|
+
__metadata("design:paramtypes", [Object])
|
|
59
|
+
], MailerLogger);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
import type { EmailTemplateCatalogInterface } from './application/ports/email-template-catalog.interface.js';
|
|
3
|
+
export interface MailerModuleOptionsInterface {
|
|
4
|
+
readonly subscriptions: Type;
|
|
5
|
+
readonly templates: Type<EmailTemplateCatalogInterface>;
|
|
6
|
+
}
|
|
7
|
+
export declare class MailerModule {
|
|
8
|
+
static register(options: MailerModuleOptionsInterface): DynamicModule;
|
|
9
|
+
}
|