@wepublish/api
Version:
API core for we.publish.
44 lines • 1.73 kB
JavaScript
;
var MailsModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MailsModule = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const nest_modules_1 = require("@wepublish/nest-modules");
const mail_context_1 = require("./mail-context");
const mails_module_options_1 = require("./mails-module-options");
const client_1 = require("@prisma/client");
const api_1 = require("../../../utils-api/src");
let MailsModule = exports.MailsModule = MailsModule_1 = class MailsModule {
static registerAsync(options) {
return {
module: MailsModule_1,
global: options.global,
imports: options.imports || [],
providers: this.createAsyncProviders(options)
};
}
static createAsyncProviders(options) {
return [
(0, api_1.createAsyncOptionsProvider)(mails_module_options_1.MAILS_MODULE_OPTIONS, options),
{
provide: mail_context_1.MailContext,
useFactory: ({ defaultFromAddress, defaultReplyToAddress, mailProvider }, prisma) => new mail_context_1.MailContext({
prisma,
mailProvider,
defaultFromAddress,
defaultReplyToAddress
}),
inject: [mails_module_options_1.MAILS_MODULE_OPTIONS, client_1.PrismaClient]
}
];
}
};
exports.MailsModule = MailsModule = MailsModule_1 = tslib_1.__decorate([
(0, common_1.Module)({
imports: [nest_modules_1.PrismaModule],
providers: [],
exports: [mail_context_1.MailContext]
})
], MailsModule);
//# sourceMappingURL=mails.module.js.map