diff --git a/.codegen.json b/.codegen.json index f16804a8..8e1b8dbe 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "afd7974", "specHash": "a8c36df", "version": "0.3.0" } +{ "engineHash": "36bf5da", "specHash": "f7e92ba", "version": "0.3.0" } diff --git a/Box.Sdk.Gen/Managers/Events/GetEventsQueryParamsEventTypeField.cs b/Box.Sdk.Gen/Managers/Events/GetEventsQueryParamsEventTypeField.cs index 94fa75a4..a1c01c2b 100644 --- a/Box.Sdk.Gen/Managers/Events/GetEventsQueryParamsEventTypeField.cs +++ b/Box.Sdk.Gen/Managers/Events/GetEventsQueryParamsEventTypeField.cs @@ -99,6 +99,8 @@ public enum GetEventsQueryParamsEventTypeField { GroupRemoveItem, [Description("GROUP_REMOVE_USER")] GroupRemoveUser, + [Description("ITEM_EMAIL_SEND")] + ItemEmailSend, [Description("ITEM_MODIFY")] ItemModify, [Description("ITEM_OPEN")] @@ -153,6 +155,8 @@ public enum GetEventsQueryParamsEventTypeField { RetentionPolicyAssignmentAdd, [Description("SHARE")] Share, + [Description("SHARED_LINK_SEND")] + SharedLinkSend, [Description("SHARE_EXPIRATION")] ShareExpiration, [Description("SHIELD_ALERT")] diff --git a/Box.Sdk.Gen/Managers/Search/SearchForContentQueryParams.cs b/Box.Sdk.Gen/Managers/Search/SearchForContentQueryParams.cs index 5a63cf7d..71ab125e 100644 --- a/Box.Sdk.Gen/Managers/Search/SearchForContentQueryParams.cs +++ b/Box.Sdk.Gen/Managers/Search/SearchForContentQueryParams.cs @@ -201,14 +201,9 @@ public class SearchForContentQueryParams { public SearchForContentQueryParamsTrashContentField? TrashContent { get; set; } = default; /// - /// Limits the search results to any items for which the metadata matches - /// the provided filter. - /// - /// This parameter contains a list of 1 metadata template to filter - /// the search results by. This list can currently only - /// contain one entry, though this might be expanded in the future. - /// - /// This parameter is required unless the `query` parameter is provided. + /// Limits the search results to any items for which the metadata matches the provided filter. + /// This parameter is a list that specifies exactly **one** metadata template used to filter the search results. + /// It is required unless the `query` parameter is provided. /// public IReadOnlyList? Mdfilters { get; set; } = default; diff --git a/Box.Sdk.Gen/Schemas/EventEventTypeField.cs b/Box.Sdk.Gen/Schemas/EventEventTypeField.cs index 92815a68..656e93bb 100644 --- a/Box.Sdk.Gen/Schemas/EventEventTypeField.cs +++ b/Box.Sdk.Gen/Schemas/EventEventTypeField.cs @@ -113,6 +113,8 @@ public enum EventEventTypeField { ItemCreate, [Description("ITEM_DOWNLOAD")] ItemDownload, + [Description("ITEM_EMAIL_SEND")] + ItemEmailSend, [Description("ITEM_MAKE_CURRENT_VERSION")] ItemMakeCurrentVersion, [Description("ITEM_MODIFY")] @@ -193,6 +195,8 @@ public enum EventEventTypeField { RetentionPolicyAssignmentAdd, [Description("SHARE")] Share, + [Description("SHARED_LINK_SEND")] + SharedLinkSend, [Description("SHARE_EXPIRATION")] ShareExpiration, [Description("SHIELD_ALERT")] diff --git a/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeValue.cs b/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRange.cs similarity index 90% rename from Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeValue.cs rename to Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRange.cs index ff147ea9..248752e3 100644 --- a/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeValue.cs +++ b/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRange.cs @@ -6,7 +6,7 @@ using System.Text.Json; namespace Box.Sdk.Gen.Schemas { - public class MetadataFieldFilterDateRangeValue { + public class MetadataFieldFilterDateRange { /// /// Specifies the (inclusive) upper bound for the metadata field /// value. The value of a field must be lower than (`lt`) or @@ -25,7 +25,7 @@ public class MetadataFieldFilterDateRangeValue { [JsonPropertyName("gt")] public System.DateTimeOffset? Gt { get; set; } = default; - public MetadataFieldFilterDateRangeValue() { + public MetadataFieldFilterDateRange() { } } diff --git a/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString.cs b/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString.cs new file mode 100644 index 00000000..456dfca6 --- /dev/null +++ b/Box.Sdk.Gen/Schemas/MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString.cs @@ -0,0 +1,41 @@ +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(MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrStringConverter))] + public class MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString : OneOf, double, string> { + public MetadataFieldFilterDateRange? MetadataFieldFilterDateRange => _val0; + + public MetadataFieldFilterFloatRange? MetadataFieldFilterFloatRange => _val1; + + public IReadOnlyList? IReadOnlyList => _val2; + + public double? DoubleVal => _val3; + + public string? StringVal => _val4; + + public MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(MetadataFieldFilterDateRange value) : base(value) {} + + public MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(MetadataFieldFilterFloatRange value) : base(value) {} + + public MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(IReadOnlyList value) : base(value) {} + + public MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(double value) : base(value) {} + + public MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(string value) : base(value) {} + + public static implicit operator MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(MetadataFieldFilterDateRange value) => new MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(value); + + public static implicit operator MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(MetadataFieldFilterFloatRange value) => new MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(value); + + public static implicit operator MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(IReadOnlyList value) => new MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(value); + + public static implicit operator MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(double value) => new MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(value); + + public static implicit operator MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(string value) => new MetadataFieldFilterDateRangeOrMetadataFieldFilterFloatRangeOrArrayOfStringOrNumberOrString(value); + } +} \ No newline at end of file diff --git a/Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRangeValue.cs b/Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRange.cs similarity index 89% rename from Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRangeValue.cs rename to Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRange.cs index 78be1d38..25fdeb02 100644 --- a/Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRangeValue.cs +++ b/Box.Sdk.Gen/Schemas/MetadataFieldFilterFloatRange.cs @@ -6,7 +6,7 @@ using System.Text.Json; namespace Box.Sdk.Gen.Schemas { - public class MetadataFieldFilterFloatRangeValue { + public class MetadataFieldFilterFloatRange { /// /// Specifies the (inclusive) upper bound for the metadata field /// value. The value of a field must be lower than (`lt`) or @@ -25,7 +25,7 @@ public class MetadataFieldFilterFloatRangeValue { [JsonPropertyName("gt")] public double? Gt { get; set; } = default; - public MetadataFieldFilterFloatRangeValue() { + public MetadataFieldFilterFloatRange() { } } diff --git a/Box.Sdk.Gen/Schemas/MetadataFilter.cs b/Box.Sdk.Gen/Schemas/MetadataFilter.cs index be60038c..efe84cb5 100644 --- a/Box.Sdk.Gen/Schemas/MetadataFilter.cs +++ b/Box.Sdk.Gen/Schemas/MetadataFilter.cs @@ -18,7 +18,7 @@ public class MetadataFilter { public MetadataFilterScopeField? Scope { get; set; } = default; /// - /// The key of the template to filter search results by. + /// The key of the template used to filter search results. /// /// In many cases the template key is automatically derived /// of its display name, for example `Contract Template` would @@ -36,8 +36,14 @@ public class MetadataFilter { [JsonPropertyName("templateKey")] public string? TemplateKey { get; set; } = default; + /// + /// Specifies which fields on the template to filter the search + /// results by. When more than one field is specified, the query + /// performs a logical `AND` to ensure that the instance of the + /// template matches each of the fields specified. + /// [JsonPropertyName("filters")] - public MetadataFilterFiltersField? Filters { get; set; } = default; + public Dictionary? Filters { get; set; } = default; public MetadataFilter() { diff --git a/Box.Sdk.Gen/Schemas/MetadataFilterFiltersField.cs b/Box.Sdk.Gen/Schemas/MetadataFilterFiltersField.cs deleted file mode 100644 index c73510ad..00000000 --- a/Box.Sdk.Gen/Schemas/MetadataFilterFiltersField.cs +++ /dev/null @@ -1,103 +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(MetadataFilterFiltersFieldConverter))] - public class MetadataFilterFiltersField : OneOf, Dictionary, Dictionary>, Dictionary, Dictionary> { - public Dictionary? MetadataFieldFilterString => _val0; - - public Dictionary? MetadataFieldFilterFloat => _val1; - - public Dictionary>? MetadataFieldFilterMultiSelect => _val2; - - public Dictionary? MetadataFieldFilterFloatRange => _val3; - - public Dictionary? MetadataFieldFilterDateRange => _val4; - - public MetadataFilterFiltersField(Dictionary value) : base(value) {} - - public MetadataFilterFiltersField(Dictionary value) : base(value) {} - - public MetadataFilterFiltersField(Dictionary> value) : base(value) {} - - public MetadataFilterFiltersField(Dictionary value) : base(value) {} - - public MetadataFilterFiltersField(Dictionary value) : base(value) {} - - public static implicit operator MetadataFilterFiltersField(Dictionary value) => new MetadataFilterFiltersField(value); - - public static implicit operator MetadataFilterFiltersField(Dictionary value) => new MetadataFilterFiltersField(value); - - public static implicit operator MetadataFilterFiltersField(Dictionary> value) => new MetadataFilterFiltersField(value); - - public static implicit operator MetadataFilterFiltersField(Dictionary value) => new MetadataFilterFiltersField(value); - - public static implicit operator MetadataFilterFiltersField(Dictionary value) => new MetadataFilterFiltersField(value); - - class MetadataFilterFiltersFieldConverter : JsonConverter { - public override MetadataFilterFiltersField Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - using var document = JsonDocument.ParseValue(ref reader); - try { - var result = JsonSerializer.Deserialize>(document); - return result; - } catch { - - } - try { - var result = JsonSerializer.Deserialize>(document); - return result; - } catch { - - } - try { - var result = JsonSerializer.Deserialize>>(document); - return result; - } catch { - - } - try { - var result = JsonSerializer.Deserialize>(document); - return result; - } catch { - - } - try { - var result = JsonSerializer.Deserialize>(document); - return result; - } catch { - - } - throw new Exception($"Discriminant not found in json payload {document.RootElement} while try to converting to type {typeToConvert}"); - } - - public override void Write(Utf8JsonWriter writer, MetadataFilterFiltersField? value, JsonSerializerOptions options) { - if (value?.MetadataFieldFilterString != null) { - JsonSerializer.Serialize(writer, value.MetadataFieldFilterString, options); - return; - } - if (value?.MetadataFieldFilterFloat != null) { - JsonSerializer.Serialize(writer, value.MetadataFieldFilterFloat, options); - return; - } - if (value?.MetadataFieldFilterMultiSelect != null) { - JsonSerializer.Serialize(writer, value.MetadataFieldFilterMultiSelect, options); - return; - } - if (value?.MetadataFieldFilterFloatRange != null) { - JsonSerializer.Serialize(writer, value.MetadataFieldFilterFloatRange, options); - return; - } - if (value?.MetadataFieldFilterDateRange != null) { - JsonSerializer.Serialize(writer, value.MetadataFieldFilterDateRange, options); - return; - } - } - - } - - } -} \ No newline at end of file