using Microsoft.Extensions.Logging; using System.Collections.ObjectModel; using System.Text.Json; using System.Text.Json.Serialization; namespace File_Folder_Helper.Day.Q22024; internal static partial class Helper20240517 { public record ContentSignature([property: JsonPropertyName("contentSignature")] string Value, [property: JsonPropertyName("contentSignatureType")] string ContentSignatureType); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(ContentSignature))] public partial class ContentSignatureGenerationContext : JsonSerializerContext { } public record Type([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Type))] public partial class TypeGenerationContext : JsonSerializerContext { } public record ImageAmazon([property: JsonPropertyName("colorSpace")] string ColorSpace, [property: JsonPropertyName("dateTime")] DateTime DateTime, [property: JsonPropertyName("dateTimeDigitized")] DateTime DateTimeDigitized, [property: JsonPropertyName("dateTimeOriginal")] DateTime DateTimeOriginal, [property: JsonPropertyName("exposureMode")] string ExposureMode, [property: JsonPropertyName("exposureProgram")] string ExposureProgram, [property: JsonPropertyName("exposureTime")] string ExposureTime, [property: JsonPropertyName("flash")] string Flash, [property: JsonPropertyName("focalLength")] string FocalLength, [property: JsonPropertyName("height")] int Height, [property: JsonPropertyName("make")] string Make, [property: JsonPropertyName("meteringMode")] string MeteringMode, [property: JsonPropertyName("model")] string Model, [property: JsonPropertyName("orientation")] string Orientation, [property: JsonPropertyName("resolutionUnit")] string ResolutionUnit, [property: JsonPropertyName("sensingMethod")] string SensingMethod, [property: JsonPropertyName("sharpness")] string Sharpness, [property: JsonPropertyName("software")] string Software, [property: JsonPropertyName("subSecTime")] string SubSecTime, [property: JsonPropertyName("subSecTimeDigitized")] string SubSecTimeDigitized, [property: JsonPropertyName("subSecTimeOriginal")] string SubSecTimeOriginal, [property: JsonPropertyName("whiteBalance")] string WhiteBalance, [property: JsonPropertyName("width")] int Width, [property: JsonPropertyName("apertureValue")] string ApertureValue); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(ImageAmazon))] public partial class ImageAmazonGenerationContext : JsonSerializerContext { } public record ContentProperties([property: JsonPropertyName("contentDate")] DateTime ContentDate, [property: JsonPropertyName("contentSignatures")] IReadOnlyList ContentSignatures, [property: JsonPropertyName("contentType")] string ContentType, [property: JsonPropertyName("extension")] string Extension, [property: JsonPropertyName("image")] ImageAmazon Image, [property: JsonPropertyName("md5")] string Md5, [property: JsonPropertyName("size")] int Size, [property: JsonPropertyName("version")] int Version); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(ContentProperties))] public partial class ContentPropertiesGenerationContext : JsonSerializerContext { } public record XAccntParentMap(); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(XAccntParentMap))] public partial class XAccntParentMapGenerationContext : JsonSerializerContext { } public record Datum([property: JsonPropertyName("accessRuleIds")] IReadOnlyList AccessRuleIds, [property: JsonPropertyName("childAssetTypeInfo")] IReadOnlyList ChildAssetTypeInfo, [property: JsonPropertyName("contentProperties")] ContentProperties ContentProperties, [property: JsonPropertyName("createdBy")] string CreatedBy, [property: JsonPropertyName("createdDate")] DateTime CreatedDate, [property: JsonPropertyName("eTagResponse")] string ETagResponse, [property: JsonPropertyName("groupPermissions")] IReadOnlyList GroupPermissions, [property: JsonPropertyName("id")] string Id, [property: JsonPropertyName("isRoot")] bool IsRoot, [property: JsonPropertyName("isShared")] bool IsShared, [property: JsonPropertyName("keywords")] IReadOnlyList Keywords, [property: JsonPropertyName("kind")] string Kind, [property: JsonPropertyName("labels")] IReadOnlyList Labels, [property: JsonPropertyName("modifiedDate")] DateTime ModifiedDate, [property: JsonPropertyName("name")] string Name, [property: JsonPropertyName("ownerId")] string OwnerId, [property: JsonPropertyName("parentMap")] ParentMap ParentMap, [property: JsonPropertyName("parents")] IReadOnlyList Parents, [property: JsonPropertyName("protectedFolder")] bool ProtectedFolder, [property: JsonPropertyName("restricted")] bool Restricted, [property: JsonPropertyName("status")] string Status, [property: JsonPropertyName("subKinds")] IReadOnlyList SubKinds, [property: JsonPropertyName("transforms")] IReadOnlyList Transforms, [property: JsonPropertyName("version")] int Version, [property: JsonPropertyName("xAccntParentMap")] XAccntParentMap XAccntParentMap, [property: JsonPropertyName("xAccntParents")] IReadOnlyList XAccntParents, [property: JsonPropertyName("match")] bool? Match); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Datum))] public partial class DatumGenerationContext : JsonSerializerContext { } [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Dictionary))] public partial class DictionaryDatumGenerationContext : JsonSerializerContext { } public record LocationAmazon([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(LocationAmazon))] public partial class LocationAmazonGenerationContext : JsonSerializerContext { } public record LocationInfo([property: JsonPropertyName("city")] string City, [property: JsonPropertyName("country")] string Country, [property: JsonPropertyName("countryIso3Code")] string CountryIso3Code, [property: JsonPropertyName("state")] string State, [property: JsonPropertyName("stateCode")] string StateCode); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(LocationInfo))] public partial class LocationInfoGenerationContext : JsonSerializerContext { } public record SearchData([property: JsonPropertyName("clusterName")] string ClusterName, [property: JsonPropertyName("locationId")] string LocationId, [property: JsonPropertyName("locationInfo")] LocationInfo LocationInfo, [property: JsonPropertyName("thingId")] string ThingId); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(SearchData))] public partial class SearchDataGenerationContext : JsonSerializerContext { } public record AllPerson([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(AllPerson))] public partial class AllPersonGenerationContext : JsonSerializerContext { } public record PersonAmazon([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(PersonAmazon))] public partial class PersonAmazonGenerationContext : JsonSerializerContext { } public record ClusterId([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(ClusterId))] public partial class ClusterIdGenerationContext : JsonSerializerContext { } public record Thing([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Thing))] public partial class ThingGenerationContext : JsonSerializerContext { } public record Time([property: JsonPropertyName("count")] int Count, [property: JsonPropertyName("match")] string Match, [property: JsonPropertyName("searchData")] SearchData SearchData); [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Time))] public partial class TimeGenerationContext : JsonSerializerContext { } public record ParentMap([property: JsonPropertyName("FOLDER")] IReadOnlyList FOLDER); public record Aggregations([property: JsonPropertyName("allPeople")] IReadOnlyList AllPeople, [property: JsonPropertyName("clusterId")] IReadOnlyList ClusterId, [property: JsonPropertyName("location")] IReadOnlyList Location, [property: JsonPropertyName("people")] IReadOnlyList People, [property: JsonPropertyName("things")] IReadOnlyList Things, [property: JsonPropertyName("time")] IReadOnlyList