refactor: handle kyc journey for customers

This commit is contained in:
Abdalhamid Alhamad
2025-02-20 16:18:06 +03:00
parent 270753cfd7
commit dae9cb6323
74 changed files with 1116 additions and 477 deletions

View File

@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { FindOptionsWhere, Repository } from 'typeorm';
import { User } from '../../user/entities';
import { UserFiltersRequestDto } from '../dtos/request';
@Injectable()
export class UserRepository {
@ -32,4 +33,24 @@ export class UserRepository {
return this.userRepository.save(user);
}
findUsers(filters: UserFiltersRequestDto) {
const queryBuilder = this.userRepository.createQueryBuilder('user');
if (filters.role) {
queryBuilder.andWhere(`user.roles @> ARRAY[:role]`, { role: filters.role });
}
if (filters.search) {
queryBuilder.andWhere(`user.email ILIKE :search OR user.phoneNumber ILIKE :search`, {
search: `%${filters.search}%`,
});
}
queryBuilder.orderBy('user.createdAt', 'DESC');
queryBuilder.take(filters.size);
queryBuilder.skip((filters.page - 1) * filters.size);
return queryBuilder.getManyAndCount();
}
}