Reintroduces separate contexts for users, channels, connections (now split into sessions and connections) and user-channel associations. It builds which is as much assurance as I can give about the stability of this commit, but its also the bare minimum of what i like to commit sooooo A lot of things still need to be broadcast through events throughout the application in order to keep states consistent but we'll cross that bridge when we get to it. I really need to stop using that phrase thingy, I'm overusing it.
31 lines
791 B
C#
31 lines
791 B
C#
using SharpChat.Users;
|
|
|
|
namespace SharpChat.Messages;
|
|
|
|
public interface MessageStorage {
|
|
Task LogMessage(Message msg);
|
|
Task LogMessage(
|
|
long id,
|
|
string type,
|
|
string channelName,
|
|
string senderId,
|
|
string senderName,
|
|
ColourInheritable senderColour,
|
|
int senderRank,
|
|
string senderNick,
|
|
UserPermissions senderPerms,
|
|
object? data = null
|
|
);
|
|
Task DeleteMessage(Message msg);
|
|
Task<Message?> GetMessage(long id);
|
|
Task<long> CountMessages(
|
|
string? channelName = null,
|
|
bool includeDeleted = false
|
|
);
|
|
Task<IEnumerable<Message>> GetMessages(
|
|
string? channelName = null,
|
|
int? take = 20,
|
|
long? beforeId = null,
|
|
bool includeDeleted = false
|
|
);
|
|
}
|