mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-03-10 21:01:45 +00:00
Compare commits
5 Commits
ZOD-349-we
...
ZOD-344-af
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b295ea79f | |||
| 5ffe18ede3 | |||
| a3a61b4923 | |||
| 39d5fc1869 | |||
| 5649d24724 |
@ -19,6 +19,10 @@
|
||||
"TOKEN_EXPIRED": "رمز المستخدم منتهي الصلاحية."
|
||||
},
|
||||
|
||||
"QR": {
|
||||
"CODE_USED_OR_EXPIRED": "تم استخدام رمز QR مسبقًا أو انتهت صلاحيته."
|
||||
},
|
||||
|
||||
"USER": {
|
||||
"PHONE_ALREADY_VERIFIED": "تم التحقق من رقم الهاتف بالفعل.",
|
||||
"EMAIL_ALREADY_VERIFIED": "تم التحقق من عنوان البريد الإلكتروني بالفعل.",
|
||||
|
||||
@ -19,6 +19,10 @@
|
||||
"TOKEN_EXPIRED": "The user token has expired."
|
||||
},
|
||||
|
||||
"QR": {
|
||||
"CODE_USED_OR_EXPIRED": "The QR code has already been used or expired."
|
||||
},
|
||||
|
||||
"USER": {
|
||||
"PHONE_ALREADY_VERIFIED": "The phone number has already been verified.",
|
||||
"EMAIL_ALREADY_VERIFIED": "The email address has already been verified.",
|
||||
|
||||
@ -5,6 +5,7 @@ import { Roles } from '~/auth/enums';
|
||||
import { CardService, TransactionService } from '~/card/services';
|
||||
import { NeoLeapService } from '~/common/modules/neoleap/services';
|
||||
import { PageOptionsRequestDto } from '~/core/dtos';
|
||||
import { ErrorCategory } from '~/core/enums';
|
||||
import { setIf } from '~/core/utils';
|
||||
import { CustomerService } from '~/customer/services';
|
||||
import { DocumentService, OciService } from '~/document/services';
|
||||
@ -158,7 +159,14 @@ export class JuniorService {
|
||||
async validateToken(token: string) {
|
||||
this.logger.log(`Validating token ${token}`);
|
||||
const juniorId = await this.userTokenService.validateToken(token, UserType.JUNIOR);
|
||||
return this.findJuniorById(juniorId!, true);
|
||||
const junior = await this.findJuniorById(juniorId!, true);
|
||||
|
||||
if (junior.customer?.user?.password) {
|
||||
this.logger.error(`Token ${token} already used for junior ${juniorId}`);
|
||||
throw new BadRequestException({ message: 'QR.CODE_USED_OR_EXPIRED', category: ErrorCategory.BUSINESS_ERROR });
|
||||
}
|
||||
|
||||
return junior;
|
||||
}
|
||||
|
||||
async generateToken(juniorId: string) {
|
||||
|
||||
@ -226,7 +226,15 @@ export class UserService {
|
||||
|
||||
if (userWithEmail) {
|
||||
if (userWithEmail.id === userId) {
|
||||
return;
|
||||
this.logger.log(`Generating OTP for current email ${email} for user ${userId}`);
|
||||
await this.userRepository.update(userId, { isEmailVerified: false });
|
||||
|
||||
return this.otpService.generateAndSendOtp({
|
||||
userId,
|
||||
recipient: email,
|
||||
otpType: OtpType.EMAIL,
|
||||
scope: OtpScope.VERIFY_EMAIL,
|
||||
});
|
||||
}
|
||||
|
||||
this.logger.error(`Email ${email} is already taken by another user`);
|
||||
|
||||
Reference in New Issue
Block a user