feat: working on edit profile ticket

This commit is contained in:
Abdalhamid Alhamad
2025-08-05 17:53:38 +03:00
parent 1e2b859b92
commit 275984954e
37 changed files with 298 additions and 275 deletions

View File

@ -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();
}
}