Skip to content

Commit

Permalink
feat: add a Generic Event Resource
Browse files Browse the repository at this point in the history
  • Loading branch information
arjankowski authored Feb 27, 2024
2 parents 3fc8385 + 7039bfd commit ea4224b
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 84 deletions.
2 changes: 1 addition & 1 deletion Box.Sdk.Gen/Schemas/Event.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/// <summary>
/// This object provides additional information about the event if available.
Expand Down
Original file line number Diff line number Diff line change
@@ -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<EventSource, File, Folder, Dictionary<string, string>, User> {
public EventSource? EventSource => _val0;

public File? File => _val1;

public Folder? Folder => _val2;

public Dictionary<string, string>? 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<string, string> 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<string, string> value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value);

public static implicit operator EventSourceOrFileOrFolderOrGenericSourceOrUser(User value) => new EventSourceOrFileOrFolderOrGenericSourceOrUser(value);

class EventSourceOrFileOrFolderOrGenericSourceOrUserConverter : JsonConverter<EventSourceOrFileOrFolderOrGenericSourceOrUser> {
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) {
}

}

}
}
83 changes: 0 additions & 83 deletions Box.Sdk.Gen/Schemas/EventSourceOrFileOrFolderOrUser.cs

This file was deleted.

0 comments on commit ea4224b

Please sign in to comment.