diff options
Diffstat (limited to 'ApiRecords.cs')
| -rw-r--r-- | ApiRecords.cs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/ApiRecords.cs b/ApiRecords.cs new file mode 100644 index 0000000..69160c5 --- /dev/null +++ b/ApiRecords.cs @@ -0,0 +1,53 @@ +namespace HyperBooru.ApiRecords; + +public class TagInfo { + public string Id { get; init; } + public string? Namespace { get; init; } + public string Name { get; init; } + public bool IsImplicit { get; init; } +} + +public class MediaInfo { + public string Id { get; init; } + public string Checksum { get; init; } + public string MimeType { get; init; } + public string? ShortDescription { get; init; } + public string? LongDescription { get; init; } + + public UploadedFileInfo[] UploadedFileHistory { get; init; } + + public MediaInfo(DbMedia media) { + Id = media.Guid.ToString(); + Checksum = media.Checksum; + MimeType = media.MimeType; + ShortDescription = media.ShortDescription; + LongDescription = media.LongDescription; + + UploadedFileHistory = media.UploadedFiles + .Select(uf => new UploadedFileInfo(uf)) + .ToArray(); + } +} + +public record MediaUpdateInfo { + public string? ShortDescription { get; init; } + public string? LongDescription { get; init; } +} + +public class UploadedFileInfo { + public string Checksum { get; init; } + public string? Filename { get; init; } + public DateTime UploadTime { get; init; } + public DateTime? LastAccessTime { get; init; } + public DateTime? LastWriteTime { get; init; } + public DateTime? CreateTime { get; init; } + + public UploadedFileInfo(DbUploadedFile uploadedFile) { + Checksum = uploadedFile.OriginalChecksum; + Filename = uploadedFile.Filename; + UploadTime = uploadedFile.UploadTime; + LastAccessTime = uploadedFile.LastAccessTime; + LastWriteTime = uploadedFile.LastWriteTime; + CreateTime = uploadedFile.CreateTime; + } +}
\ No newline at end of file |
