mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-08-25 13:49:40 +00:00
feat: working on edit profile ticket
This commit is contained in:
@ -2,7 +2,6 @@ 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 {
|
||||
@ -17,7 +16,7 @@ export class UserRepository {
|
||||
}
|
||||
|
||||
findOne(where: FindOptionsWhere<User> | FindOptionsWhere<User>[]) {
|
||||
return this.userRepository.findOne({ where });
|
||||
return this.userRepository.findOne({ where, relations: ['profilePicture'] });
|
||||
}
|
||||
|
||||
update(userId: string, data: Partial<User>) {
|
||||
@ -31,24 +30,4 @@ 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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user