114 lines
5.8 KiB
C#
114 lines
5.8 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.PhotoPrism.Models;
|
|
|
|
public record DatabaseFile(
|
|
[property: JsonPropertyName("id")] string Id,
|
|
[property: JsonPropertyName("photo_id")] string PhotoId,
|
|
[property: JsonPropertyName("photo_uid")] string PhotoUid,
|
|
[property: JsonPropertyName("photo_taken_at")] string PhotoTakenAt,
|
|
[property: JsonPropertyName("time_index")] string TimeIndex,
|
|
[property: JsonPropertyName("media_id")] string MediaId,
|
|
[property: JsonPropertyName("media_utc")] string MediaUtc,
|
|
[property: JsonPropertyName("instance_id")] string InstanceId,
|
|
[property: JsonPropertyName("file_uid")] string FileUid,
|
|
[property: JsonPropertyName("file_name")] string FileName,
|
|
[property: JsonPropertyName("file_root")] string FileRoot,
|
|
[property: JsonPropertyName("original_name")] string OriginalName,
|
|
[property: JsonPropertyName("file_hash")] string FileHash,
|
|
[property: JsonPropertyName("file_size")] string FileSize,
|
|
[property: JsonPropertyName("file_codec")] string FileCodec,
|
|
[property: JsonPropertyName("file_type")] string FileType,
|
|
[property: JsonPropertyName("media_type")] string MediaType,
|
|
[property: JsonPropertyName("file_mime")] string FileMime,
|
|
[property: JsonPropertyName("file_primary")] string FilePrimary,
|
|
[property: JsonPropertyName("file_sidecar")] string FileSidecar,
|
|
[property: JsonPropertyName("file_missing")] string FileMissing,
|
|
[property: JsonPropertyName("file_portrait")] string FilePortrait,
|
|
[property: JsonPropertyName("file_video")] string FileVideo,
|
|
[property: JsonPropertyName("file_duration")] string FileDuration,
|
|
[property: JsonPropertyName("file_fps")] string FileFps,
|
|
[property: JsonPropertyName("file_frames")] string FileFrames,
|
|
[property: JsonPropertyName("file_width")] string FileWidth,
|
|
[property: JsonPropertyName("file_height")] string FileHeight,
|
|
[property: JsonPropertyName("file_orientation")] string FileOrientation,
|
|
[property: JsonPropertyName("file_orientation_src")] string FileOrientationSrc,
|
|
[property: JsonPropertyName("file_projection")] string FileProjection,
|
|
[property: JsonPropertyName("file_aspect_ratio")] string FileAspectRatio,
|
|
[property: JsonPropertyName("file_hdr")] string FileHdr,
|
|
[property: JsonPropertyName("file_watermark")] string FileWatermark,
|
|
[property: JsonPropertyName("file_color_profile")] string FileColorProfile,
|
|
[property: JsonPropertyName("file_main_color")] string FileMainColor,
|
|
[property: JsonPropertyName("file_colors")] string FileColors,
|
|
[property: JsonPropertyName("File_luminance")] string FileLuminance,
|
|
[property: JsonPropertyName("file_diff")] string FileDiff,
|
|
[property: JsonPropertyName("file_chroma")] string FileChroma,
|
|
[property: JsonPropertyName("file_software")] string FileSoftware,
|
|
[property: JsonPropertyName("file_error")] string FileError,
|
|
[property: JsonPropertyName("mod_time")] string ModTime,
|
|
[property: JsonPropertyName("created_at")] string CreatedAt,
|
|
[property: JsonPropertyName("created_in")] string CreatedIn,
|
|
[property: JsonPropertyName("updated_at")] string UpdatedAt,
|
|
[property: JsonPropertyName("updated_in")] string UpdatedIn,
|
|
[property: JsonPropertyName("published_at")] object PublishedAt,
|
|
[property: JsonPropertyName("deleted_at")] object DeletedAt)
|
|
{
|
|
|
|
internal static Shared.Models.DatabaseFile Map(DatabaseFile databaseFile)
|
|
{
|
|
Shared.Models.DatabaseFile result;
|
|
(int id, int photoId) = (int.Parse(databaseFile.Id), int.Parse(databaseFile.PhotoId));
|
|
(int fileWidth, int fileHeight) = (int.Parse(databaseFile.FileWidth), int.Parse(databaseFile.FileHeight));
|
|
result = new(id,
|
|
photoId,
|
|
databaseFile.PhotoUid,
|
|
databaseFile.PhotoTakenAt,
|
|
databaseFile.TimeIndex,
|
|
databaseFile.MediaId,
|
|
databaseFile.MediaUtc,
|
|
databaseFile.InstanceId,
|
|
databaseFile.FileUid,
|
|
databaseFile.FileName,
|
|
databaseFile.FileRoot,
|
|
databaseFile.OriginalName,
|
|
databaseFile.FileHash,
|
|
databaseFile.FileSize,
|
|
databaseFile.FileCodec,
|
|
databaseFile.FileType,
|
|
databaseFile.MediaType,
|
|
databaseFile.FileMime,
|
|
databaseFile.FilePrimary,
|
|
databaseFile.FileSidecar,
|
|
databaseFile.FileMissing,
|
|
databaseFile.FilePortrait,
|
|
databaseFile.FileVideo,
|
|
databaseFile.FileDuration,
|
|
databaseFile.FileFps,
|
|
databaseFile.FileFrames,
|
|
fileWidth,
|
|
fileHeight,
|
|
databaseFile.FileOrientation,
|
|
databaseFile.FileOrientationSrc,
|
|
databaseFile.FileProjection,
|
|
databaseFile.FileAspectRatio,
|
|
databaseFile.FileHdr,
|
|
databaseFile.FileWatermark,
|
|
databaseFile.FileColorProfile,
|
|
databaseFile.FileMainColor,
|
|
databaseFile.FileColors,
|
|
databaseFile.FileLuminance,
|
|
databaseFile.FileDiff,
|
|
databaseFile.FileChroma,
|
|
databaseFile.FileSoftware,
|
|
databaseFile.FileError,
|
|
databaseFile.ModTime,
|
|
databaseFile.CreatedAt,
|
|
databaseFile.CreatedIn,
|
|
databaseFile.UpdatedAt,
|
|
databaseFile.UpdatedIn,
|
|
databaseFile.PublishedAt,
|
|
databaseFile.DeletedAt);
|
|
return result;
|
|
}
|
|
|
|
} |