sharp-chat/SharpChatCommon/Messages/MessageStorage.cs
flashwave 5a7756894b
First bits of the Context overhaul.
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.
2025-05-03 02:49:51 +00:00

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
);
}