File size: 789 Bytes
c0f9d1c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184b88f
c0f9d1c
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// validation.service.ts
import { Injectable, ConflictException } from '@nestjs/common';
import { UserEntity } from '../entities/user.entity.js';

@Injectable()
export class ValidateService {
  constructor() {}

  // Kiểm tra xem giá trị của một trường có tồn tại không
  async checkExistField(fieldName: string, fieldValue: any): Promise<void> {
    if (fieldValue === null || fieldValue === undefined) {
      return; // Nếu giá trị null hoặc undefined, không cần kiểm tra
    }

    // Tìm trong database theo tên và giá trị của trường
    const existingUser = await UserEntity.findOne({ 
        where: { [fieldName]: fieldValue }
    });

    if (existingUser) {
      throw new ConflictException(`${fieldName} is already taken`);
    }
  }
}