From 7039bfd8e81f2bdc89bea02db335739e451288bf Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Tue, 27 Feb 2024 05:54:32 -0800 Subject: [PATCH] generated with codegen at box/box-codegen@d628ae6 and spec at box/box-openapi@b2f7568 --- Box.Sdk.Gen/Schemas/Event.cs | 2 +- ...urceOrFileOrFolderOrGenericSourceOrUser.cs | 53 ++++++++++++ .../EventSourceOrFileOrFolderOrUser.cs | 83 ------------------- 3 files changed, 54 insertions(+), 84 deletions(-) create mode 100644 Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrGenericSourceOrUser.cs delete mode 100644 Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrUser.cs diff --git a/Box.Sdk.Gen/Schemas/Event.cs b/Box.Sdk.Gen/Schemas/Event.cs index fe78b74e..f22db1f9 100644 --- a/Box.Sdk.Gen/Schemas/Event.cs +++ b/Box.Sdk.Gen/Schemas/Event.cs @@ -45,7 +45,7 @@ public class Event { public string? SessionId { get; set; } = default; [JsonPropertyName("source")] - public EventSourceOrFileOrFolderOrUser? Source { get; set; } = default; + public EventSourceOrFileOrFolderOrGenericSourceOrUser? Source { get; set; } = default; /// /// This object provides additional information about the event if available. diff --git a/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrGenericSourceOrUser.cs b/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrGenericSourceOrUser.cs new file mode 100644 index 00000000..3b9e4f95 --- /dev/null +++ b/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrGenericSourceOrUser.cs @@ -0,0 +1,53 @@ +using Unions; +using System.Text.Json.Serialization; +using System; +using System.Collections.ObjectModel; +using System.Collections.Generic; +using System.Text.Json; + +namespace Box.Sdk.Gen.Schemas { + [JsonConverter(typeof(EventSourceOrFileOrFolderOrGenericSourceOrUserConverter))] + public class EventSourceOrFileOrFolderOrGenericSourceOrUser : OneOf, User> { + public EventSource? EventSource => _val0; + + public File? File => _val1; + + public Folder? Folder => _val2; + + public Dictionary? GenericSource => _val3; + + public User? User => _val4; + + public EventSourceOrFileOrFolderOrGenericSourceOrUser(EventSource value) : base(value) {} + + public EventSourceOrFileOrFolderOrGenericSourceOrUser(File value) : base(value) {} + + public EventSourceOrFileOrFolderOrGenericSourceOrUser(Folder value) : base(value) {} + + public EventSourceOrFileOrFolderOrGenericSourceOrUser(Dictionary value) : base(value) {} + + public EventSourceOrFileOrFolderOrGenericSourceOrUser(User value) : base(value) {} + + public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(EventSource value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value); + + public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(File value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value); + + public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(Folder value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value); + + public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(Dictionary value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value); + + public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(User value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value); + + class EventSourceOrFileOrFolderOrGenericSourceOrUserConverter : JsonConverter { + public override EventSourceOrFileOrFolderOrGenericSourceOrUser Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + using var document = JsonDocument.ParseValue(ref reader); + throw new Exception($"Discriminant not found in json payload {document.RootElement} while try to converting to type {typeToConvert}"); + } + + public override void Write(Utf8JsonWriter writer, EventSourceOrFileOrFolderOrGenericSourceOrUser? value, JsonSerializerOptions options) { + } + + } + + } +} \ No newline at end of file diff --git a/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrUser.cs b/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrUser.cs deleted file mode 100644 index 49385510..00000000 --- a/Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrUser.cs +++ /dev/null @@ -1,83 +0,0 @@ -using Unions; -using System.Text.Json.Serialization; -using System; -using System.Collections.ObjectModel; -using System.Collections.Generic; -using System.Text.Json; - -namespace Box.Sdk.Gen.Schemas { - [JsonConverter(typeof(EventSourceOrFileOrFolderOrUserConverter))] - public class EventSourceOrFileOrFolderOrUser : OneOf { - public EventSource? EventSource => _val0; - - public File? File => _val1; - - public Folder? Folder => _val2; - - public User? User => _val3; - - public EventSourceOrFileOrFolderOrUser(EventSource value) : base(value) {} - - public EventSourceOrFileOrFolderOrUser(File value) : base(value) {} - - public EventSourceOrFileOrFolderOrUser(Folder value) : base(value) {} - - public EventSourceOrFileOrFolderOrUser(User value) : base(value) {} - - public static implicit operator EventSourceOrFileOrFolderOrUser(EventSource value) => new EventSourceOrFileOrFolderOrUser(value); - - public static implicit operator EventSourceOrFileOrFolderOrUser(File value) => new EventSourceOrFileOrFolderOrUser(value); - - public static implicit operator EventSourceOrFileOrFolderOrUser(Folder value) => new EventSourceOrFileOrFolderOrUser(value); - - public static implicit operator EventSourceOrFileOrFolderOrUser(User value) => new EventSourceOrFileOrFolderOrUser(value); - - class EventSourceOrFileOrFolderOrUserConverter : JsonConverter { - public override EventSourceOrFileOrFolderOrUser Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - using var document = JsonDocument.ParseValue(ref reader); - var discriminant0Present = document.RootElement.TryGetProperty("item_type", out var discriminant0); - if (discriminant0Present) { - switch (discriminant0.ToString()){ - case "file": - return JsonSerializer.Deserialize(document) ?? throw new Exception($"Could not deserialize {document} to EventSource"); - case "folder": - return JsonSerializer.Deserialize(document) ?? throw new Exception($"Could not deserialize {document} to EventSource"); - } - } - var discriminant1Present = document.RootElement.TryGetProperty("type", out var discriminant1); - if (discriminant1Present) { - switch (discriminant1.ToString()){ - case "file": - return JsonSerializer.Deserialize(document) ?? throw new Exception($"Could not deserialize {document} to File"); - case "folder": - return JsonSerializer.Deserialize(document) ?? throw new Exception($"Could not deserialize {document} to Folder"); - case "user": - return JsonSerializer.Deserialize(document) ?? throw new Exception($"Could not deserialize {document} to User"); - } - } - throw new Exception($"Discriminant not found in json payload {document.RootElement} while try to converting to type {typeToConvert}"); - } - - public override void Write(Utf8JsonWriter writer, EventSourceOrFileOrFolderOrUser? value, JsonSerializerOptions options) { - if (value?.EventSource != null) { - JsonSerializer.Serialize(writer, value.EventSource, options); - return; - } - if (value?.File != null) { - JsonSerializer.Serialize(writer, value.File, options); - return; - } - if (value?.Folder != null) { - JsonSerializer.Serialize(writer, value.Folder, options); - return; - } - if (value?.User != null) { - JsonSerializer.Serialize(writer, value.User, options); - return; - } - } - - } - - } -} \ No newline at end of file