|
6 | 6 | using Box.Sdk.Gen.Internal;
|
7 | 7 |
|
8 | 8 | namespace Box.Sdk.Gen.Schemas {
|
9 |
| - [JsonConverter(typeof(AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAiConverter))] |
10 |
| - public class AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi : OneOf<AiLlmEndpointParamsAws, AiLlmEndpointParamsGoogle, AiLlmEndpointParamsOpenAi> { |
11 |
| - public AiLlmEndpointParamsAws? AiLlmEndpointParamsAws => _val0; |
| 9 | + [JsonConverter(typeof(AiLlmEndpointParamsConverter))] |
| 10 | + public class AiLlmEndpointParams : OneOf<AiLlmEndpointParamsOpenAi, AiLlmEndpointParamsGoogle, AiLlmEndpointParamsAws, AiLlmEndpointParamsIbm> { |
| 11 | + public AiLlmEndpointParamsOpenAi? AiLlmEndpointParamsOpenAi => _val0; |
12 | 12 |
|
13 | 13 | public AiLlmEndpointParamsGoogle? AiLlmEndpointParamsGoogle => _val1;
|
14 | 14 |
|
15 |
| - public AiLlmEndpointParamsOpenAi? AiLlmEndpointParamsOpenAi => _val2; |
| 15 | + public AiLlmEndpointParamsAws? AiLlmEndpointParamsAws => _val2; |
16 | 16 |
|
17 |
| - public AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsAws value) : base(value) {} |
| 17 | + public AiLlmEndpointParamsIbm? AiLlmEndpointParamsIbm => _val3; |
18 | 18 |
|
19 |
| - public AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsGoogle value) : base(value) {} |
| 19 | + public AiLlmEndpointParams(AiLlmEndpointParamsOpenAi value) : base(value) {} |
20 | 20 |
|
21 |
| - public AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsOpenAi value) : base(value) {} |
| 21 | + public AiLlmEndpointParams(AiLlmEndpointParamsGoogle value) : base(value) {} |
22 | 22 |
|
23 |
| - public static implicit operator AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsAws value) => new AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(value); |
| 23 | + public AiLlmEndpointParams(AiLlmEndpointParamsAws value) : base(value) {} |
24 | 24 |
|
25 |
| - public static implicit operator AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsGoogle value) => new AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(value); |
| 25 | + public AiLlmEndpointParams(AiLlmEndpointParamsIbm value) : base(value) {} |
26 | 26 |
|
27 |
| - public static implicit operator AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(AiLlmEndpointParamsOpenAi value) => new AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi(value); |
| 27 | + public static implicit operator AiLlmEndpointParams(AiLlmEndpointParamsOpenAi value) => new AiLlmEndpointParams(value); |
28 | 28 |
|
29 |
| - class AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAiConverter : JsonConverter<AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi> { |
30 |
| - public override AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { |
| 29 | + public static implicit operator AiLlmEndpointParams(AiLlmEndpointParamsGoogle value) => new AiLlmEndpointParams(value); |
| 30 | + |
| 31 | + public static implicit operator AiLlmEndpointParams(AiLlmEndpointParamsAws value) => new AiLlmEndpointParams(value); |
| 32 | + |
| 33 | + public static implicit operator AiLlmEndpointParams(AiLlmEndpointParamsIbm value) => new AiLlmEndpointParams(value); |
| 34 | + |
| 35 | + class AiLlmEndpointParamsConverter : JsonConverter<AiLlmEndpointParams> { |
| 36 | + public override AiLlmEndpointParams Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { |
31 | 37 | using var document = JsonDocument.ParseValue(ref reader);
|
32 | 38 | var discriminant0Present = document.RootElement.TryGetProperty("type", out var discriminant0);
|
33 | 39 | if (discriminant0Present) {
|
34 | 40 | switch (discriminant0.ToString()){
|
35 |
| - case "aws_params": |
36 |
| - return JsonSerializer.Deserialize<AiLlmEndpointParamsAws>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsAws"); |
37 |
| - case "google_params": |
38 |
| - return JsonSerializer.Deserialize<AiLlmEndpointParamsGoogle>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsGoogle"); |
39 | 41 | case "openai_params":
|
40 | 42 | return JsonSerializer.Deserialize<AiLlmEndpointParamsOpenAi>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsOpenAi");
|
| 43 | + case "google_params": |
| 44 | + return JsonSerializer.Deserialize<AiLlmEndpointParamsGoogle>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsGoogle"); |
| 45 | + case "aws_params": |
| 46 | + return JsonSerializer.Deserialize<AiLlmEndpointParamsAws>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsAws"); |
| 47 | + case "ibm_params": |
| 48 | + return JsonSerializer.Deserialize<AiLlmEndpointParamsIbm>(document) ?? throw new Exception($"Could not deserialize {document} to AiLlmEndpointParamsIbm"); |
41 | 49 | }
|
42 | 50 | }
|
43 | 51 | throw new Exception($"Discriminant not found in json payload {document.RootElement} while try to converting to type {typeToConvert}");
|
44 | 52 | }
|
45 | 53 |
|
46 |
| - public override void Write(Utf8JsonWriter writer, AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi? value, JsonSerializerOptions options) { |
47 |
| - if (value?.AiLlmEndpointParamsAws != null) { |
48 |
| - JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsAws, options); |
| 54 | + public override void Write(Utf8JsonWriter writer, AiLlmEndpointParams? value, JsonSerializerOptions options) { |
| 55 | + if (value?.AiLlmEndpointParamsOpenAi != null) { |
| 56 | + JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsOpenAi, options); |
49 | 57 | return;
|
50 | 58 | }
|
51 | 59 | if (value?.AiLlmEndpointParamsGoogle != null) {
|
52 | 60 | JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsGoogle, options);
|
53 | 61 | return;
|
54 | 62 | }
|
55 |
| - if (value?.AiLlmEndpointParamsOpenAi != null) { |
56 |
| - JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsOpenAi, options); |
| 63 | + if (value?.AiLlmEndpointParamsAws != null) { |
| 64 | + JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsAws, options); |
| 65 | + return; |
| 66 | + } |
| 67 | + if (value?.AiLlmEndpointParamsIbm != null) { |
| 68 | + JsonSerializer.Serialize(writer, value.AiLlmEndpointParamsIbm, options); |
57 | 69 | return;
|
58 | 70 | }
|
59 | 71 | }
|
|
0 commit comments