This commit is contained in:
2026-05-14 01:05:07 +02:00
parent f6ac45cb79
commit 0e65103af2
60 changed files with 129 additions and 137 deletions
@@ -1,13 +0,0 @@
namespace Musify.Application.Contracts.Application
{
public interface IFileData
{
Stream FileStream { get; }
string FileName { get; }
string FileType { get; }
string ContentType { get; }
}
}
@@ -1,26 +0,0 @@
using X.PagedList;
namespace Musify.Application.Contracts.Application
{
public record PaginatedResponse<T>(
IReadOnlyCollection<T> Items,
int PageNumber,
int PageSize,
int PageCount,
int TotalItemCount,
bool HasNextPage,
bool HasPreviousPage)
{
public static PaginatedResponse<T> FromPagedList(IPagedList<T> pagedList)
{
return new PaginatedResponse<T>(
pagedList.ToArray(),
pagedList.PageNumber,
pagedList.PageSize,
pagedList.PageCount,
pagedList.TotalItemCount,
pagedList.HasNextPage,
pagedList.HasPreviousPage);
}
}
}
@@ -1,9 +0,0 @@
namespace Musify.Application.Contracts.Infrastructure
{
public interface IAudioTranscoderService
{
Task<int> TranscodeToDashAsync(Stream audioStream, string destinationPath, CancellationToken cancellationToken);
Task<bool> IsValidAudioFileAsync(string filePath, CancellationToken cancellationToken);
}
}
@@ -1,22 +0,0 @@
using Microsoft.EntityFrameworkCore;
using Musify.Domain.Entities;
namespace Musify.Application.Contracts.Infrastructure
{
public interface IDatabase
{
DbSet<User> Users { get; }
DbSet<PlayList> PlayLists { get; }
DbSet<Track> Tracks { get; }
DbSet<UserHasTrack> UserHasTracks { get; }
DbSet<PlayListHasTrack> PlayListHasTracks { get; }
DbSet<Upload> Uploads { get; }
Task<int> SaveChangesAsync(CancellationToken cancellationToken);
}
}
@@ -1,7 +0,0 @@
namespace Musify.Application.Contracts.Infrastructure
{
public interface IEventBus
{
Task PublishAsync<T>(T message, CancellationToken cancellationToken);
}
}
@@ -1,7 +0,0 @@
namespace Musify.Application.Contracts.Infrastructure
{
public interface IPictureService
{
Task<Stream> ResizePictureAsWebpAsync(Stream pictureStream, int width, int height, CancellationToken cancellationToken);
}
}
@@ -1,22 +0,0 @@
namespace Musify.Application.Contracts.Infrastructure
{
public interface IStorageService
{
Task<Stream> GetFileAsync(string bucket, string key, CancellationToken cancellationToken);
Task<string> GetUrlAsync(string bucket, string key, TimeSpan ExpirationTime, CancellationToken cancellationToken);
Task UploadFileAsync(string filePath, string bucket, string key, CancellationToken cancellationToken);
Task UploadFileAsync(Stream sourceStream, string contentType, string bucket, string key, CancellationToken cancellationToken);
Task TransferFilesAsync(string sourceDirectory, string bucket, string route, CancellationToken cancellationToken);
Task RemoveFileAsync(string bucket, string key, CancellationToken cancellationToken);
Task CopyFileAsync(string sourceBucket, string sourceKey, string destinationBucket, string destinationKey,
CancellationToken cancellationToken);
Task RemoveFolderAsync(string bucket, string folderKey, CancellationToken cancellationToken);
}
}