openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
achandmsft-patch-2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/Generated/Models/Batch/InternalBatchJob.Serialization.cs

440lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
8b34d7c1Christopher Scott1 years ago6using System.ClientModel;
9f9f2936Jose Arriaga Maldonado2 years ago7using System.ClientModel.Primitives;
8using System.Collections.Generic;
9using System.Text.Json;
e0fee603Jose Arriaga Maldonado1 years ago10using OpenAI;
9f9f2936Jose Arriaga Maldonado2 years ago11
12namespace OpenAI.Batch
13{
14internal partial class InternalBatchJob : IJsonModel<InternalBatchJob>
15{
5dce104aJose Arriaga Maldonado1 years ago16internal InternalBatchJob() : this(null, null, null, null, null, null, default, null, null, default, default, default, default, default, default, default, default, default, null, null, null)
e0fee603Jose Arriaga Maldonado1 years ago17{
18}
19
9f9f2936Jose Arriaga Maldonado2 years ago20void IJsonModel<InternalBatchJob>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
21{
e0fee603Jose Arriaga Maldonado1 years ago22writer.WriteStartObject();
23JsonModelWriteCore(writer, options);
24writer.WriteEndObject();
25}
26
27protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
28{
29string format = options.Format == "W" ? ((IPersistableModel<InternalBatchJob>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago30if (format != "J")
31{
32throw new FormatException($"The model {nameof(InternalBatchJob)} does not support writing '{format}' format.");
33}
e0fee603Jose Arriaga Maldonado1 years ago34if (_additionalBinaryDataProperties?.ContainsKey("id") != true)
19fc7d54Jose Arriaga Maldonado2 years ago35{
36writer.WritePropertyName("id"u8);
37writer.WriteStringValue(Id);
38}
e0fee603Jose Arriaga Maldonado1 years ago39if (_additionalBinaryDataProperties?.ContainsKey("object") != true)
19fc7d54Jose Arriaga Maldonado2 years ago40{
41writer.WritePropertyName("object"u8);
5dce104aJose Arriaga Maldonado1 years ago42writer.WriteStringValue(Object);
19fc7d54Jose Arriaga Maldonado2 years ago43}
e0fee603Jose Arriaga Maldonado1 years ago44if (_additionalBinaryDataProperties?.ContainsKey("endpoint") != true)
19fc7d54Jose Arriaga Maldonado2 years ago45{
46writer.WritePropertyName("endpoint"u8);
47writer.WriteStringValue(Endpoint);
48}
e0fee603Jose Arriaga Maldonado1 years ago49if (Optional.IsDefined(Errors) && _additionalBinaryDataProperties?.ContainsKey("errors") != true)
9f9f2936Jose Arriaga Maldonado2 years ago50{
51writer.WritePropertyName("errors"u8);
52writer.WriteObjectValue(Errors, options);
53}
e0fee603Jose Arriaga Maldonado1 years ago54if (_additionalBinaryDataProperties?.ContainsKey("input_file_id") != true)
19fc7d54Jose Arriaga Maldonado2 years ago55{
56writer.WritePropertyName("input_file_id"u8);
57writer.WriteStringValue(InputFileId);
58}
e0fee603Jose Arriaga Maldonado1 years ago59if (_additionalBinaryDataProperties?.ContainsKey("completion_window") != true)
19fc7d54Jose Arriaga Maldonado2 years ago60{
61writer.WritePropertyName("completion_window"u8);
62writer.WriteStringValue(CompletionWindow);
63}
e0fee603Jose Arriaga Maldonado1 years ago64if (_additionalBinaryDataProperties?.ContainsKey("status") != true)
19fc7d54Jose Arriaga Maldonado2 years ago65{
66writer.WritePropertyName("status"u8);
67writer.WriteStringValue(Status.ToString());
68}
e0fee603Jose Arriaga Maldonado1 years ago69if (Optional.IsDefined(OutputFileId) && _additionalBinaryDataProperties?.ContainsKey("output_file_id") != true)
9f9f2936Jose Arriaga Maldonado2 years ago70{
71writer.WritePropertyName("output_file_id"u8);
72writer.WriteStringValue(OutputFileId);
73}
e0fee603Jose Arriaga Maldonado1 years ago74if (Optional.IsDefined(ErrorFileId) && _additionalBinaryDataProperties?.ContainsKey("error_file_id") != true)
9f9f2936Jose Arriaga Maldonado2 years ago75{
76writer.WritePropertyName("error_file_id"u8);
77writer.WriteStringValue(ErrorFileId);
78}
e0fee603Jose Arriaga Maldonado1 years ago79if (_additionalBinaryDataProperties?.ContainsKey("created_at") != true)
19fc7d54Jose Arriaga Maldonado2 years ago80{
81writer.WritePropertyName("created_at"u8);
82writer.WriteNumberValue(CreatedAt, "U");
83}
e0fee603Jose Arriaga Maldonado1 years ago84if (Optional.IsDefined(InProgressAt) && _additionalBinaryDataProperties?.ContainsKey("in_progress_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago85{
86writer.WritePropertyName("in_progress_at"u8);
87writer.WriteNumberValue(InProgressAt.Value, "U");
88}
e0fee603Jose Arriaga Maldonado1 years ago89if (Optional.IsDefined(ExpiresAt) && _additionalBinaryDataProperties?.ContainsKey("expires_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago90{
91writer.WritePropertyName("expires_at"u8);
92writer.WriteNumberValue(ExpiresAt.Value, "U");
93}
e0fee603Jose Arriaga Maldonado1 years ago94if (Optional.IsDefined(FinalizingAt) && _additionalBinaryDataProperties?.ContainsKey("finalizing_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago95{
96writer.WritePropertyName("finalizing_at"u8);
97writer.WriteNumberValue(FinalizingAt.Value, "U");
98}
e0fee603Jose Arriaga Maldonado1 years ago99if (Optional.IsDefined(CompletedAt) && _additionalBinaryDataProperties?.ContainsKey("completed_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago100{
101writer.WritePropertyName("completed_at"u8);
102writer.WriteNumberValue(CompletedAt.Value, "U");
103}
e0fee603Jose Arriaga Maldonado1 years ago104if (Optional.IsDefined(FailedAt) && _additionalBinaryDataProperties?.ContainsKey("failed_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago105{
106writer.WritePropertyName("failed_at"u8);
107writer.WriteNumberValue(FailedAt.Value, "U");
108}
e0fee603Jose Arriaga Maldonado1 years ago109if (Optional.IsDefined(ExpiredAt) && _additionalBinaryDataProperties?.ContainsKey("expired_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago110{
111writer.WritePropertyName("expired_at"u8);
112writer.WriteNumberValue(ExpiredAt.Value, "U");
113}
e0fee603Jose Arriaga Maldonado1 years ago114if (Optional.IsDefined(CancellingAt) && _additionalBinaryDataProperties?.ContainsKey("cancelling_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago115{
116writer.WritePropertyName("cancelling_at"u8);
117writer.WriteNumberValue(CancellingAt.Value, "U");
118}
e0fee603Jose Arriaga Maldonado1 years ago119if (Optional.IsDefined(CancelledAt) && _additionalBinaryDataProperties?.ContainsKey("cancelled_at") != true)
9f9f2936Jose Arriaga Maldonado2 years ago120{
121writer.WritePropertyName("cancelled_at"u8);
122writer.WriteNumberValue(CancelledAt.Value, "U");
123}
e0fee603Jose Arriaga Maldonado1 years ago124if (Optional.IsDefined(RequestCounts) && _additionalBinaryDataProperties?.ContainsKey("request_counts") != true)
9f9f2936Jose Arriaga Maldonado2 years ago125{
126writer.WritePropertyName("request_counts"u8);
127writer.WriteObjectValue(RequestCounts, options);
128}
0e0c460cJose Arriaga Maldonado1 years ago129if (_additionalBinaryDataProperties?.ContainsKey("metadata") != true)
9f9f2936Jose Arriaga Maldonado2 years ago130{
0ca4c062Jose Arriaga Maldonado1 years ago131if (Optional.IsCollectionDefined(Metadata))
9f9f2936Jose Arriaga Maldonado2 years ago132{
133writer.WritePropertyName("metadata"u8);
134writer.WriteStartObject();
135foreach (var item in Metadata)
136{
137writer.WritePropertyName(item.Key);
e0fee603Jose Arriaga Maldonado1 years ago138if (item.Value == null)
139{
140writer.WriteNullValue();
141continue;
142}
9f9f2936Jose Arriaga Maldonado2 years ago143writer.WriteStringValue(item.Value);
144}
145writer.WriteEndObject();
146}
147else
148{
e0fee603Jose Arriaga Maldonado1 years ago149writer.WriteNull("metadata"u8);
9f9f2936Jose Arriaga Maldonado2 years ago150}
151}
5dce104aJose Arriaga Maldonado1 years ago152// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago153if (_additionalBinaryDataProperties != null)
9f9f2936Jose Arriaga Maldonado2 years ago154{
e0fee603Jose Arriaga Maldonado1 years ago155foreach (var item in _additionalBinaryDataProperties)
9f9f2936Jose Arriaga Maldonado2 years ago156{
19fc7d54Jose Arriaga Maldonado2 years ago157if (ModelSerializationExtensions.IsSentinelValue(item.Value))
158{
159continue;
160}
9f9f2936Jose Arriaga Maldonado2 years ago161writer.WritePropertyName(item.Key);
162#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago163writer.WriteRawValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago164#else
165using (JsonDocument document = JsonDocument.Parse(item.Value))
166{
167JsonSerializer.Serialize(writer, document.RootElement);
168}
169#endif
170}
171}
172}
173
e0fee603Jose Arriaga Maldonado1 years ago174InternalBatchJob IJsonModel<InternalBatchJob>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
175
176protected virtual InternalBatchJob JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago177{
e0fee603Jose Arriaga Maldonado1 years ago178string format = options.Format == "W" ? ((IPersistableModel<InternalBatchJob>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago179if (format != "J")
180{
181throw new FormatException($"The model {nameof(InternalBatchJob)} does not support reading '{format}' format.");
182}
183using JsonDocument document = JsonDocument.ParseValue(ref reader);
184return DeserializeInternalBatchJob(document.RootElement, options);
185}
186
e0fee603Jose Arriaga Maldonado1 years ago187internal static InternalBatchJob DeserializeInternalBatchJob(JsonElement element, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago188{
189if (element.ValueKind == JsonValueKind.Null)
190{
191return null;
192}
193string id = default;
5dce104aJose Arriaga Maldonado1 years ago194string @object = default;
9f9f2936Jose Arriaga Maldonado2 years ago195string endpoint = default;
196InternalBatchErrors errors = default;
197string inputFileId = default;
198string completionWindow = default;
0c0bc808Jose Arriaga Maldonado2 years ago199InternalBatchStatus status = default;
9f9f2936Jose Arriaga Maldonado2 years ago200string outputFileId = default;
201string errorFileId = default;
202DateTimeOffset createdAt = default;
203DateTimeOffset? inProgressAt = default;
204DateTimeOffset? expiresAt = default;
205DateTimeOffset? finalizingAt = default;
206DateTimeOffset? completedAt = default;
207DateTimeOffset? failedAt = default;
208DateTimeOffset? expiredAt = default;
209DateTimeOffset? cancellingAt = default;
210DateTimeOffset? cancelledAt = default;
211InternalBatchRequestCounts requestCounts = default;
e0fee603Jose Arriaga Maldonado1 years ago212IDictionary<string, string> metadata = default;
213IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
214foreach (var prop in element.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago215{
e0fee603Jose Arriaga Maldonado1 years ago216if (prop.NameEquals("id"u8))
9f9f2936Jose Arriaga Maldonado2 years ago217{
e0fee603Jose Arriaga Maldonado1 years ago218id = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago219continue;
220}
e0fee603Jose Arriaga Maldonado1 years ago221if (prop.NameEquals("object"u8))
9f9f2936Jose Arriaga Maldonado2 years ago222{
5dce104aJose Arriaga Maldonado1 years ago223@object = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago224continue;
225}
e0fee603Jose Arriaga Maldonado1 years ago226if (prop.NameEquals("endpoint"u8))
9f9f2936Jose Arriaga Maldonado2 years ago227{
e0fee603Jose Arriaga Maldonado1 years ago228endpoint = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago229continue;
230}
e0fee603Jose Arriaga Maldonado1 years ago231if (prop.NameEquals("errors"u8))
9f9f2936Jose Arriaga Maldonado2 years ago232{
e0fee603Jose Arriaga Maldonado1 years ago233if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago234{
235continue;
236}
e0fee603Jose Arriaga Maldonado1 years ago237errors = InternalBatchErrors.DeserializeInternalBatchErrors(prop.Value, options);
9f9f2936Jose Arriaga Maldonado2 years ago238continue;
239}
e0fee603Jose Arriaga Maldonado1 years ago240if (prop.NameEquals("input_file_id"u8))
9f9f2936Jose Arriaga Maldonado2 years ago241{
e0fee603Jose Arriaga Maldonado1 years ago242inputFileId = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago243continue;
244}
e0fee603Jose Arriaga Maldonado1 years ago245if (prop.NameEquals("completion_window"u8))
9f9f2936Jose Arriaga Maldonado2 years ago246{
e0fee603Jose Arriaga Maldonado1 years ago247completionWindow = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago248continue;
249}
e0fee603Jose Arriaga Maldonado1 years ago250if (prop.NameEquals("status"u8))
9f9f2936Jose Arriaga Maldonado2 years ago251{
e0fee603Jose Arriaga Maldonado1 years ago252status = new InternalBatchStatus(prop.Value.GetString());
9f9f2936Jose Arriaga Maldonado2 years ago253continue;
254}
e0fee603Jose Arriaga Maldonado1 years ago255if (prop.NameEquals("output_file_id"u8))
9f9f2936Jose Arriaga Maldonado2 years ago256{
e0fee603Jose Arriaga Maldonado1 years ago257outputFileId = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago258continue;
259}
e0fee603Jose Arriaga Maldonado1 years ago260if (prop.NameEquals("error_file_id"u8))
9f9f2936Jose Arriaga Maldonado2 years ago261{
e0fee603Jose Arriaga Maldonado1 years ago262errorFileId = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago263continue;
264}
e0fee603Jose Arriaga Maldonado1 years ago265if (prop.NameEquals("created_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago266{
e0fee603Jose Arriaga Maldonado1 years ago267createdAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago268continue;
269}
e0fee603Jose Arriaga Maldonado1 years ago270if (prop.NameEquals("in_progress_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago271{
e0fee603Jose Arriaga Maldonado1 years ago272if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago273{
274continue;
275}
e0fee603Jose Arriaga Maldonado1 years ago276inProgressAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago277continue;
278}
e0fee603Jose Arriaga Maldonado1 years ago279if (prop.NameEquals("expires_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago280{
e0fee603Jose Arriaga Maldonado1 years ago281if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago282{
283continue;
284}
e0fee603Jose Arriaga Maldonado1 years ago285expiresAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago286continue;
287}
e0fee603Jose Arriaga Maldonado1 years ago288if (prop.NameEquals("finalizing_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago289{
e0fee603Jose Arriaga Maldonado1 years ago290if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago291{
292continue;
293}
e0fee603Jose Arriaga Maldonado1 years ago294finalizingAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago295continue;
296}
e0fee603Jose Arriaga Maldonado1 years ago297if (prop.NameEquals("completed_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago298{
e0fee603Jose Arriaga Maldonado1 years ago299if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago300{
301continue;
302}
e0fee603Jose Arriaga Maldonado1 years ago303completedAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago304continue;
305}
e0fee603Jose Arriaga Maldonado1 years ago306if (prop.NameEquals("failed_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago307{
e0fee603Jose Arriaga Maldonado1 years ago308if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago309{
310continue;
311}
e0fee603Jose Arriaga Maldonado1 years ago312failedAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago313continue;
314}
e0fee603Jose Arriaga Maldonado1 years ago315if (prop.NameEquals("expired_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago316{
e0fee603Jose Arriaga Maldonado1 years ago317if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago318{
319continue;
320}
e0fee603Jose Arriaga Maldonado1 years ago321expiredAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago322continue;
323}
e0fee603Jose Arriaga Maldonado1 years ago324if (prop.NameEquals("cancelling_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago325{
e0fee603Jose Arriaga Maldonado1 years ago326if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago327{
328continue;
329}
e0fee603Jose Arriaga Maldonado1 years ago330cancellingAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago331continue;
332}
e0fee603Jose Arriaga Maldonado1 years ago333if (prop.NameEquals("cancelled_at"u8))
9f9f2936Jose Arriaga Maldonado2 years ago334{
e0fee603Jose Arriaga Maldonado1 years ago335if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago336{
337continue;
338}
e0fee603Jose Arriaga Maldonado1 years ago339cancelledAt = DateTimeOffset.FromUnixTimeSeconds(prop.Value.GetInt64());
9f9f2936Jose Arriaga Maldonado2 years ago340continue;
341}
e0fee603Jose Arriaga Maldonado1 years ago342if (prop.NameEquals("request_counts"u8))
9f9f2936Jose Arriaga Maldonado2 years ago343{
e0fee603Jose Arriaga Maldonado1 years ago344if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago345{
346continue;
347}
e0fee603Jose Arriaga Maldonado1 years ago348requestCounts = InternalBatchRequestCounts.DeserializeInternalBatchRequestCounts(prop.Value, options);
9f9f2936Jose Arriaga Maldonado2 years ago349continue;
350}
e0fee603Jose Arriaga Maldonado1 years ago351if (prop.NameEquals("metadata"u8))
9f9f2936Jose Arriaga Maldonado2 years ago352{
e0fee603Jose Arriaga Maldonado1 years ago353if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago354{
0e0c460cJose Arriaga Maldonado1 years ago355metadata = new ChangeTrackingDictionary<string, string>();
9f9f2936Jose Arriaga Maldonado2 years ago356continue;
357}
358Dictionary<string, string> dictionary = new Dictionary<string, string>();
e0fee603Jose Arriaga Maldonado1 years ago359foreach (var prop0 in prop.Value.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago360{
e0fee603Jose Arriaga Maldonado1 years ago361if (prop0.Value.ValueKind == JsonValueKind.Null)
362{
363dictionary.Add(prop0.Name, null);
364}
365else
366{
367dictionary.Add(prop0.Name, prop0.Value.GetString());
368}
9f9f2936Jose Arriaga Maldonado2 years ago369}
370metadata = dictionary;
371continue;
372}
5dce104aJose Arriaga Maldonado1 years ago373// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago374additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago375}
376return new InternalBatchJob(
377id,
378@object,
379endpoint,
380errors,
381inputFileId,
382completionWindow,
383status,
384outputFileId,
385errorFileId,
386createdAt,
387inProgressAt,
388expiresAt,
389finalizingAt,
390completedAt,
391failedAt,
392expiredAt,
393cancellingAt,
394cancelledAt,
395requestCounts,
0e0c460cJose Arriaga Maldonado1 years ago396metadata,
e0fee603Jose Arriaga Maldonado1 years ago397additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago398}
399
e0fee603Jose Arriaga Maldonado1 years ago400BinaryData IPersistableModel<InternalBatchJob>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago401
e0fee603Jose Arriaga Maldonado1 years ago402protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
403{
404string format = options.Format == "W" ? ((IPersistableModel<InternalBatchJob>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago405switch (format)
406{
407case "J":
5dce104aJose Arriaga Maldonado1 years ago408return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
9f9f2936Jose Arriaga Maldonado2 years ago409default:
410throw new FormatException($"The model {nameof(InternalBatchJob)} does not support writing '{options.Format}' format.");
411}
412}
413
e0fee603Jose Arriaga Maldonado1 years ago414InternalBatchJob IPersistableModel<InternalBatchJob>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago415
e0fee603Jose Arriaga Maldonado1 years ago416protected virtual InternalBatchJob PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
417{
418string format = options.Format == "W" ? ((IPersistableModel<InternalBatchJob>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago419switch (format)
420{
421case "J":
e0fee603Jose Arriaga Maldonado1 years ago422using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago423{
424return DeserializeInternalBatchJob(document.RootElement, options);
425}
426default:
427throw new FormatException($"The model {nameof(InternalBatchJob)} does not support reading '{options.Format}' format.");
428}
429}
430
431string IPersistableModel<InternalBatchJob>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
8b34d7c1Christopher Scott1 years ago432
433public static explicit operator InternalBatchJob(ClientResult result)
434{
435using PipelineResponse response = result.GetRawResponse();
436using JsonDocument document = JsonDocument.Parse(response.Content);
437return DeserializeInternalBatchJob(document.RootElement, ModelSerializationExtensions.WireOptions);
438}
9f9f2936Jose Arriaga Maldonado2 years ago439}
440}