1818#nullable restore
1919
2020using Elastic . Clients . Elasticsearch . Fluent ;
21+ using Elastic . Clients . Elasticsearch . Next ;
2122using Elastic . Clients . Elasticsearch . Serialization ;
2223using Elastic . Transport . Products . Elasticsearch ;
2324using System ;
2425using System . Collections . Generic ;
26+ using System . Linq . Expressions ;
27+ using System . Text . Json ;
2528using System . Text . Json . Serialization ;
2629
2730namespace Elastic . Clients . Elasticsearch . AsyncSearch ;
2831
32+ internal sealed partial class AsyncSearchStatusResponseConverter : System . Text . Json . Serialization . JsonConverter < AsyncSearchStatusResponse >
33+ {
34+ private static readonly System . Text . Json . JsonEncodedText PropClusters = System . Text . Json . JsonEncodedText . Encode ( "_clusters" ) ;
35+ private static readonly System . Text . Json . JsonEncodedText PropCompletionStatus = System . Text . Json . JsonEncodedText . Encode ( "completion_status" ) ;
36+ private static readonly System . Text . Json . JsonEncodedText PropCompletionTime = System . Text . Json . JsonEncodedText . Encode ( "completion_time" ) ;
37+ private static readonly System . Text . Json . JsonEncodedText PropCompletionTimeInMillis = System . Text . Json . JsonEncodedText . Encode ( "completion_time_in_millis" ) ;
38+ private static readonly System . Text . Json . JsonEncodedText PropExpirationTime = System . Text . Json . JsonEncodedText . Encode ( "expiration_time" ) ;
39+ private static readonly System . Text . Json . JsonEncodedText PropExpirationTimeInMillis = System . Text . Json . JsonEncodedText . Encode ( "expiration_time_in_millis" ) ;
40+ private static readonly System . Text . Json . JsonEncodedText PropId = System . Text . Json . JsonEncodedText . Encode ( "id" ) ;
41+ private static readonly System . Text . Json . JsonEncodedText PropIsPartial = System . Text . Json . JsonEncodedText . Encode ( "is_partial" ) ;
42+ private static readonly System . Text . Json . JsonEncodedText PropIsRunning = System . Text . Json . JsonEncodedText . Encode ( "is_running" ) ;
43+ private static readonly System . Text . Json . JsonEncodedText PropShards = System . Text . Json . JsonEncodedText . Encode ( "_shards" ) ;
44+ private static readonly System . Text . Json . JsonEncodedText PropStartTime = System . Text . Json . JsonEncodedText . Encode ( "start_time" ) ;
45+ private static readonly System . Text . Json . JsonEncodedText PropStartTimeInMillis = System . Text . Json . JsonEncodedText . Encode ( "start_time_in_millis" ) ;
46+
47+ public override AsyncSearchStatusResponse Read ( ref System . Text . Json . Utf8JsonReader reader , System . Type typeToConvert , System . Text . Json . JsonSerializerOptions options )
48+ {
49+ reader . ValidateToken ( System . Text . Json . JsonTokenType . StartObject ) ;
50+ LocalJsonProperty < Elastic . Clients . Elasticsearch . ClusterStatistics ? > propClusters = default ;
51+ LocalJsonProperty < int ? > propCompletionStatus = default ;
52+ LocalJsonProperty < DateTimeOffset ? > propCompletionTime = default ;
53+ LocalJsonProperty < long ? > propCompletionTimeInMillis = default ;
54+ LocalJsonProperty < DateTimeOffset ? > propExpirationTime = default ;
55+ LocalJsonProperty < long > propExpirationTimeInMillis = default ;
56+ LocalJsonProperty < string ? > propId = default ;
57+ LocalJsonProperty < bool > propIsPartial = default ;
58+ LocalJsonProperty < bool > propIsRunning = default ;
59+ LocalJsonProperty < Elastic . Clients . Elasticsearch . ShardStatistics > propShards = default ;
60+ LocalJsonProperty < DateTimeOffset ? > propStartTime = default ;
61+ LocalJsonProperty < long > propStartTimeInMillis = default ;
62+ while ( reader . Read ( ) && reader . TokenType is System . Text . Json . JsonTokenType . PropertyName )
63+ {
64+ if ( propClusters . TryRead ( ref reader , options , PropClusters ) )
65+ {
66+ continue ;
67+ }
68+
69+ if ( propCompletionStatus . TryRead ( ref reader , options , PropCompletionStatus ) )
70+ {
71+ continue ;
72+ }
73+
74+ if ( propCompletionTime . TryRead ( ref reader , options , PropCompletionTime ) )
75+ {
76+ continue ;
77+ }
78+
79+ if ( propCompletionTimeInMillis . TryRead ( ref reader , options , PropCompletionTimeInMillis ) )
80+ {
81+ continue ;
82+ }
83+
84+ if ( propExpirationTime . TryRead ( ref reader , options , PropExpirationTime ) )
85+ {
86+ continue ;
87+ }
88+
89+ if ( propExpirationTimeInMillis . TryRead ( ref reader , options , PropExpirationTimeInMillis ) )
90+ {
91+ continue ;
92+ }
93+
94+ if ( propId . TryRead ( ref reader , options , PropId ) )
95+ {
96+ continue ;
97+ }
98+
99+ if ( propIsPartial . TryRead ( ref reader , options , PropIsPartial ) )
100+ {
101+ continue ;
102+ }
103+
104+ if ( propIsRunning . TryRead ( ref reader , options , PropIsRunning ) )
105+ {
106+ continue ;
107+ }
108+
109+ if ( propShards . TryRead ( ref reader , options , PropShards ) )
110+ {
111+ continue ;
112+ }
113+
114+ if ( propStartTime . TryRead ( ref reader , options , PropStartTime ) )
115+ {
116+ continue ;
117+ }
118+
119+ if ( propStartTimeInMillis . TryRead ( ref reader , options , PropStartTimeInMillis ) )
120+ {
121+ continue ;
122+ }
123+
124+ throw new System . Text . Json . JsonException ( $ "Unknown JSON property '{ reader . GetString ( ) } ' for type '{ typeToConvert . Name } '.") ;
125+ }
126+
127+ reader . ValidateToken ( System . Text . Json . JsonTokenType . EndObject ) ;
128+ return new AsyncSearchStatusResponse
129+ {
130+ Clusters = propClusters . Value
131+ ,
132+ CompletionStatus = propCompletionStatus . Value
133+ ,
134+ CompletionTime = propCompletionTime . Value
135+ ,
136+ CompletionTimeInMillis = propCompletionTimeInMillis . Value
137+ ,
138+ ExpirationTime = propExpirationTime . Value
139+ ,
140+ ExpirationTimeInMillis = propExpirationTimeInMillis . Value
141+ ,
142+ Id = propId . Value
143+ ,
144+ IsPartial = propIsPartial . Value
145+ ,
146+ IsRunning = propIsRunning . Value
147+ ,
148+ Shards = propShards . Value
149+ ,
150+ StartTime = propStartTime . Value
151+ ,
152+ StartTimeInMillis = propStartTimeInMillis . Value
153+ } ;
154+ }
155+
156+ public override void Write ( System . Text . Json . Utf8JsonWriter writer , AsyncSearchStatusResponse value , System . Text . Json . JsonSerializerOptions options )
157+ {
158+ writer . WriteStartObject ( ) ;
159+ writer . WriteProperty ( options , PropClusters , value . Clusters ) ;
160+ writer . WriteProperty ( options , PropCompletionStatus , value . CompletionStatus ) ;
161+ writer . WriteProperty ( options , PropCompletionTime , value . CompletionTime ) ;
162+ writer . WriteProperty ( options , PropCompletionTimeInMillis , value . CompletionTimeInMillis ) ;
163+ writer . WriteProperty ( options , PropExpirationTime , value . ExpirationTime ) ;
164+ writer . WriteProperty ( options , PropExpirationTimeInMillis , value . ExpirationTimeInMillis ) ;
165+ writer . WriteProperty ( options , PropId , value . Id ) ;
166+ writer . WriteProperty ( options , PropIsPartial , value . IsPartial ) ;
167+ writer . WriteProperty ( options , PropIsRunning , value . IsRunning ) ;
168+ writer . WriteProperty ( options , PropShards , value . Shards ) ;
169+ writer . WriteProperty ( options , PropStartTime , value . StartTime ) ;
170+ writer . WriteProperty ( options , PropStartTimeInMillis , value . StartTimeInMillis ) ;
171+ writer . WriteEndObject ( ) ;
172+ }
173+ }
174+
175+ [ JsonConverter ( typeof ( AsyncSearchStatusResponseConverter ) ) ]
29176public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
30177{
31178 /// <summary>
@@ -34,7 +181,6 @@ public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
34181 /// Not shown for local-only searches.
35182 /// </para>
36183 /// </summary>
37- [ JsonInclude , JsonPropertyName ( "_clusters" ) ]
38184 public Elastic . Clients . Elasticsearch . ClusterStatistics ? Clusters { get ; init ; }
39185
40186 /// <summary>
@@ -44,7 +190,6 @@ public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
44190 /// 503 indicates that the async search was completed with an error.
45191 /// </para>
46192 /// </summary>
47- [ JsonInclude , JsonPropertyName ( "completion_status" ) ]
48193 public int ? CompletionStatus { get ; init ; }
49194
50195 /// <summary>
@@ -53,21 +198,16 @@ public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
53198 /// when the search has completed.
54199 /// </para>
55200 /// </summary>
56- [ JsonInclude , JsonPropertyName ( "completion_time" ) ]
57201 public DateTimeOffset ? CompletionTime { get ; init ; }
58- [ JsonInclude , JsonPropertyName ( "completion_time_in_millis" ) ]
59202 public long ? CompletionTimeInMillis { get ; init ; }
60203
61204 /// <summary>
62205 /// <para>
63206 /// Indicates when the async search will expire.
64207 /// </para>
65208 /// </summary>
66- [ JsonInclude , JsonPropertyName ( "expiration_time" ) ]
67209 public DateTimeOffset ? ExpirationTime { get ; init ; }
68- [ JsonInclude , JsonPropertyName ( "expiration_time_in_millis" ) ]
69210 public long ExpirationTimeInMillis { get ; init ; }
70- [ JsonInclude , JsonPropertyName ( "id" ) ]
71211 public string ? Id { get ; init ; }
72212
73213 /// <summary>
@@ -76,7 +216,6 @@ public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
76216 /// While the query is running, <c>is_partial</c> is always set to <c>true</c>.
77217 /// </para>
78218 /// </summary>
79- [ JsonInclude , JsonPropertyName ( "is_partial" ) ]
80219 public bool IsPartial { get ; init ; }
81220
82221 /// <summary>
@@ -85,18 +224,14 @@ public sealed partial class AsyncSearchStatusResponse : ElasticsearchResponse
85224 /// NOTE: If the search failed after some shards returned their results or the node that is coordinating the async search dies, results may be partial even though <c>is_running</c> is <c>false</c>.
86225 /// </para>
87226 /// </summary>
88- [ JsonInclude , JsonPropertyName ( "is_running" ) ]
89227 public bool IsRunning { get ; init ; }
90228
91229 /// <summary>
92230 /// <para>
93231 /// Indicates how many shards have run the query so far.
94232 /// </para>
95233 /// </summary>
96- [ JsonInclude , JsonPropertyName ( "_shards" ) ]
97234 public Elastic . Clients . Elasticsearch . ShardStatistics Shards { get ; init ; }
98- [ JsonInclude , JsonPropertyName ( "start_time" ) ]
99235 public DateTimeOffset ? StartTime { get ; init ; }
100- [ JsonInclude , JsonPropertyName ( "start_time_in_millis" ) ]
101236 public long StartTimeInMillis { get ; init ; }
102237}
0 commit comments