16 lines
893 B
C#
16 lines
893 B
C#
using Knot.Modules.Chats.Domain;
|
|
|
|
namespace Knot.Modules.Chats.Domain;
|
|
|
|
public interface IMessageRepository
|
|
{
|
|
void Add(Message message);
|
|
Task<Message?> GetByIdAsync(Guid id, CancellationToken cancellationToken);
|
|
Task<List<Message>> GetChatMessagesAsync(Guid chatId, int limit, int offset, CancellationToken cancellationToken);
|
|
Task<List<Message>> SearchMessagesAsync(string query, Guid? chatId, CancellationToken cancellationToken);
|
|
Task AddReadReceiptsAsync(Guid userId, List<Guid> messageIds, CancellationToken cancellationToken);
|
|
Task<bool> AddReactionAsync(Guid messageId, Guid userId, string emoji, CancellationToken cancellationToken);
|
|
Task<bool> RemoveReactionAsync(Guid messageId, Guid userId, string emoji, CancellationToken cancellationToken);
|
|
Task<Message?> GetLastStoryMessageAsync(Guid chatId, Guid storyId, CancellationToken cancellationToken);
|
|
}
|