mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 11:44:56 +00:00
66819a015a
This commit introduces the MediaFile entity and updates the media attachments model, repositories, and related logic to reference MediaFile instead of storing file metadata directly in MediaAttachments. Controller, service, and SignalR request/response contracts are updated to support the new structure. Database configurations and validators are also adjusted accordingly. This refactor improves media management and normalization in the data model.
31 lines
1.4 KiB
C#
31 lines
1.4 KiB
C#
using Govor.Application.Interfaces.Messages.Parameters;
|
|
using Govor.Core.Models;
|
|
|
|
namespace Govor.Application.Interfaces.Messages;
|
|
|
|
// Combining IChatService and IGroupService functionalities relevant to messages
|
|
public interface IMessageService
|
|
{
|
|
Task<SendMessageResult> SendMessageAsync(SendMessage messageParameters);
|
|
Task<EditMessageResult> EditMessageAsync(EditMessage messageParameters);
|
|
Task<DeleteMessageResult> DeleteMessageAsync(DeleteMessage messageParameters);
|
|
|
|
// Potentially other message-related methods like:
|
|
// Task<GetMessagesResult> GetMessagesAsync(Guid userId, Guid chatId, RecipientType chatType, int pageNumber, int pageSize);
|
|
// Task<Result> MarkMessageAsReadAsync(Guid userId, Guid messageId);
|
|
}
|
|
|
|
// Define specific result types for clarity, including original message for notifications if needed
|
|
|
|
public record SendMessageResult(bool IsSuccess, Exception? Exception, Message Message)
|
|
: Result(IsSuccess, Exception, Message.Id);
|
|
|
|
public record EditMessageResult(bool IsSuccess, Exception? Exception, Message? OriginalMessage)
|
|
: Result(IsSuccess, Exception, OriginalMessage?.Id ?? Guid.Empty)
|
|
{
|
|
// OriginalMessage can be useful for the Hub to know details like RecipientType, RecipientId for notifications
|
|
}
|
|
|
|
public record DeleteMessageResult(bool IsSuccess, Exception? Exception, Message? OriginalMessage)
|
|
: Result(IsSuccess, Exception, OriginalMessage?.Id ?? Guid.Empty);
|