don't necessarily load messages
This commit is contained in:
parent
224a3c5a62
commit
a8bf8a8488
@ -22,4 +22,5 @@ public class Message
|
||||
public List<Attachment> Attachments { get; set; }
|
||||
public Account Author { get; set; }
|
||||
public Channel Channel { get; set; }
|
||||
public Guid? ChannelId { get; set; }
|
||||
}
|
||||
|
@ -23,6 +23,10 @@ public static class Rememberer
|
||||
ch.ParentChannel.SubChannels ??= [];
|
||||
ch.ParentChannel.SubChannels.Add(ch);
|
||||
}
|
||||
if (ch.Messages?.Count > 0)
|
||||
{
|
||||
Console.WriteLine($"{ch.DisplayName} got {ch.Messages.Count} messages");
|
||||
}
|
||||
}
|
||||
channelCacheDirty = false;
|
||||
dbAccessSemaphore.Release();
|
||||
@ -66,6 +70,14 @@ public static class Rememberer
|
||||
dbAccessSemaphore.Release();
|
||||
return toReturn;
|
||||
}
|
||||
public static List<Message> SearchMessages(Expression<Func<Message, bool>> predicate)
|
||||
{
|
||||
List<Message> toReturn;
|
||||
dbAccessSemaphore.Wait();
|
||||
toReturn = db.Messages.Where(predicate).ToList();
|
||||
dbAccessSemaphore.Release();
|
||||
return toReturn;
|
||||
}
|
||||
public static User SearchUser(Expression<Func<User, bool>> predicate)
|
||||
{
|
||||
User toReturn;
|
||||
@ -221,11 +233,14 @@ public static class Rememberer
|
||||
dbAccessSemaphore.Release();
|
||||
return toReturn;
|
||||
}
|
||||
public static Channel ChannelDetail(Guid Id)
|
||||
public static Channel ChannelDetail(Guid Id, bool messages = false)
|
||||
{
|
||||
if (channelCacheDirty)
|
||||
Task.Run(() => cacheChannels()).Wait();
|
||||
return channels.Find(c => c.Id == Id);
|
||||
var ch = channels.Find(c => c.Id == Id);
|
||||
if (messages)
|
||||
ch.Messages = SearchMessages(m => m.ChannelId == ch.Id);
|
||||
return ch;
|
||||
}
|
||||
public static Message MessageDetail(Guid Id)
|
||||
{
|
||||
|
Reference in New Issue
Block a user