mirror of
https://github.com/Govor-team/Govor.git
synced 2026-09-20 09:53:12 +00:00
3ec61fa2c0
was added removing messages many fixes bugs and moving to result pattern from throwing exceptions
29 lines
938 B
C#
29 lines
938 B
C#
using Govor.Domain.Common;
|
|
using Govor.Domain.Models;
|
|
using Govor.Domain.Models.Messages;
|
|
using SmartRes;
|
|
|
|
namespace Govor.Application.Medias;
|
|
|
|
public interface IMediaService
|
|
{
|
|
public Task<Result<MediaUploadResult, Error>> UploadMediaAsync(Media file);
|
|
public Task<Result<Unit, Error>> DeleteMediaAsync(Guid fileId);
|
|
public Task<Result<Media, Error>> GetMediaByUrlAsync(string url);
|
|
public Task<Result<Media, Error>> GetMediaByIdAsync(Guid mediaId);
|
|
public Task<bool> HasMediaAsync(Guid mediaId);
|
|
public Task<bool> HasMediaByUrlAsync(string url);
|
|
public Task<Result<Unit, Error>> AttachToMessageAsync(Guid mediaId, Guid messageId);
|
|
}
|
|
|
|
public record Media(Guid UploaderId,
|
|
DateTime UploadedOn,
|
|
string FileName,
|
|
byte[] Data,
|
|
MediaType Type,
|
|
string MimeType,
|
|
string EncryptedKey,
|
|
MediaOwnerType OwnerType,
|
|
Guid? OwnerId);
|
|
|
|
public record MediaUploadResult(Guid MediaId, string Url); |