forked from sim0n00ps/OF-DL
116 lines
2.8 KiB
C#
116 lines
2.8 KiB
C#
using OF_DL.Models.Dtos.Common;
|
|
using OF_DL.Models.Entities.Common;
|
|
|
|
namespace OF_DL.Models.Mappers;
|
|
|
|
public static class CommonMapper
|
|
{
|
|
public static Author? MapAuthor(AuthorDto? dto)
|
|
{
|
|
if (dto == null || dto.Id == 0)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Author { Id = dto.Id };
|
|
}
|
|
|
|
private static Dash? MapDash(DashDto? dto)
|
|
{
|
|
if (dto == null || (
|
|
string.IsNullOrEmpty(dto.CloudFrontPolicy) &&
|
|
string.IsNullOrEmpty(dto.CloudFrontSignature) &&
|
|
string.IsNullOrEmpty(dto.CloudFrontKeyPairId)))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Dash
|
|
{
|
|
CloudFrontPolicy = dto.CloudFrontPolicy,
|
|
CloudFrontSignature = dto.CloudFrontSignature,
|
|
CloudFrontKeyPairId = dto.CloudFrontKeyPairId
|
|
};
|
|
}
|
|
|
|
public static Drm? MapDrm(DrmDto? dto)
|
|
{
|
|
if (dto == null || (dto.Manifest == new ManifestDto() && dto.Signature == new SignatureDto()))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Drm { Manifest = MapManifest(dto.Manifest), Signature = MapSignature(dto.Signature) };
|
|
}
|
|
|
|
public static Files? MapFiles(FilesDto? dto)
|
|
{
|
|
if (dto == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
Full? full = MapFull(dto.Full);
|
|
Preview? preview = MapPreview(dto.Preview);
|
|
Drm? drm = MapDrm(dto.Drm);
|
|
|
|
if (full == null && preview == null && drm == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Files { Full = MapFull(dto.Full), Preview = MapPreview(dto.Preview), Drm = MapDrm(dto.Drm) };
|
|
}
|
|
|
|
public static Full? MapFull(FullDto? dto)
|
|
{
|
|
if (dto == null || string.IsNullOrEmpty(dto.Url))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Full { Url = dto.Url };
|
|
}
|
|
|
|
public static Manifest? MapManifest(ManifestDto? dto)
|
|
{
|
|
if (dto == null || string.IsNullOrEmpty(dto.Dash))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Manifest { Dash = dto.Dash };
|
|
}
|
|
|
|
public static Preview? MapPreview(PreviewDto? dto)
|
|
{
|
|
if (dto == null || string.IsNullOrEmpty(dto.Url))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new Preview { Url = dto.Url };
|
|
}
|
|
|
|
public static Signature? MapSignature(SignatureDto? dto)
|
|
{
|
|
if (dto == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
Dash? dash = MapDash(dto.Dash);
|
|
return dash == null ? null : new Signature { Dash = dash };
|
|
}
|
|
|
|
public static VideoSources? MapVideoSources(VideoSourcesDto? dto)
|
|
{
|
|
if (dto == null || (string.IsNullOrEmpty(dto._240) && string.IsNullOrEmpty(dto._720)))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new VideoSources { _240 = dto._240, _720 = dto._720 };
|
|
}
|
|
}
|