renaming
This commit is contained in:
parent
aac55478bd
commit
fc245314a6
|
@ -27,7 +27,6 @@ SESSION_LIMIT = 1
|
||||||
SEND_GRID_API_KEY = API_KEY
|
SEND_GRID_API_KEY = API_KEY
|
||||||
|
|
||||||
# SENDGRID
|
# SENDGRID
|
||||||
SENDGRID_TEMPLATE_PASSWORD_CONFIRMATION_EMAIL = TEMPLATE_ID
|
|
||||||
SENDGRID_TEMPLATE_REGISTER_EMAIL = TEMPLATE_ID
|
SENDGRID_TEMPLATE_REGISTER_EMAIL = TEMPLATE_ID
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import {
|
||||||
UnauthorizedException,
|
UnauthorizedException,
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { UserCredentials } from 'src/entities';
|
import { UserCredentials } from 'src/entities';
|
||||||
|
import { AuthEmailService } from 'src/modules/sendgrid-module/services/auth.mail.service';
|
||||||
import { SessionService } from 'src/modules/session/services/session.service';
|
import { SessionService } from 'src/modules/session/services/session.service';
|
||||||
import { EncryptionService, SuccessDto } from 'src/shared';
|
import { EncryptionService, SuccessDto } from 'src/shared';
|
||||||
import {
|
import {
|
||||||
|
@ -12,7 +13,6 @@ import {
|
||||||
InternalServerErrorException,
|
InternalServerErrorException,
|
||||||
} from 'src/shared/exceptions';
|
} from 'src/shared/exceptions';
|
||||||
|
|
||||||
import { PasswordConfirmationMailService } from '../../sendgrid-module/services/password-confirmation.mail.service';
|
|
||||||
import { UserDataRepository } from '../../user-module/repositories/user-data.repository';
|
import { UserDataRepository } from '../../user-module/repositories/user-data.repository';
|
||||||
import { EmailVerificationService } from '../../verify-module/services/email-verification.service';
|
import { EmailVerificationService } from '../../verify-module/services/email-verification.service';
|
||||||
import {
|
import {
|
||||||
|
@ -27,7 +27,7 @@ export class AuthService {
|
||||||
public constructor(
|
public constructor(
|
||||||
private readonly userCredentialsRepository: UserCredentialsRepository,
|
private readonly userCredentialsRepository: UserCredentialsRepository,
|
||||||
private readonly userDataRepository: UserDataRepository,
|
private readonly userDataRepository: UserDataRepository,
|
||||||
private readonly passwordConfirmationMailService: PasswordConfirmationMailService,
|
private readonly authEmailService: AuthEmailService,
|
||||||
private readonly emailVerificationService: EmailVerificationService,
|
private readonly emailVerificationService: EmailVerificationService,
|
||||||
private readonly sessionService: SessionService
|
private readonly sessionService: SessionService
|
||||||
) {}
|
) {}
|
||||||
|
@ -50,10 +50,7 @@ export class AuthService {
|
||||||
);
|
);
|
||||||
|
|
||||||
// TODO: Add OTP or 2FA here as an additional security measure
|
// TODO: Add OTP or 2FA here as an additional security measure
|
||||||
await this.passwordConfirmationMailService.sendLoginLinkEmail(
|
await this.authEmailService.sendLoginLinkEmail(magiclink.email, token);
|
||||||
magiclink.email,
|
|
||||||
token
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
const token =
|
const token =
|
||||||
await this.emailVerificationService.generateEmailVerificationTokenForMagicLink(
|
await this.emailVerificationService.generateEmailVerificationTokenForMagicLink(
|
||||||
|
@ -61,7 +58,7 @@ export class AuthService {
|
||||||
userAgent
|
userAgent
|
||||||
);
|
);
|
||||||
|
|
||||||
await this.passwordConfirmationMailService.sendRegistrationLinkEmail(
|
await this.authEmailService.sendRegistrationLinkEmail(
|
||||||
magiclink.email,
|
magiclink.email,
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { ConfigModule, ConfigService } from '@nestjs/config';
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
||||||
|
|
||||||
import { PasswordConfirmationMailService } from './services/password-confirmation.mail.service';
|
import { AuthEmailService } from './services/auth.mail.service';
|
||||||
import { TemplateConfigService } from './services/template-config.service';
|
import { TemplateConfigService } from './services/template-config.service';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
|
@ -13,10 +13,10 @@ import { TemplateConfigService } from './services/template-config.service';
|
||||||
configService.get<string>('SEND_GRID_API_KEY'),
|
configService.get<string>('SEND_GRID_API_KEY'),
|
||||||
inject: [ConfigService],
|
inject: [ConfigService],
|
||||||
},
|
},
|
||||||
PasswordConfirmationMailService,
|
AuthEmailService,
|
||||||
TemplateConfigService,
|
TemplateConfigService,
|
||||||
],
|
],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
exports: [PasswordConfirmationMailService],
|
exports: [AuthEmailService],
|
||||||
})
|
})
|
||||||
export class SendgridModule {}
|
export class SendgridModule {}
|
||||||
|
|
|
@ -7,9 +7,7 @@ import { BaseMailService } from './base.mail.service';
|
||||||
import { TemplateConfigService } from './template-config.service';
|
import { TemplateConfigService } from './template-config.service';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class PasswordConfirmationMailService extends BaseMailService {
|
export class AuthEmailService extends BaseMailService {
|
||||||
private readonly PASSWORD_CONFIRMATION_EMAIL: string =
|
|
||||||
'PASSWORD_CONFIRMATION_EMAIL';
|
|
||||||
private readonly REGISTER_EMAIL: string = 'REGISTER_EMAIL';
|
private readonly REGISTER_EMAIL: string = 'REGISTER_EMAIL';
|
||||||
|
|
||||||
public constructor(
|
public constructor(
|
||||||
|
@ -20,29 +18,6 @@ export class PasswordConfirmationMailService extends BaseMailService {
|
||||||
super(sendGridApiKey);
|
super(sendGridApiKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async sendPasswordConfirmationMail(
|
|
||||||
to: string,
|
|
||||||
verificationToken: string
|
|
||||||
): Promise<void> {
|
|
||||||
const templateId: string = this.templateConfigService.getTemplateId(
|
|
||||||
this.PASSWORD_CONFIRMATION_EMAIL
|
|
||||||
);
|
|
||||||
|
|
||||||
const token = `${verificationToken}|${UriEncoderService.encodeBase64(to)}`;
|
|
||||||
|
|
||||||
const mailoptions: SendGridMailApi.MailDataRequired = {
|
|
||||||
to,
|
|
||||||
from: { email: 'info@igor-propisnov.com', name: 'Ticket App' },
|
|
||||||
templateId: templateId,
|
|
||||||
dynamicTemplateData: {
|
|
||||||
name: 'Mara',
|
|
||||||
buttonUrl: `${this.configService.get<string>('APP_URL')}/verify/?token=${token}`,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
await this.sendMail(mailoptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async sendLoginLinkEmail(
|
public async sendLoginLinkEmail(
|
||||||
to: string,
|
to: string,
|
||||||
loginToken: string
|
loginToken: string
|
Loading…
Reference in New Issue