36 lines
1.4 KiB
C#
36 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
|
|
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,
|
|
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,
|
|
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<StoredEventInfo> GetChannelEventLog(string channelName, int amount = 20, int offset = 0);
|
|
}
|
|
}
|