🐛 Trying to fix bugs...
This commit is contained in:
@ -275,13 +275,12 @@ public class PostService(
|
||||
public async Task<List<Post>> LoadPublishers(List<Post> posts)
|
||||
{
|
||||
var publisherIds = posts
|
||||
.Where(e => e.Publisher.AccountId != null)
|
||||
.SelectMany<Post, Guid?>(e =>
|
||||
[
|
||||
e.Publisher.Id,
|
||||
e.RepliedPost?.Publisher.Id,
|
||||
e.ForwardedPost?.Publisher.Id,
|
||||
e.ThreadedPost?.Publisher.Id
|
||||
e.PublisherId,
|
||||
e.RepliedPost?.PublisherId,
|
||||
e.ForwardedPost?.PublisherId,
|
||||
e.ThreadedPost?.PublisherId
|
||||
])
|
||||
.Where(e => e != null)
|
||||
.Distinct()
|
||||
@ -289,24 +288,24 @@ public class PostService(
|
||||
if (publisherIds.Count == 0) return posts;
|
||||
|
||||
var publishers = await db.Publishers
|
||||
.Where(e => e.AccountId != null && publisherIds.Contains(e.AccountId.Value))
|
||||
.ToDictionaryAsync(e => e.AccountId!.Value);
|
||||
.Where(e => publisherIds.Contains(e.Id))
|
||||
.ToDictionaryAsync(e => e.Id);
|
||||
|
||||
foreach (var post in posts)
|
||||
{
|
||||
if (publishers.TryGetValue(post.Publisher.Id, out var publisher))
|
||||
if (publishers.TryGetValue(post.PublisherId, out var publisher))
|
||||
post.Publisher = publisher;
|
||||
|
||||
if (post.RepliedPost?.Publisher.Id != null &&
|
||||
publishers.TryGetValue(post.RepliedPost.Publisher.Id, out var repliedPublisher))
|
||||
if (post.RepliedPost?.PublisherId != null &&
|
||||
publishers.TryGetValue(post.RepliedPost.PublisherId, out var repliedPublisher))
|
||||
post.RepliedPost.Publisher = repliedPublisher;
|
||||
|
||||
if (post.ForwardedPost?.Publisher.Id != null &&
|
||||
publishers.TryGetValue(post.ForwardedPost.Publisher.Id, out var forwardedPublisher))
|
||||
if (post.ForwardedPost?.PublisherId != null &&
|
||||
publishers.TryGetValue(post.ForwardedPost.PublisherId, out var forwardedPublisher))
|
||||
post.ForwardedPost.Publisher = forwardedPublisher;
|
||||
|
||||
if (post.ThreadedPost?.Publisher.Id != null &&
|
||||
publishers.TryGetValue(post.ThreadedPost.Publisher.Id, out var threadedPublisher))
|
||||
if (post.ThreadedPost?.PublisherId != null &&
|
||||
publishers.TryGetValue(post.ThreadedPost.PublisherId, out var threadedPublisher))
|
||||
post.ThreadedPost.Publisher = threadedPublisher;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user