60 lines
2.8 KiB
C#
60 lines
2.8 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace View_by_Distance.PhotoPrism.Models;
|
|
|
|
public record Marker(
|
|
[property: JsonPropertyName("marker_uid")] string MarkerUid,
|
|
[property: JsonPropertyName("file_uid")] string FileUid,
|
|
[property: JsonPropertyName("marker_type")] string MarkerType,
|
|
[property: JsonPropertyName("marker_src")] string MarkerSrc,
|
|
[property: JsonPropertyName("marker_name")] string MarkerName,
|
|
[property: JsonPropertyName("marker_review")] string MarkerReview,
|
|
[property: JsonPropertyName("marker_invalid")] string MarkerInvalid,
|
|
[property: JsonPropertyName("subj_uid")] string SubjUid,
|
|
[property: JsonPropertyName("subj_src")] string SubjSrc,
|
|
[property: JsonPropertyName("face_id")] string FaceId,
|
|
[property: JsonPropertyName("face_dist")] string FaceDist,
|
|
[property: JsonPropertyName("x")] string X,
|
|
[property: JsonPropertyName("y")] string Y,
|
|
[property: JsonPropertyName("w")] string W,
|
|
[property: JsonPropertyName("h")] string H,
|
|
[property: JsonPropertyName("q")] string Q,
|
|
[property: JsonPropertyName("size")] string Size,
|
|
[property: JsonPropertyName("score")] string Score,
|
|
[property: JsonPropertyName("thumb")] string Thumb,
|
|
[property: JsonPropertyName("matched_at")] string MatchedAt,
|
|
[property: JsonPropertyName("created_at")] string CreatedAt,
|
|
[property: JsonPropertyName("updated_at")] string UpdatedAt)
|
|
{
|
|
|
|
internal static Shared.Models.Marker Map(Marker marker)
|
|
{
|
|
Shared.Models.Marker result;
|
|
(float x, float y, float w, float h, float score) = (float.Parse(marker.X), float.Parse(marker.Y), float.Parse(marker.W), float.Parse(marker.H), float.Parse(marker.Score));
|
|
result = new(
|
|
F_PhotoPrism.HexStringToString(marker.MarkerUid),
|
|
F_PhotoPrism.HexStringToString(marker.FileUid),
|
|
F_PhotoPrism.HexStringToString(marker.MarkerType),
|
|
F_PhotoPrism.HexStringToString(marker.MarkerSrc),
|
|
F_PhotoPrism.HexStringToString(marker.MarkerName),
|
|
F_PhotoPrism.HexStringToString(marker.MarkerReview),
|
|
F_PhotoPrism.HexStringToString(marker.MarkerInvalid),
|
|
F_PhotoPrism.HexStringToString(marker.SubjUid),
|
|
F_PhotoPrism.HexStringToString(marker.SubjSrc),
|
|
F_PhotoPrism.HexStringToString(marker.FaceId),
|
|
F_PhotoPrism.HexStringToString(marker.FaceDist),
|
|
x,
|
|
y,
|
|
w,
|
|
h,
|
|
F_PhotoPrism.HexStringToString(marker.Q),
|
|
F_PhotoPrism.HexStringToString(marker.Size),
|
|
score,
|
|
F_PhotoPrism.HexStringToString(marker.Thumb),
|
|
F_PhotoPrism.HexStringToString(marker.MatchedAt),
|
|
F_PhotoPrism.HexStringToString(marker.CreatedAt),
|
|
F_PhotoPrism.HexStringToString(marker.UpdatedAt));
|
|
return result;
|
|
}
|
|
|
|
} |