diff options
Diffstat (limited to 'Media.cs')
| -rw-r--r-- | Media.cs | 37 |
1 files changed, 35 insertions, 2 deletions
@@ -1,8 +1,7 @@ -using Microsoft.AspNetCore.Mvc.ModelBinding.Binders; +using HyperBooru.ApiModels; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using System.Net.NetworkInformation; namespace HyperBooru; @@ -27,6 +26,13 @@ public class Media : HBObject { .First()?.Filename ?? Guid.ToString().ToUpper(); } } + + public static explicit operator ApiModels.Media(Media media) => + new() { + MediaId = media.Guid, + ShortDescription = media.ShortDescription, + LongDescription = media.LongDescription + }; } public class UploadedFile : HBObject { @@ -44,6 +50,25 @@ public class UploadedFile : HBObject { public string? Path { get; set; } public PathType? PathType { get; set; } public virtual Media Media { get; set; } + + public static explicit operator ApiModels.UploadedFile(UploadedFile uploadedFile) => + new() { + MediaId = uploadedFile.Media.Guid, + UploadedFileId = uploadedFile.Guid, + Checksum = uploadedFile.Checksum, + ChecksumVerified = uploadedFile.ChecksumVerified, + Filename = uploadedFile.Filename, + Length = uploadedFile.Length, + MimeType = uploadedFile.MimeType, + Width = uploadedFile.Width, + Height = uploadedFile.Height, + UploadTime = uploadedFile.UploadTime, + LastAccessTime = uploadedFile.LastAccessTime, + LastWriteTime = uploadedFile.LastWriteTime, + CreateTime = uploadedFile.CreateTime, + Path = uploadedFile.Path, + PathType = (ApiModels.PathType?) uploadedFile.PathType + }; } public class OcrData { @@ -56,4 +81,12 @@ public class OcrData { public string SearchableText { get; set; } public DateTime Timestamp { get; set; } public virtual Media Media { get; set; } + + public static explicit operator ApiModels.OcrData(OcrData ocrData) => + new() { + MediaId = ocrData.Media.Guid, + Text = ocrData.Text, + SearchableText = ocrData.SearchableText, + Timestamp = ocrData.Timestamp + }; }
\ No newline at end of file |
