public async Task <object> GetUserById([FromBody] UserIdToSearchWith userIdObj) { var id = userIdObj.Id; var user = await _userService.GetUserById(id); return(user); }
public async Task <object> GetGlobals(UserIdToSearchWith userIdObj, UserIdToSearchWith authUserId) { var userLikes = await _context.Likes .Where(like => like.UserId == userIdObj.Id) .Select(like => like.PostId) .ToListAsync(); var userComments = await _context.Comments .Where(comment => comment.UserId == userIdObj.Id) .Select(comment => comment.PostId) .ToListAsync(); var posts = await _context.Posts .Where(post => !post.hidden) .Include(post => post.User) .ThenInclude(user => user.Posts) .Include(post => post.Comments).ThenInclude(comment => comment.User).ThenInclude(user => user.Posts) // .Include(post => post.User) // .ThenInclude(user => user.FollowedBy).Select(follow => ) .Include(post => post.Likes) .Select(post => new { Id = post.Id, content = post.content, imageURL = post.imageURL, edited = post.edited, hidden = post.hidden, createdAt = post.createdAt, UserId = post.UserId, User = new { Id = post.User.Id, name = post.User.name, email = post.User.email, username = post.User.username, avatarBackground = post.User.avatarBackground, createdAt = post.User.createdAt, postCount = post.User.Posts.Count(), // followData = FormatFollowData(post.User.FollowedBy, authUserId) }, likeData = new { quanity = post.Likes.Count(), likedByUser = CheckUserPostLikeArray(userLikes, post.Id), likeId = GetLikeId(post.Likes, post.Id) }, commentData = new { quanity = post.Comments.Count(), commentedByUser = CheckUserPostCommentArray(userComments, post.Id), comments = FormatCommentCollection(post.Comments) } } ) .OrderByDescending(p => p.Id) .ToListAsync(); return(posts); }
public async Task <object> GetPostsForUser([FromBody] UserIdToSearchWith userIdObj) { var posts = await _postService.GetPostsForUser(userIdObj); return(Ok(posts)); }
public async Task <object> GetPosts([FromBody] UserIdToSearchWith userIdObj, UserIdToSearchWith authUserId) { var posts = await _postService.GetGlobals(userIdObj, authUserId); return(Ok(posts)); }