@@ -137,15 +137,15 @@ async Task IStreamSerializable.SerializeAsync(Stream stream, IElasticsearchClien
137
137
/// <summary>
138
138
/// <para>Runs multiple templated searches with a single request.</para>
139
139
/// </summary>
140
- public sealed partial class MultiSearchTemplateRequestDescriptor < TDocument > : RequestDescriptor < MultiSearchTemplateRequestDescriptor < TDocument > , MultiSearchTemplateRequestParameters >
140
+ public sealed partial class MultiSearchTemplateRequestDescriptor < TDocument > : RequestDescriptor < MultiSearchTemplateRequestDescriptor < TDocument > , MultiSearchTemplateRequestParameters > , IStreamSerializable
141
141
{
142
142
internal MultiSearchTemplateRequestDescriptor ( Action < MultiSearchTemplateRequestDescriptor < TDocument > > configure ) => configure . Invoke ( this ) ;
143
143
144
144
public MultiSearchTemplateRequestDescriptor ( Elastic . Clients . Elasticsearch . Serverless . Indices ? indices ) : base ( r => r . Optional ( "index" , indices ) )
145
145
{
146
146
}
147
147
148
- public MultiSearchTemplateRequestDescriptor ( ) : this ( typeof ( TDocument ) )
148
+ public MultiSearchTemplateRequestDescriptor ( )
149
149
{
150
150
}
151
151
@@ -175,6 +175,28 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
175
175
176
176
List < Elastic . Clients . Elasticsearch . Serverless . Core . MSearchTemplate . SearchTemplateRequestItem > _items = new ( ) ;
177
177
178
+ void IStreamSerializable . Serialize ( Stream stream , IElasticsearchClientSettings settings , SerializationFormatting formatting )
179
+ {
180
+ if ( _items is null )
181
+ return ;
182
+ foreach ( var item in _items )
183
+ {
184
+ if ( item is IStreamSerializable serializable )
185
+ serializable . Serialize ( stream , settings , formatting ) ;
186
+ }
187
+ }
188
+
189
+ async Task IStreamSerializable . SerializeAsync ( Stream stream , IElasticsearchClientSettings settings , SerializationFormatting formatting )
190
+ {
191
+ if ( _items is null )
192
+ return ;
193
+ foreach ( var item in _items )
194
+ {
195
+ if ( item is IStreamSerializable serializable )
196
+ await serializable . SerializeAsync ( stream , settings , formatting ) . ConfigureAwait ( false ) ;
197
+ }
198
+ }
199
+
178
200
public MultiSearchTemplateRequestDescriptor < TDocument > AddSearchTemplates ( Elastic . Clients . Elasticsearch . Serverless . Core . MSearchTemplate . SearchTemplateRequestItem searchTemplates )
179
201
{
180
202
_items . Add ( searchTemplates ) ;
@@ -185,7 +207,7 @@ public MultiSearchTemplateRequestDescriptor<TDocument> AddSearchTemplates(Elasti
185
207
/// <summary>
186
208
/// <para>Runs multiple templated searches with a single request.</para>
187
209
/// </summary>
188
- public sealed partial class MultiSearchTemplateRequestDescriptor : RequestDescriptor < MultiSearchTemplateRequestDescriptor , MultiSearchTemplateRequestParameters >
210
+ public sealed partial class MultiSearchTemplateRequestDescriptor : RequestDescriptor < MultiSearchTemplateRequestDescriptor , MultiSearchTemplateRequestParameters > , IStreamSerializable
189
211
{
190
212
internal MultiSearchTemplateRequestDescriptor ( Action < MultiSearchTemplateRequestDescriptor > configure ) => configure . Invoke ( this ) ;
191
213
@@ -223,6 +245,28 @@ protected override void Serialize(Utf8JsonWriter writer, JsonSerializerOptions o
223
245
224
246
List < Elastic . Clients . Elasticsearch . Serverless . Core . MSearchTemplate . SearchTemplateRequestItem > _items = new ( ) ;
225
247
248
+ void IStreamSerializable . Serialize ( Stream stream , IElasticsearchClientSettings settings , SerializationFormatting formatting )
249
+ {
250
+ if ( _items is null )
251
+ return ;
252
+ foreach ( var item in _items )
253
+ {
254
+ if ( item is IStreamSerializable serializable )
255
+ serializable . Serialize ( stream , settings , formatting ) ;
256
+ }
257
+ }
258
+
259
+ async Task IStreamSerializable . SerializeAsync ( Stream stream , IElasticsearchClientSettings settings , SerializationFormatting formatting )
260
+ {
261
+ if ( _items is null )
262
+ return ;
263
+ foreach ( var item in _items )
264
+ {
265
+ if ( item is IStreamSerializable serializable )
266
+ await serializable . SerializeAsync ( stream , settings , formatting ) . ConfigureAwait ( false ) ;
267
+ }
268
+ }
269
+
226
270
public MultiSearchTemplateRequestDescriptor AddSearchTemplates ( Elastic . Clients . Elasticsearch . Serverless . Core . MSearchTemplate . SearchTemplateRequestItem searchTemplates )
227
271
{
228
272
_items . Add ( searchTemplates ) ;
0 commit comments