feat: Trim OTP input and update verification logic in host and user services

This commit is contained in:
paritosh18
2026-02-25 15:56:18 +05:30
parent c4fd797e31
commit 23bbb39af3
3 changed files with 13 additions and 8 deletions

View File

@@ -383,7 +383,9 @@ export class HostService {
}
async verifyHostOtp(email: string, otp: string): Promise<boolean> {
const user = await this.prisma.user.findUnique({
const trimmedOtp = (otp || '').toString().trim();
const user = await this.prisma.user.findFirst({
where: { emailAddress: email, isActive: true },
select: {
id: true,
@@ -410,7 +412,7 @@ export class HostService {
throw new ApiError(400, 'OTP has expired.');
}
const isMatch = await bcrypt.compare(otp, userOtp.otpCode);
const isMatch = await bcrypt.compare(trimmedOtp, userOtp.otpCode);
if (!isMatch) {
throw new ApiError(400, 'Invalid OTP.');