summaryrefslogtreecommitdiff
path: root/Media.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Media.cs')
-rw-r--r--Media.cs92
1 files changed, 0 insertions, 92 deletions
diff --git a/Media.cs b/Media.cs
deleted file mode 100644
index 2ff9e63..0000000
--- a/Media.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-using HyperBooru.ApiModels;
-using Microsoft.EntityFrameworkCore;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-namespace HyperBooru;
-
-public class Media : HBObject {
- public string? ShortDescription { get; set; }
- public string? LongDescription { get; set; }
- public virtual OcrData? OcrData { get; set; }
- public virtual UploadedFile? CurrentUploadedFile { get; set; }
- public virtual List<UploadedFile> UploadedFiles { get; set; } = new();
-
- public bool IsIngest => Tags
- .Select(t => t.TagDefinitionId)
- .Contains((int) HBObjectId.IngestTag);
-
- public string? DisplayName {
- get {
- if(ShortDescription is not null)
- return ShortDescription;
-
- return UploadedFiles
- .OrderBy(f => f.UploadTime)
- .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 {
- public string Checksum { get; set; }
- public bool ChecksumVerified { get; set; } = false;
- public string? Filename { get; set; }
- public long Length { get; set; }
- public string MimeType { get; set; }
- public int? Width { get; set; }
- public int? Height { get; set; }
- public DateTime UploadTime { get; set; } = DateTime.UtcNow;
- public DateTime? LastAccessTime { get; set; }
- public DateTime? LastWriteTime { get; set; }
- public DateTime? CreateTime { get; set; }
- 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 {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int OcrDataId { get; set; }
- [ForeignKey("ObjectId")]
- public int MediaId { get; set; }
- public string Text { get; set; }
- 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