added mail module

This commit is contained in:
Igor Hrenowitsch Propisnov 2024-05-24 22:35:07 +02:00
parent 651381caee
commit 02b39f6962
5 changed files with 1256 additions and 3368 deletions

View File

@ -31,6 +31,7 @@
"@nestjs/platform-express": "^10.0.0",
"@nestjs/swagger": "^7.3.1",
"@nestjs/typeorm": "^10.0.2",
"@sendgrid/mail": "^8.1.3",
"argon2": "^0.40.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,7 @@ import { SecurityHeadersMiddleware } from './middleware/security-middleware/secu
import { AuthModule } from './modules/auth-module/auth.module';
import { AccessTokenGuard } from './modules/auth-module/common/guards';
import { DatabaseModule } from './modules/database-module/database.module';
import { SendgridModule } from './modules/sendgrid-module/sendgrid.module';
import { UserModule } from './modules/user-module/user.module';
@Module({
@ -20,6 +21,7 @@ import { UserModule } from './modules/user-module/user.module';
DatabaseModule,
AuthModule,
UserModule,
SendgridModule,
],
controllers: [AppController],
providers: [AppService, { provide: 'APP_GUARD', useClass: AccessTokenGuard }],

View File

@ -0,0 +1,20 @@
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { MailService } from './services/mail.service';
@Module({
imports: [ConfigModule],
providers: [
MailService,
{
provide: 'SEND_GRID_API_KEY',
useFactory: (configService: ConfigService): string =>
configService.get<string>('SEND_GRID_API_KEY'),
inject: [ConfigService],
},
],
controllers: [],
exports: [MailService],
})
export class SendgridModule {}

View File

@ -0,0 +1,11 @@
import { Inject, Injectable } from '@nestjs/common';
import * as sendGrindMailApi from '@sendgrid/mail';
@Injectable()
export class MailService {
public constructor(
@Inject('SEND_GRID_API_KEY') private readonly apiKey: string
) {
sendGrindMailApi.setApiKey(this.apiKey);
}
}