Skip to content

Commit 95b25e3

Browse files
Fix (de-)serialization of Fields in custom converters (#8360) (#8363)
Co-authored-by: Florian Bernd <[email protected]>
1 parent f7c637e commit 95b25e3

File tree

10 files changed

+24
-18
lines changed

10 files changed

+24
-18
lines changed

Diff for: src/Elastic.Clients.Elasticsearch.Serverless/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ public override void Write(Utf8JsonWriter writer, SubmitAsyncSearchRequest value
606606
if (value.StoredFields is not null)
607607
{
608608
writer.WritePropertyName("stored_fields");
609-
JsonSerializer.Serialize(writer, value.StoredFields, options);
609+
new FieldsConverter().Write(writer, value.StoredFields, options);
610610
}
611611

612612
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch.Serverless/_Generated/Api/SearchRequest.g.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@ public override void Write(Utf8JsonWriter writer, SearchRequest value, JsonSeria
660660
if (value.StoredFields is not null)
661661
{
662662
writer.WritePropertyName("stored_fields");
663-
JsonSerializer.Serialize(writer, value.StoredFields, options);
663+
new FieldsConverter().Write(writer, value.StoredFields, options);
664664
}
665665

666666
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch.Serverless/_Generated/Types/Core/MSearch/MultisearchBody.g.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ public override MultisearchBody Read(ref Utf8JsonReader reader, Type typeToConve
185185

186186
if (property == "stored_fields")
187187
{
188-
variant.StoredFields = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Serverless.Fields?>(ref reader, options);
188+
reader.Read();
189+
variant.StoredFields = new FieldsConverter().Read(ref reader, typeToConvert, options);
189190
continue;
190191
}
191192

@@ -380,7 +381,7 @@ public override void Write(Utf8JsonWriter writer, MultisearchBody value, JsonSer
380381
if (value.StoredFields is not null)
381382
{
382383
writer.WritePropertyName("stored_fields");
383-
JsonSerializer.Serialize(writer, value.StoredFields, options);
384+
new FieldsConverter().Write(writer, value.StoredFields, options);
384385
}
385386

386387
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch.Serverless/_Generated/Types/Core/Search/SourceFilter.g.cs

+6-4
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,15 @@ public override SourceFilter Read(ref Utf8JsonReader reader, Type typeToConvert,
4141
var property = reader.GetString();
4242
if (property == "excludes" || property == "exclude")
4343
{
44-
variant.Excludes = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Serverless.Fields?>(ref reader, options);
44+
reader.Read();
45+
variant.Excludes = new FieldsConverter().Read(ref reader, typeToConvert, options);
4546
continue;
4647
}
4748

4849
if (property == "includes" || property == "include")
4950
{
50-
variant.Includes = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Serverless.Fields?>(ref reader, options);
51+
reader.Read();
52+
variant.Includes = new FieldsConverter().Read(ref reader, typeToConvert, options);
5153
continue;
5254
}
5355
}
@@ -62,13 +64,13 @@ public override void Write(Utf8JsonWriter writer, SourceFilter value, JsonSerial
6264
if (value.Excludes is not null)
6365
{
6466
writer.WritePropertyName("excludes");
65-
JsonSerializer.Serialize(writer, value.Excludes, options);
67+
new FieldsConverter().Write(writer, value.Excludes, options);
6668
}
6769

6870
if (value.Includes is not null)
6971
{
7072
writer.WritePropertyName("includes");
71-
JsonSerializer.Serialize(writer, value.Includes, options);
73+
new FieldsConverter().Write(writer, value.Includes, options);
7274
}
7375

7476
writer.WriteEndObject();

Diff for: src/Elastic.Clients.Elasticsearch.Shared/Core/Infer/Field/Field.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ namespace Elastic.Clients.Elasticsearch;
2020
#endif
2121

2222
[JsonConverter(typeof(FieldConverter))]
23-
[DebuggerDisplay($"{nameof(DebuggerDisplay)},nq")]
23+
[DebuggerDisplay($"{{{nameof(DebuggerDisplay)},nq}}")]
2424
public sealed class Field :
2525
IEquatable<Field>,
2626
IUrlParameter

Diff for: src/Elastic.Clients.Elasticsearch.Shared/Core/Infer/Fields/Fields.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace Elastic.Clients.Elasticsearch.Serverless;
1818
namespace Elastic.Clients.Elasticsearch;
1919
#endif
2020

21-
[DebuggerDisplay($"{nameof(DebuggerDisplay)},nq")]
21+
[DebuggerDisplay($"{{{nameof(DebuggerDisplay)},nq}}")]
2222
public sealed class Fields :
2323
IEquatable<Fields>,
2424
IEnumerable<Field>,

Diff for: src/Elastic.Clients.Elasticsearch/_Generated/Api/AsyncSearch/SubmitAsyncSearchRequest.g.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ public override void Write(Utf8JsonWriter writer, SubmitAsyncSearchRequest value
606606
if (value.StoredFields is not null)
607607
{
608608
writer.WritePropertyName("stored_fields");
609-
JsonSerializer.Serialize(writer, value.StoredFields, options);
609+
new FieldsConverter().Write(writer, value.StoredFields, options);
610610
}
611611

612612
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch/_Generated/Api/SearchRequest.g.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ public override void Write(Utf8JsonWriter writer, SearchRequest value, JsonSeria
669669
if (value.StoredFields is not null)
670670
{
671671
writer.WritePropertyName("stored_fields");
672-
JsonSerializer.Serialize(writer, value.StoredFields, options);
672+
new FieldsConverter().Write(writer, value.StoredFields, options);
673673
}
674674

675675
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/MSearch/MultisearchBody.g.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ public override MultisearchBody Read(ref Utf8JsonReader reader, Type typeToConve
185185

186186
if (property == "stored_fields")
187187
{
188-
variant.StoredFields = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Fields?>(ref reader, options);
188+
reader.Read();
189+
variant.StoredFields = new FieldsConverter().Read(ref reader, typeToConvert, options);
189190
continue;
190191
}
191192

@@ -380,7 +381,7 @@ public override void Write(Utf8JsonWriter writer, MultisearchBody value, JsonSer
380381
if (value.StoredFields is not null)
381382
{
382383
writer.WritePropertyName("stored_fields");
383-
JsonSerializer.Serialize(writer, value.StoredFields, options);
384+
new FieldsConverter().Write(writer, value.StoredFields, options);
384385
}
385386

386387
if (value.Suggest is not null)

Diff for: src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SourceFilter.g.cs

+6-4
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,15 @@ public override SourceFilter Read(ref Utf8JsonReader reader, Type typeToConvert,
4141
var property = reader.GetString();
4242
if (property == "excludes" || property == "exclude")
4343
{
44-
variant.Excludes = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Fields?>(ref reader, options);
44+
reader.Read();
45+
variant.Excludes = new FieldsConverter().Read(ref reader, typeToConvert, options);
4546
continue;
4647
}
4748

4849
if (property == "includes" || property == "include")
4950
{
50-
variant.Includes = JsonSerializer.Deserialize<Elastic.Clients.Elasticsearch.Fields?>(ref reader, options);
51+
reader.Read();
52+
variant.Includes = new FieldsConverter().Read(ref reader, typeToConvert, options);
5153
continue;
5254
}
5355
}
@@ -62,13 +64,13 @@ public override void Write(Utf8JsonWriter writer, SourceFilter value, JsonSerial
6264
if (value.Excludes is not null)
6365
{
6466
writer.WritePropertyName("excludes");
65-
JsonSerializer.Serialize(writer, value.Excludes, options);
67+
new FieldsConverter().Write(writer, value.Excludes, options);
6668
}
6769

6870
if (value.Includes is not null)
6971
{
7072
writer.WritePropertyName("includes");
71-
JsonSerializer.Serialize(writer, value.Includes, options);
73+
new FieldsConverter().Write(writer, value.Includes, options);
7274
}
7375

7476
writer.WriteEndObject();

0 commit comments

Comments
 (0)