public async Task <ActionResult <PagedList <LikeDTO> > > GetUserLikes([FromQuery] LikesParams likesparams) { likesparams.UserId = User.GetUserID(); var users = await _likesRepository.GetUserLikes(likesparams); Response.AddPaginationHeader(users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages); return(Ok(users)); }
public async Task <ActionResult> AddLike(string username) { var sourceUserId = User.GetUserID(); var likedUser = await _userRepository.GetUserByUsernameAsync(username); var sourceUser = await _likesRepository.GetUsersWithLikes(sourceUserId); if (likedUser == null) { return(NotFound()); } if (sourceUser.UserName == username) { return(BadRequest("You cannot like yourslef")); } var userLike = await _likesRepository.GetUserLike(sourceUserId, likedUser.Id); if (userLike != null) { return(BadRequest("You already liked the user")); } userLike = new UserLike { SourceUserId = sourceUserId, LikedUserId = likedUser.Id }; sourceUser.LikedUsers.Add(userLike); if (await _userRepository.SaveAllAsync()) { return(Ok()); } return(BadRequest("Failed to like user")); }