using Govor.Core.Models.Messages; namespace Govor.Application.Interfaces.Medias; public interface IMediaService { public Task UploadMediaAsync(Media file); public Task DeleteMediaAsync(Guid fileId); public Task GetMediaByUrlAsync(string url); public Task GetMediaByIdAsync(Guid mediaId); } public record Media(Guid UploaderId, DateTime UploadedOn, string FileName, byte[] Data, MediaType Type, string MineType, string EncryptedKey); public record MediaUploadResult(Guid? MediaId, string Url);