Advertisement
nikolayneykov

Untitled

Dec 5th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. async findUsers(options: any, loggedUserId: number): Promise<UserDTO[]> {
  2.     const loggedUser: User = await this.usersRepository
  3.       .findOne({
  4.         where: {
  5.           id: loggedUserId, isDeleted: false,
  6.         },
  7.         relations: ['following'],
  8.       });
  9.  
  10.     const following = loggedUser ? loggedUser.following : [];
  11.  
  12.     const foundUsers: User[] = await this.usersRepository.find({
  13.       where: { username: Like(`%${options.keyword || ''}%`), isDeleted: false },
  14.       order: { username: options.order === 'DESC' ? 'DESC' : 'ASC' },
  15.       take: options.take || '10',
  16.       skip: options.skip || '0',
  17.     });
  18.  
  19.     return foundUsers.map((u: User) => {
  20.       return {
  21.         ...this.mapper.toUserDTO(u),
  22.         isFollowed: following
  23.           ? following.some((f: User) => f.id === u.id)
  24.           : false,
  25.       };
  26.     });
  27.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement