using System.Text.Json.Serialization; using FinlyticAssets.Util; namespace FinlyticAssets.Models.DataToObject.TradeRepublic; public record TradeRepublicFilter( [property: JsonPropertyName("key")] string Key, [property: JsonPropertyName("value")] string Value ); public record TradeRepublicSearchData( [property: JsonPropertyName("q")] string Query = "", [property: JsonPropertyName("page")] int Page = 1, [property: JsonPropertyName("pageSize")] int PageSize = 50, IReadOnlyList? Filter = null ) { [JsonPropertyName("filter")] public IReadOnlyList Filter { get; init; } = Filter ?? Array.Empty(); } public record TradeRepublicSearchRequest( [property: JsonPropertyName("data")] TradeRepublicSearchData Data, [property: JsonPropertyName("type")] string Type = "neonSearch", TradeRepublicHeaders? Headers = null ) { [JsonPropertyName("__headers")] public TradeRepublicHeaders Headers { get; init; } = Headers ?? new TradeRepublicHeaders(); }