Files
LightlessClient/LightlessSync/WebAPI/Files/Models/DownloadFileTransfer.cs
azyges aa2b828386 init
2025-10-20 04:20:11 +09:00

25 lines
680 B
C#

using LightlessSync.API.Dto.Files;
namespace LightlessSync.WebAPI.Files.Models;
public class DownloadFileTransfer : FileTransfer
{
public DownloadFileTransfer(DownloadFileDto dto) : base(dto)
{
}
public override bool CanBeTransferred => Dto.FileExists && !Dto.IsForbidden && Dto.Size > 0;
public Uri DownloadUri => new(Dto.Url);
public override long Total
{
set
{
// nothing to set
}
get => Dto.Size;
}
public string? DirectDownloadUrl => ((DownloadFileDto)TransferDto).CDNDownloadUrl;
public long TotalRaw => Dto.RawSize;
private DownloadFileDto Dto => (DownloadFileDto)TransferDto;
}