58 lines
1.7 KiB
TypeScript
58 lines
1.7 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AppController } from './app.controller';
|
|
import { MailerModule } from '@nestjs-modules/mailer';
|
|
import { ClientsModule, Transport } from '@nestjs/microservices';
|
|
import { AuthModule } from './auth/auth.module';
|
|
import { EmailController } from './email.controller';
|
|
import { join } from 'path';
|
|
import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
|
|
@Module({
|
|
imports: [
|
|
MailerModule.forRootAsync({
|
|
// imports: [ConfigModule], // import module if not enabled globally
|
|
useFactory: async (config: ConfigService) => ({
|
|
// transport: config.get("MAIL_TRANSPORT"),
|
|
// or
|
|
transport: {
|
|
host: config.get('MAIL_HOST'),
|
|
secure: false,
|
|
auth: {
|
|
user: config.get('MAIL_USER'),
|
|
pass: config.get('MAIL_PASSWORD'),
|
|
},
|
|
},
|
|
defaults: {
|
|
from: `"No Reply" <${config.get('MAIL_USER')}>`,
|
|
},
|
|
template: {
|
|
dir: join(__dirname, 'mails'),
|
|
adapter: new HandlebarsAdapter(),
|
|
options: {
|
|
strict: true,
|
|
},
|
|
},
|
|
}),
|
|
inject: [ConfigService],
|
|
}),
|
|
ConfigModule.forRoot({
|
|
isGlobal: true, // no need to import into other modules
|
|
}),
|
|
ClientsModule.register([
|
|
{
|
|
name: 'SERVICIO_NOTIFICACIONES',
|
|
transport: Transport.TCP,
|
|
options: {
|
|
host: '127.0.0.1',
|
|
port: 3009,
|
|
},
|
|
},
|
|
]),
|
|
AuthModule,
|
|
],
|
|
controllers: [AppController, EmailController],
|
|
providers: [],
|
|
})
|
|
export class AppModule {}
|