mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
Refactor media attachments to use MediaFile entity
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.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
using Govor.Core.Models;
|
||||
|
||||
namespace Govor.Application.Interfaces.Medias;
|
||||
|
||||
public interface IMediaService
|
||||
{
|
||||
public Task<MediaUploadResult> UploadMediaAsync(Media file);
|
||||
public Task DeleteMediaAsync(Guid fileId);
|
||||
public Task<MediaUploadResult> GetMediaAsync(string url);
|
||||
}
|
||||
|
||||
public record Media(byte[] Data, string FileName, MediaType Type, string MineType, string EncryptedKey);
|
||||
|
||||
public record MediaUploadResult(Guid? MediaId, string Url);
|
||||
@@ -17,8 +17,8 @@ public interface IMessageService
|
||||
|
||||
// Define specific result types for clarity, including original message for notifications if needed
|
||||
|
||||
public record SendMessageResult(bool IsSuccess, Exception? Exception, Guid MessageId)
|
||||
: Result(IsSuccess, Exception, MessageId);
|
||||
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)
|
||||
|
||||
@@ -2,4 +2,4 @@ using Govor.Core.Models;
|
||||
|
||||
namespace Govor.Application.Interfaces.Messages.Parameters;
|
||||
|
||||
public record SendMedia(Guid MediaId, string EncryptedKey, MediaType Type, string MimeType);
|
||||
public record SendMedia(Guid MediaId, string EncryptedKey);
|
||||
Reference in New Issue
Block a user