using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public record ImmichAsset([property: JsonPropertyName("id")] string Id, [property: JsonPropertyName("deviceAssetId")] string DeviceAssetId, [property: JsonPropertyName("originalPath")] string OriginalPath, [property: JsonPropertyName("previewPath")] string PreviewPath, [property: JsonPropertyName("isFavorite")] bool IsFavorite, [property: JsonPropertyName("thumbnailPath")] string ThumbnailPath, [property: JsonPropertyName("thumbhash")] string Thumbhash) { public override string ToString() { string result = JsonSerializer.Serialize(this, ImmichAssetSourceGenerationContext.Default.ImmichAsset); return result; } } [JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)] [JsonSerializable(typeof(ImmichAsset))] public partial class ImmichAssetSourceGenerationContext : JsonSerializerContext { } [JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)] [JsonSerializable(typeof(ImmichAsset[]))] public partial class ImmichAssetCollectionSourceGenerationContext : JsonSerializerContext { }