diff --git a/SharpChat.SockChat/SockChatContext.cs b/SharpChat.SockChat/SockChatContext.cs index 1163edc..05fbf21 100644 --- a/SharpChat.SockChat/SockChatContext.cs +++ b/SharpChat.SockChat/SockChatContext.cs @@ -254,7 +254,19 @@ namespace SharpChat { user.Rank, user.Permissions )); - Events.AddEvent("user:connect", user, chan, flags: StoredEventFlags.Log); + Events.AddEvent( + SharpId.Next(), + "user:connect", + chan.Name, + user.UserId, + user.UserName, + user.Colour, + user.Rank, + user.NickName, + user.Permissions, + null, + StoredEventFlags.Log + ); } conn.Send(new AuthSuccessS2CPacket( @@ -302,7 +314,19 @@ namespace SharpChat { SockChatUtility.GetUserNameWithStatus(user), reason )); - Events.AddEvent("user:disconnect", user, chan, new { reason = (int)reason }, StoredEventFlags.Log); + Events.AddEvent( + SharpId.Next(), + "user:disconnect", + chan.Name, + user.UserId, + user.UserName, + user.Colour, + user.Rank, + user.NickName, + user.Permissions, + new { reason = (int)reason }, + StoredEventFlags.Log + ); if(chan.IsTemporary && chan.IsOwner(user)) RemoveChannel(chan); @@ -337,7 +361,19 @@ namespace SharpChat { if(oldChan != null) { SendTo(oldChan, new UserChannelLeaveS2CPacket(user.UserId)); - Events.AddEvent("chan:leave", user, oldChan, flags: StoredEventFlags.Log); + Events.AddEvent( + SharpId.Next(), + "chan:leave", + oldChan.Name, + user.UserId, + user.UserName, + user.Colour, + user.Rank, + user.NickName, + user.Permissions, + null, + StoredEventFlags.Log + ); } SendTo(chan, new UserChannelJoinS2CPacket( @@ -349,7 +385,19 @@ namespace SharpChat { )); if(oldChan != null) - Events.AddEvent("chan:join", user, oldChan, flags: StoredEventFlags.Log); + Events.AddEvent( + SharpId.Next(), + "chan:join", + oldChan.Name, + user.UserId, + user.UserName, + user.Colour, + user.Rank, + user.NickName, + user.Permissions, + null, + StoredEventFlags.Log + ); SendTo(user, new ContextClearS2CPacket(ContextClearS2CPacket.ClearMode.MessagesUsers)); SendTo(user, new UsersPopulateS2CPacket(GetChannelUsers(chan).Except(new[] { user }).Select( diff --git a/SharpChatCommon/EventStorage/IEventStorage.cs b/SharpChatCommon/EventStorage/IEventStorage.cs index 2865fea..8b60b16 100644 --- a/SharpChatCommon/EventStorage/IEventStorage.cs +++ b/SharpChatCommon/EventStorage/IEventStorage.cs @@ -3,31 +3,19 @@ namespace SharpChat.EventStorage { public interface IEventStorage { void AddEvent( - long id, string type, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ); - void AddEvent( - long id, string type, + long id, + string type, string? channelName, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ); - void AddEvent( - long id, string type, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ); - void AddEvent( - long id, string type, - string? channelName, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, + long senderId, + string? senderName, + Colour senderColour, + int senderRank, + string? senderNick, + UserPermissions senderPerms, object? data = null, StoredEventFlags flags = StoredEventFlags.None ); - long AddEvent(string type, UserInfo user, ChannelInfo channel, object? data = null, StoredEventFlags flags = StoredEventFlags.None); void RemoveEvent(StoredEventInfo evt); StoredEventInfo? GetEvent(long seqId); IEnumerable GetChannelEventLog(string channelName, int amount = 20, int offset = 0); diff --git a/SharpChatCommon/EventStorage/MariaDBEventStorage.cs b/SharpChatCommon/EventStorage/MariaDBEventStorage.cs index dff2fb4..2938e7c 100644 --- a/SharpChatCommon/EventStorage/MariaDBEventStorage.cs +++ b/SharpChatCommon/EventStorage/MariaDBEventStorage.cs @@ -13,35 +13,15 @@ namespace SharpChat.EventStorage { } public void AddEvent( - long id, string type, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, null, 0, null, Colour.None, 0, null, 0, data, flags); - } - - public void AddEvent( - long id, string type, + long id, + string type, string? channelName, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, channelName, 0, null, Colour.None, 0, null, 0, data, flags); - } - - public void AddEvent( - long id, string type, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, null, senderId, senderName, senderColour, senderRank, senderNick, senderPerms, data, flags); - } - - public void AddEvent( - long id, string type, - string? channelName, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, + long senderId, + string? senderName, + Colour senderColour, + int senderRank, + string? senderNick, + UserPermissions senderPerms, object? data = null, StoredEventFlags flags = StoredEventFlags.None ) { @@ -64,25 +44,6 @@ namespace SharpChat.EventStorage { ); } - public long AddEvent(string type, UserInfo user, ChannelInfo channel, object? data = null, StoredEventFlags flags = StoredEventFlags.None) { - long id = SharpId.Next(); - - AddEvent( - id, type, - channel?.Name, - user?.UserId ?? 0, - user?.UserName ?? string.Empty, - user?.Colour ?? Colour.None, - user?.Rank ?? 0, - user?.NickName, - user?.Permissions ?? 0, - data, - flags - ); - - return id; - } - public StoredEventInfo? GetEvent(long seqId) { try { using MySqlDataReader? reader = RunQuery( diff --git a/SharpChatCommon/EventStorage/VirtualEventStorage.cs b/SharpChatCommon/EventStorage/VirtualEventStorage.cs index 8814e8b..7cb6806 100644 --- a/SharpChatCommon/EventStorage/VirtualEventStorage.cs +++ b/SharpChatCommon/EventStorage/VirtualEventStorage.cs @@ -8,35 +8,15 @@ namespace SharpChat.EventStorage { private readonly Dictionary Events = new(); public void AddEvent( - long id, string type, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, null, 0, null, Colour.None, 0, null, 0, data, flags); - } - - public void AddEvent( - long id, string type, + long id, + string type, string? channelName, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, channelName, 0, null, Colour.None, 0, null, 0, data, flags); - } - - public void AddEvent( - long id, string type, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, - object? data = null, - StoredEventFlags flags = StoredEventFlags.None - ) { - AddEvent(id, type, null, senderId, senderName, senderColour, senderRank, senderNick, senderPerms, data, flags); - } - - public void AddEvent( - long id, string type, - string? channelName, - long senderId, string? senderName, Colour senderColour, int senderRank, string? senderNick, UserPermissions senderPerms, + long senderId, + string? senderName, + Colour senderColour, + int senderRank, + string? senderNick, + UserPermissions senderPerms, object? data = null, StoredEventFlags flags = StoredEventFlags.None ) { @@ -52,25 +32,6 @@ namespace SharpChat.EventStorage { ), DateTimeOffset.Now, null, channelName, hack, flags)); } - public long AddEvent(string type, UserInfo user, ChannelInfo channel, object? data = null, StoredEventFlags flags = StoredEventFlags.None) { - long id = SharpId.Next(); - - AddEvent( - id, type, - channel?.Name, - user?.UserId ?? 0, - user?.UserName, - user?.Colour ?? Colour.None, - user?.Rank ?? 0, - user?.NickName, - user?.Permissions ?? 0, - data, - flags - ); - - return id; - } - public StoredEventInfo? GetEvent(long seqId) { return Events.TryGetValue(seqId, out StoredEventInfo? evt) ? evt : null; }