Remove downloads management features: delete DownloadsEndpoints and related API logic, remove associated frontend components and routes, and update documentation to reflect the removal of the downloads directory from the application structure.
This commit is contained in:
@@ -2,9 +2,6 @@ using TeleWave.Domain.Media;
|
||||
|
||||
namespace TeleWave.Application.Common.Interfaces;
|
||||
|
||||
/// <summary>Готовый к импорту файл в каталоге downloads/ (скачан торрент-клиентом).</summary>
|
||||
public sealed record DownloadEntry(string RelativePath, string Name, long SizeBytes);
|
||||
|
||||
/// <summary>
|
||||
/// Порт файлового хранилища медиа. Все относительные пути резолвятся строго внутри корня
|
||||
/// (<c>Storage:RootPath</c>) — защита от path traversal лежит на реализации.
|
||||
@@ -14,9 +11,6 @@ public interface IMediaStorage
|
||||
/// <summary>Свободное место на томе хранилища, байт.</summary>
|
||||
long GetAvailableFreeSpaceBytes();
|
||||
|
||||
/// <summary>Список видеофайлов в downloads/ (рекурсивно), пригодных к импорту.</summary>
|
||||
IReadOnlyList<DownloadEntry> ListDownloads();
|
||||
|
||||
/// <summary>
|
||||
/// Стримит загружаемый контент во временный файл в <c>uploads/</c> без буферизации в память.
|
||||
/// Возвращает непрозрачный токен (имя временного файла) для последующего <see cref="PromoteToOriginalAsync"/>.
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
namespace TeleWave.Application.Media.Downloads;
|
||||
|
||||
public sealed record DownloadFileDto(string RelativePath, string Name, long SizeBytes);
|
||||
@@ -1,5 +0,0 @@
|
||||
using LiteCqrs;
|
||||
|
||||
namespace TeleWave.Application.Media.Downloads;
|
||||
|
||||
public sealed record ListDownloadsQuery : IQuery<IReadOnlyList<DownloadFileDto>>;
|
||||
@@ -1,20 +0,0 @@
|
||||
using LiteCqrs;
|
||||
using TeleWave.Application.Common.Interfaces;
|
||||
|
||||
namespace TeleWave.Application.Media.Downloads;
|
||||
|
||||
public sealed class ListDownloadsQueryHandler(IMediaStorage storage)
|
||||
: IQueryHandler<ListDownloadsQuery, IReadOnlyList<DownloadFileDto>>
|
||||
{
|
||||
public Task<IReadOnlyList<DownloadFileDto>> Handle(
|
||||
ListDownloadsQuery query,
|
||||
CancellationToken cancellationToken
|
||||
)
|
||||
{
|
||||
IReadOnlyList<DownloadFileDto> files = storage
|
||||
.ListDownloads()
|
||||
.Select(d => new DownloadFileDto(d.RelativePath, d.Name, d.SizeBytes))
|
||||
.ToList();
|
||||
return Task.FromResult(files);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user