normalize phone

This commit is contained in:
2025-12-06 22:42:26 +03:30
parent 3978065400
commit 01631c147a
9 changed files with 100 additions and 27 deletions
+9 -5
View File
@@ -9,6 +9,7 @@ import { CacheService } from '../../utils/cache.service';
import { CreateMyRestaurantAdminDto } from '../dto/create-my-restaurant-admin.dto';
import { UpdateAdminDto } from '../dto/update-admin.dto';
import { AdminRole } from '../entities/adminRole.entity';
import { normalizePhone } from '../../utils/phone.util';
@Injectable()
export class AdminService {
@@ -22,7 +23,8 @@ export class AdminService {
) {}
async findByPhone(phone: string): Promise<Admin | null> {
return this.adminRepository.findOne({ phone });
const normalizedPhone = normalizePhone(phone);
return this.adminRepository.findOne({ phone: normalizedPhone });
}
async findById(adminId: string, restId: string): Promise<Admin | null> {
@@ -39,13 +41,14 @@ export class AdminService {
async createAdminForMyRestaurant(restId: string, dto: CreateMyRestaurantAdminDto) {
const { phone, firstName, lastName, roleId } = dto;
const normalizedPhone = normalizePhone(phone);
let admin: Admin | null = null;
admin = await this.adminRepository.findOne({
phone,
phone: normalizedPhone,
});
if (!admin) {
admin = this.adminRepository.create({
phone,
phone: normalizedPhone,
firstName,
lastName,
});
@@ -123,11 +126,12 @@ export class AdminService {
admin.lastName = rest.lastName;
}
if (rest.phone !== undefined && rest.phone !== admin.phone) {
const exists = await this.adminRepository.findOne({ phone: rest.phone });
const normalizedPhone = normalizePhone(rest.phone);
const exists = await this.adminRepository.findOne({ phone: normalizedPhone });
if (exists) {
throw new ConflictException('This Phone Number is already taken');
}
admin.phone = rest.phone;
admin.phone = normalizedPhone;
}
// Update role if roleId is provided