diff options
Diffstat (limited to 'Media.cs')
| -rw-r--r-- | Media.cs | 92 |
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 |
