summaryrefslogtreecommitdiff
path: root/Media.cs
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-05-06 22:33:52 +1000
committerJake Mannens <jake@asger.xyz>2026-05-06 22:33:52 +1000
commit2b66d00175950d845a794422433d4a350cf87775 (patch)
tree8b0a77d43d80faab235c14008206a926d4566859 /Media.cs
parent60dd44153b5f2b233dc66032507ee6c9a925ed0e (diff)
v0.13av0.13a
Diffstat (limited to 'Media.cs')
-rw-r--r--Media.cs37
1 files changed, 35 insertions, 2 deletions
diff --git a/Media.cs b/Media.cs
index 51626be..2ff9e63 100644
--- a/Media.cs
+++ b/Media.cs
@@ -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