From 7935d631ee8bed0f3ef67a280649dd2192952f43 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 4 Dec 2024 11:37:43 -0800 Subject: [PATCH 1/7] feat: add ai_agent info (box/box-openapi#485) --- .codegen.json | 2 +- Box.Sdk.Gen/Managers/Ai/AiManager.cs | 6 ++- Box.Sdk.Gen/Managers/Ai/IAiManager.cs | 6 ++- .../Schemas/AiAgentInfo/AiAgentInfo.cs | 43 +++++++++++++++++ .../AiAgentInfo/AiAgentInfoModelsField.cs | 47 +++++++++++++++++++ Box.Sdk.Gen/Schemas/AiResponse/AiResponse.cs | 4 ++ docs/Ai.md | 6 ++- 7 files changed, 107 insertions(+), 7 deletions(-) create mode 100644 Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfo.cs create mode 100644 Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfoModelsField.cs diff --git a/.codegen.json b/.codegen.json index a93c0c4c..a72dcf1f 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "a839036", "specHash": "544d370", "version": "1.5.0" } +{ "engineHash": "a839036", "specHash": "d7dfe68", "version": "1.5.0" } diff --git a/Box.Sdk.Gen/Managers/Ai/AiManager.cs b/Box.Sdk.Gen/Managers/Ai/AiManager.cs index 26a31ff8..2e10258f 100644 --- a/Box.Sdk.Gen/Managers/Ai/AiManager.cs +++ b/Box.Sdk.Gen/Managers/Ai/AiManager.cs @@ -73,7 +73,8 @@ public async System.Threading.Tasks.Task /// Sends an AI request to supported Large Language Models (LLMs) and extracts metadata in form of key-value pairs. - /// Freeform metadata extraction does not require any metadata template setup before sending the request. + /// In this request, both the prompt and the output can be freeform. + /// Metadata template setup before sending the request is not required. /// /// /// Request body of createAiExtract method @@ -93,7 +94,8 @@ public async System.Threading.Tasks.Task CreateAiExtractAsync(AiExtr /// /// Sends an AI request to supported Large Language Models (LLMs) and returns extracted metadata as a set of key-value pairs. - /// For this request, you need to use an already defined metadata template or a define a schema yourself. + /// For this request, you either need a metadata template or a list of fields you want to extract. + /// Input is **either** a metadata template or a list of fields to ensure the structure. /// To learn more about creating templates, see [Creating metadata templates in the Admin Console](https://support.box.com/hc/en-us/articles/360044194033-Customizing-Metadata-Templates) /// or use the [metadata template API](g://metadata/templates/create). /// diff --git a/Box.Sdk.Gen/Managers/Ai/IAiManager.cs b/Box.Sdk.Gen/Managers/Ai/IAiManager.cs index 95984312..8294487a 100644 --- a/Box.Sdk.Gen/Managers/Ai/IAiManager.cs +++ b/Box.Sdk.Gen/Managers/Ai/IAiManager.cs @@ -50,7 +50,8 @@ public interface IAiManager { /// /// Sends an AI request to supported Large Language Models (LLMs) and extracts metadata in form of key-value pairs. - /// Freeform metadata extraction does not require any metadata template setup before sending the request. + /// In this request, both the prompt and the output can be freeform. + /// Metadata template setup before sending the request is not required. /// /// /// Request body of createAiExtract method @@ -65,7 +66,8 @@ public interface IAiManager { /// /// Sends an AI request to supported Large Language Models (LLMs) and returns extracted metadata as a set of key-value pairs. - /// For this request, you need to use an already defined metadata template or a define a schema yourself. + /// For this request, you either need a metadata template or a list of fields you want to extract. + /// Input is **either** a metadata template or a list of fields to ensure the structure. /// To learn more about creating templates, see [Creating metadata templates in the Admin Console](https://support.box.com/hc/en-us/articles/360044194033-Customizing-Metadata-Templates) /// or use the [metadata template API](g://metadata/templates/create). /// diff --git a/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfo.cs b/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfo.cs new file mode 100644 index 00000000..1dd86902 --- /dev/null +++ b/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfo.cs @@ -0,0 +1,43 @@ +using Box.Sdk.Gen; +using System.Text.Json.Serialization; +using System.Collections.Generic; +using Box.Sdk.Gen.Internal; +using System; +using System.Collections.ObjectModel; + +namespace Box.Sdk.Gen.Schemas { + public class AiAgentInfo : ISerializable { + /// + /// The models used for the request + /// + [JsonPropertyName("models")] + public IReadOnlyList? Models { get; init; } + + /// + /// The processor used for the request + /// + [JsonPropertyName("processor")] + public string? Processor { get; init; } + + public AiAgentInfo() { + + } + internal string? RawJson { get; set; } = default; + + void ISerializable.SetJson(string json) { + RawJson = json; + } + + string? ISerializable.GetJson() { + return RawJson; + } + + /// + /// Returns raw json response returned from the API. + /// + public Dictionary? GetRawData() { + return SimpleJsonSerializer.GetAllFields(this); + } + + } +} \ No newline at end of file diff --git a/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfoModelsField.cs b/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfoModelsField.cs new file mode 100644 index 00000000..4722cbbd --- /dev/null +++ b/Box.Sdk.Gen/Schemas/AiAgentInfo/AiAgentInfoModelsField.cs @@ -0,0 +1,47 @@ +using Box.Sdk.Gen; +using System.Text.Json.Serialization; +using System.Collections.Generic; +using Box.Sdk.Gen.Internal; + +namespace Box.Sdk.Gen.Schemas { + public class AiAgentInfoModelsField : ISerializable { + /// + /// The name of the model used for the request + /// + [JsonPropertyName("name")] + public string? Name { get; init; } + + /// + /// The provider that owns the model used for the request + /// + [JsonPropertyName("provider")] + public string? Provider { get; init; } + + /// + /// The supported purpose utilized by the model used for the request + /// + [JsonPropertyName("supported_purpose")] + public string? SupportedPurpose { get; init; } + + public AiAgentInfoModelsField() { + + } + internal string? RawJson { get; set; } = default; + + void ISerializable.SetJson(string json) { + RawJson = json; + } + + string? ISerializable.GetJson() { + return RawJson; + } + + /// + /// Returns raw json response returned from the API. + /// + public Dictionary? GetRawData() { + return SimpleJsonSerializer.GetAllFields(this); + } + + } +} \ No newline at end of file diff --git a/Box.Sdk.Gen/Schemas/AiResponse/AiResponse.cs b/Box.Sdk.Gen/Schemas/AiResponse/AiResponse.cs index 6bbaad17..b213aed6 100644 --- a/Box.Sdk.Gen/Schemas/AiResponse/AiResponse.cs +++ b/Box.Sdk.Gen/Schemas/AiResponse/AiResponse.cs @@ -2,6 +2,7 @@ using System.Text.Json.Serialization; using System.Collections.Generic; using Box.Sdk.Gen.Internal; +using Box.Sdk.Gen.Schemas; namespace Box.Sdk.Gen.Schemas { public class AiResponse : ISerializable { @@ -23,6 +24,9 @@ public class AiResponse : ISerializable { [JsonPropertyName("completion_reason")] public string? CompletionReason { get; init; } + [JsonPropertyName("ai_agent_info")] + public AiAgentInfo? AiAgentInfo { get; init; } + public AiResponse(string answer, System.DateTimeOffset createdAt) { Answer = answer; CreatedAt = createdAt; diff --git a/docs/Ai.md b/docs/Ai.md index 1983d35f..0f5dff38 100644 --- a/docs/Ai.md +++ b/docs/Ai.md @@ -109,7 +109,8 @@ The response depends on the agent configuration requested in this endpoint. ## Extract metadata (freeform) Sends an AI request to supported Large Language Models (LLMs) and extracts metadata in form of key-value pairs. -Freeform metadata extraction does not require any metadata template setup before sending the request. +In this request, both the prompt and the output can be freeform. +Metadata template setup before sending the request is not required. This operation is performed by calling function `CreateAiExtract`. @@ -141,7 +142,8 @@ A response including the answer from the LLM. ## Extract metadata (structured) Sends an AI request to supported Large Language Models (LLMs) and returns extracted metadata as a set of key-value pairs. -For this request, you need to use an already defined metadata template or a define a schema yourself. +For this request, you either need a metadata template or a list of fields you want to extract. +Input is **either** a metadata template or a list of fields to ensure the structure. To learn more about creating templates, see [Creating metadata templates in the Admin Console](https://support.box.com/hc/en-us/articles/360044194033-Customizing-Metadata-Templates) or use the [metadata template API](g://metadata/templates/create). From a79ed9f7e1663793cd0679f40c7a1f1755838730 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Fri, 6 Dec 2024 07:53:45 -0800 Subject: [PATCH 2/7] test: Fix `aiExtractStructured` test with multiselect (box/box-codegen#624) --- .codegen.json | 2 +- .../Test/Ai/AiManagerTests.cs | 12 ++++++------ docs/MetadataTemplates.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.codegen.json b/.codegen.json index a72dcf1f..f40f433e 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "a839036", "specHash": "d7dfe68", "version": "1.5.0" } +{ "engineHash": "5604447", "specHash": "d7dfe68", "version": "1.5.0" } diff --git a/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs b/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs index 0f60c273..81772a0d 100644 --- a/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs +++ b/Box.Sdk.Gen.Tests.Integration/Test/Ai/AiManagerTests.cs @@ -68,31 +68,31 @@ public async System.Threading.Tasks.Task TestAiExtract() { [TestMethod] public async System.Threading.Tasks.Task TestAiExtractStructuredWithFields() { - Files uploadedFiles = await client.Uploads.UploadFileAsync(requestBody: new UploadFileRequestBody(attributes: new UploadFileRequestBodyAttributesField(name: string.Concat(Utils.GetUUID(), ".txt"), parent: new UploadFileRequestBodyAttributesParentField(id: "0")), file: Utils.StringToByteStream(text: "My name is John Doe. I was born in 4th July 1990. I am 34 years old. My hobby is guitar and books."))); + Files uploadedFiles = await client.Uploads.UploadFileAsync(requestBody: new UploadFileRequestBody(attributes: new UploadFileRequestBodyAttributesField(name: string.Concat(Utils.GetUUID(), ".txt"), parent: new UploadFileRequestBodyAttributesParentField(id: "0")), file: Utils.StringToByteStream(text: "My name is John Doe. I was born in 4th July 1990. I am 34 years old. My hobby is guitar."))); FileFull file = NullableUtils.Unwrap(uploadedFiles.Entries)[0]; await Utils.DelayInSecondsAsync(seconds: 5); - AiExtractResponse response = await client.Ai.CreateAiExtractStructuredAsync(requestBody: new AiExtractStructured(items: Array.AsReadOnly(new [] {new AiItemBase(id: file.Id)})) { Fields = Array.AsReadOnly(new [] {new AiExtractStructuredFieldsField(key: "firstName") { DisplayName = "First name", Description = "Person first name", Prompt = "What is the your first name?", Type = "string" },new AiExtractStructuredFieldsField(key: "lastName") { DisplayName = "Last name", Description = "Person last name", Prompt = "What is the your last name?", Type = "string" },new AiExtractStructuredFieldsField(key: "dateOfBirth") { DisplayName = "Birth date", Description = "Person date of birth", Prompt = "What is the date of your birth?", Type = "date" },new AiExtractStructuredFieldsField(key: "age") { DisplayName = "Age", Description = "Person age", Prompt = "How old are you?", Type = "float" },new AiExtractStructuredFieldsField(key: "hobby") { DisplayName = "Hobby", Description = "Person hobby", Prompt = "What is your hobby?", Type = "multiSelect" }}) }); + AiExtractResponse response = await client.Ai.CreateAiExtractStructuredAsync(requestBody: new AiExtractStructured(items: Array.AsReadOnly(new [] {new AiItemBase(id: file.Id)})) { Fields = Array.AsReadOnly(new [] {new AiExtractStructuredFieldsField(key: "firstName") { DisplayName = "First name", Description = "Person first name", Prompt = "What is the your first name?", Type = "string" },new AiExtractStructuredFieldsField(key: "lastName") { DisplayName = "Last name", Description = "Person last name", Prompt = "What is the your last name?", Type = "string" },new AiExtractStructuredFieldsField(key: "dateOfBirth") { DisplayName = "Birth date", Description = "Person date of birth", Prompt = "What is the date of your birth?", Type = "date" },new AiExtractStructuredFieldsField(key: "age") { DisplayName = "Age", Description = "Person age", Prompt = "How old are you?", Type = "float" },new AiExtractStructuredFieldsField(key: "hobby") { DisplayName = "Hobby", Description = "Person hobby", Prompt = "What is your hobby?", Type = "multiSelect", Options = Array.AsReadOnly(new [] {new AiExtractStructuredFieldsOptionsField(key: "guitar"),new AiExtractStructuredFieldsOptionsField(key: "books")}) }}) }); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "firstName")) == "John"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "lastName")) == "Doe"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "dateOfBirth")) == "1990-07-04"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "age")) == "34"); - Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "hobby")) == StringUtils.ToStringRepresentation(Array.AsReadOnly(new [] {"guitar","books"}))); + Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "hobby")) == StringUtils.ToStringRepresentation(Array.AsReadOnly(new [] {"guitar"}))); await client.Files.DeleteFileByIdAsync(fileId: file.Id); } [TestMethod] public async System.Threading.Tasks.Task TestAiExtractStructuredWithMetadataTemplate() { - Files uploadedFiles = await client.Uploads.UploadFileAsync(requestBody: new UploadFileRequestBody(attributes: new UploadFileRequestBodyAttributesField(name: string.Concat(Utils.GetUUID(), ".txt"), parent: new UploadFileRequestBodyAttributesParentField(id: "0")), file: Utils.StringToByteStream(text: "My name is John Doe. I was born in 4th July 1990. I am 34 years old. My hobby is guitar and books."))); + Files uploadedFiles = await client.Uploads.UploadFileAsync(requestBody: new UploadFileRequestBody(attributes: new UploadFileRequestBodyAttributesField(name: string.Concat(Utils.GetUUID(), ".txt"), parent: new UploadFileRequestBodyAttributesParentField(id: "0")), file: Utils.StringToByteStream(text: "My name is John Doe. I was born in 4th July 1990. I am 34 years old. My hobby is guitar."))); FileFull file = NullableUtils.Unwrap(uploadedFiles.Entries)[0]; await Utils.DelayInSecondsAsync(seconds: 5); string templateKey = string.Concat("key", Utils.GetUUID()); - MetadataTemplate template = await client.MetadataTemplates.CreateMetadataTemplateAsync(requestBody: new CreateMetadataTemplateRequestBody(scope: "enterprise", displayName: templateKey) { TemplateKey = templateKey, Fields = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsField(key: "firstName", displayName: "First name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person first name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "lastName", displayName: "Last name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person last name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "dateOfBirth", displayName: "Birth date", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Date) { Description = "Person date of birth" },new CreateMetadataTemplateRequestBodyFieldsField(key: "age", displayName: "Age", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Float) { Description = "Person age" },new CreateMetadataTemplateRequestBodyFieldsField(key: "hobby", displayName: "Hobby", type: CreateMetadataTemplateRequestBodyFieldsTypeField.MultiSelect) { Description = "Person hobby" }}) }); + MetadataTemplate template = await client.MetadataTemplates.CreateMetadataTemplateAsync(requestBody: new CreateMetadataTemplateRequestBody(scope: "enterprise", displayName: templateKey) { TemplateKey = templateKey, Fields = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsField(key: "firstName", displayName: "First name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person first name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "lastName", displayName: "Last name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person last name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "dateOfBirth", displayName: "Birth date", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Date) { Description = "Person date of birth" },new CreateMetadataTemplateRequestBodyFieldsField(key: "age", displayName: "Age", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Float) { Description = "Person age" },new CreateMetadataTemplateRequestBodyFieldsField(key: "hobby", displayName: "Hobby", type: CreateMetadataTemplateRequestBodyFieldsTypeField.MultiSelect) { Description = "Person hobby", Options = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsOptionsField(key: "guitar"),new CreateMetadataTemplateRequestBodyFieldsOptionsField(key: "books")}) }}) }); AiExtractResponse response = await client.Ai.CreateAiExtractStructuredAsync(requestBody: new AiExtractStructured(items: Array.AsReadOnly(new [] {new AiItemBase(id: file.Id)})) { MetadataTemplate = new AiExtractStructuredMetadataTemplateField() { TemplateKey = templateKey, Scope = "enterprise" } }); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "firstName")) == "John"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "lastName")) == "Doe"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "dateOfBirth")) == "1990-07-04T00:00:00Z"); Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "age")) == "34"); - Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "hobby")) == StringUtils.ToStringRepresentation(Array.AsReadOnly(new [] {"guitar","books"}))); + Assert.IsTrue(StringUtils.ToStringRepresentation(Utils.GetValueFromObjectRawData(obj: response, key: "hobby")) == StringUtils.ToStringRepresentation(Array.AsReadOnly(new [] {"guitar"}))); await client.MetadataTemplates.DeleteMetadataTemplateAsync(scope: DeleteMetadataTemplateScope.Enterprise, templateKey: NullableUtils.Unwrap(template.TemplateKey)); await client.Files.DeleteFileByIdAsync(fileId: file.Id); } diff --git a/docs/MetadataTemplates.md b/docs/MetadataTemplates.md index 252be525..f746e984 100644 --- a/docs/MetadataTemplates.md +++ b/docs/MetadataTemplates.md @@ -266,7 +266,7 @@ See the endpoint docs at ``` -await client.MetadataTemplates.CreateMetadataTemplateAsync(requestBody: new CreateMetadataTemplateRequestBody(scope: "enterprise", displayName: templateKey) { TemplateKey = templateKey, Fields = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsField(key: "firstName", displayName: "First name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person first name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "lastName", displayName: "Last name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person last name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "dateOfBirth", displayName: "Birth date", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Date) { Description = "Person date of birth" },new CreateMetadataTemplateRequestBodyFieldsField(key: "age", displayName: "Age", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Float) { Description = "Person age" },new CreateMetadataTemplateRequestBodyFieldsField(key: "hobby", displayName: "Hobby", type: CreateMetadataTemplateRequestBodyFieldsTypeField.MultiSelect) { Description = "Person hobby" }}) }); +await client.MetadataTemplates.CreateMetadataTemplateAsync(requestBody: new CreateMetadataTemplateRequestBody(scope: "enterprise", displayName: templateKey) { TemplateKey = templateKey, Fields = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsField(key: "firstName", displayName: "First name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person first name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "lastName", displayName: "Last name", type: CreateMetadataTemplateRequestBodyFieldsTypeField.String) { Description = "Person last name" },new CreateMetadataTemplateRequestBodyFieldsField(key: "dateOfBirth", displayName: "Birth date", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Date) { Description = "Person date of birth" },new CreateMetadataTemplateRequestBodyFieldsField(key: "age", displayName: "Age", type: CreateMetadataTemplateRequestBodyFieldsTypeField.Float) { Description = "Person age" },new CreateMetadataTemplateRequestBodyFieldsField(key: "hobby", displayName: "Hobby", type: CreateMetadataTemplateRequestBodyFieldsTypeField.MultiSelect) { Description = "Person hobby", Options = Array.AsReadOnly(new [] {new CreateMetadataTemplateRequestBodyFieldsOptionsField(key: "guitar"),new CreateMetadataTemplateRequestBodyFieldsOptionsField(key: "books")}) }}) }); ``` ### Arguments From 6d629d8727fe7259448e2a28a90edcf0b8704750 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Fri, 6 Dec 2024 07:55:40 -0800 Subject: [PATCH 3/7] feat: Optional user id parameter for PUT files/folders/web_links (box/box-openapi#486) --- .codegen.json | 2 +- .../Managers/Files/UpdateFileByIdRequestBodyParentField.cs | 6 ++++++ .../Folders/UpdateFolderByIdRequestBodyParentField.cs | 6 ++++++ .../RestoreFileFromTrashRequestBodyParentField.cs | 6 ++++++ .../RestoreFolderFromTrashRequestBodyParentField.cs | 6 ++++++ .../RestoreWeblinkFromTrashRequestBodyParentField.cs | 6 ++++++ .../PreflightFileUploadCheckRequestBodyParentField.cs | 6 ++++++ .../WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs | 6 ++++++ 8 files changed, 43 insertions(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index f40f433e..1d5c7f18 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5604447", "specHash": "d7dfe68", "version": "1.5.0" } +{ "engineHash": "5604447", "specHash": "86fde16", "version": "1.5.0" } diff --git a/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs index 4e985540..dd0d653f 100644 --- a/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class UpdateFileByIdRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public UpdateFileByIdRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs index d71526cb..5eb62de0 100644 --- a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class UpdateFolderByIdRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public UpdateFolderByIdRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs index 099a4dac..e0be4a88 100644 --- a/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class RestoreFileFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public RestoreFileFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs index c2dcef1e..f8815a0c 100644 --- a/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class RestoreFolderFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public RestoreFolderFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs index 6da71d8a..0ee189f3 100644 --- a/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class RestoreWeblinkFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public RestoreWeblinkFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs index 81172ee3..5bf57f24 100644 --- a/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs @@ -14,6 +14,12 @@ public class PreflightFileUploadCheckRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public PreflightFileUploadCheckRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs index dafae991..24d4bc48 100644 --- a/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs @@ -13,6 +13,12 @@ public class UpdateWebLinkByIdRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } + /// + /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// + [JsonPropertyName("user_id")] + public string? UserId { get; init; } + public UpdateWebLinkByIdRequestBodyParentField() { } From b1d3af05745492977bd0672267af5c9b949b22fa Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Fri, 6 Dec 2024 10:10:05 -0800 Subject: [PATCH 4/7] remove redundant user_id (box/box-openapi#487) --- .codegen.json | 2 +- .../RestoreFileFromTrashRequestBodyParentField.cs | 6 ------ .../RestoreFolderFromTrashRequestBodyParentField.cs | 6 ------ .../RestoreWeblinkFromTrashRequestBodyParentField.cs | 6 ------ .../PreflightFileUploadCheckRequestBodyParentField.cs | 6 ------ 5 files changed, 1 insertion(+), 25 deletions(-) diff --git a/.codegen.json b/.codegen.json index 1d5c7f18..97ae4243 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5604447", "specHash": "86fde16", "version": "1.5.0" } +{ "engineHash": "5604447", "specHash": "b2a3e3b", "version": "1.5.0" } diff --git a/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs index e0be4a88..099a4dac 100644 --- a/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedFiles/RestoreFileFromTrashRequestBodyParentField.cs @@ -14,12 +14,6 @@ public class RestoreFileFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } - /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. - /// - [JsonPropertyName("user_id")] - public string? UserId { get; init; } - public RestoreFileFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs index f8815a0c..c2dcef1e 100644 --- a/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedFolders/RestoreFolderFromTrashRequestBodyParentField.cs @@ -14,12 +14,6 @@ public class RestoreFolderFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } - /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. - /// - [JsonPropertyName("user_id")] - public string? UserId { get; init; } - public RestoreFolderFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs index 0ee189f3..6da71d8a 100644 --- a/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/TrashedWebLinks/RestoreWeblinkFromTrashRequestBodyParentField.cs @@ -14,12 +14,6 @@ public class RestoreWeblinkFromTrashRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } - /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. - /// - [JsonPropertyName("user_id")] - public string? UserId { get; init; } - public RestoreWeblinkFromTrashRequestBodyParentField() { } diff --git a/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs index 5bf57f24..81172ee3 100644 --- a/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Uploads/PreflightFileUploadCheckRequestBodyParentField.cs @@ -14,12 +14,6 @@ public class PreflightFileUploadCheckRequestBodyParentField : ISerializable { [JsonPropertyName("id")] public string? Id { get; init; } - /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. - /// - [JsonPropertyName("user_id")] - public string? UserId { get; init; } - public PreflightFileUploadCheckRequestBodyParentField() { } From a21caafb0321321d16041cabb75f44a8830ce40c Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Mon, 9 Dec 2024 03:56:06 -0800 Subject: [PATCH 5/7] fix: add user_id only to PUT file, folder, weblink (box/box-openapi#488) --- .codegen.json | 2 +- .../Managers/Files/UpdateFileByIdRequestBodyParentField.cs | 2 +- Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBody.cs | 4 ---- .../Folders/UpdateFolderByIdRequestBodyParentField.cs | 4 ++-- .../WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.codegen.json b/.codegen.json index 97ae4243..16999967 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5604447", "specHash": "b2a3e3b", "version": "1.5.0" } +{ "engineHash": "5604447", "specHash": "c9d7bb5", "version": "1.5.0" } diff --git a/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs index dd0d653f..f8ad9223 100644 --- a/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Files/UpdateFileByIdRequestBodyParentField.cs @@ -15,7 +15,7 @@ public class UpdateFileByIdRequestBodyParentField : ISerializable { public string? Id { get; init; } /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided. /// [JsonPropertyName("user_id")] public string? UserId { get; init; } diff --git a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBody.cs b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBody.cs index 6095f369..54f6fb86 100644 --- a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBody.cs +++ b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBody.cs @@ -48,10 +48,6 @@ public class UpdateFolderByIdRequestBody : ISerializable { [JsonPropertyName("can_non_owners_invite")] public bool? CanNonOwnersInvite { get; init; } - /// - /// The parent folder for this folder. Use this to move - /// the folder or to restore it out of the trash. - /// [JsonPropertyName("parent")] public UpdateFolderByIdRequestBodyParentField? Parent { get; init; } diff --git a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs index 5eb62de0..bbb912b3 100644 --- a/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/Folders/UpdateFolderByIdRequestBodyParentField.cs @@ -9,13 +9,13 @@ namespace Box.Sdk.Gen.Managers { public class UpdateFolderByIdRequestBodyParentField : ISerializable { /// - /// The ID of the new parent folder + /// The ID of parent item /// [JsonPropertyName("id")] public string? Id { get; init; } /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided. /// [JsonPropertyName("user_id")] public string? UserId { get; init; } diff --git a/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs b/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs index 24d4bc48..d3ecf31c 100644 --- a/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs +++ b/Box.Sdk.Gen/Managers/WebLinks/UpdateWebLinkByIdRequestBodyParentField.cs @@ -14,7 +14,7 @@ public class UpdateWebLinkByIdRequestBodyParentField : ISerializable { public string? Id { get; init; } /// - /// The input for `{user_id}` is optional. Moving to non-root folder is not allowed when `{user_id}` is present. Parent folder id should be zero when `{user_id}` is provided. + /// The input for `user_id` is optional. Moving to non-root folder is not allowed when `user_id` is present. Parent folder id should be zero when `user_id` is provided. /// [JsonPropertyName("user_id")] public string? UserId { get; init; } From 3be524fa18b4a085c95adf157f537ba04371a1e7 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Mon, 9 Dec 2024 04:34:46 -0800 Subject: [PATCH 6/7] chore: Update .codegen.json with commit hash of codegen and openapi spec --- .codegen.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index 16999967..a55c89e4 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5604447", "specHash": "c9d7bb5", "version": "1.5.0" } +{ "engineHash": "3799ab4", "specHash": "c9d7bb5", "version": "1.5.0" } From 65775b284ae03be294cd34dc54627c4605b4a023 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Tue, 17 Dec 2024 04:31:18 -0800 Subject: [PATCH 7/7] docs: remove parameter from Sign page (box/box-openapi#489) --- .codegen.json | 2 +- .../SignRequests/SignRequestsManagerTests.cs | 3 +-- .../Schemas/Event/EventEventTypeField.cs | 12 ++++++++++++ .../Schemas/SignRequestBase/SignRequestBase.cs | 12 ------------ .../SignRequestCreateSigner.cs | 17 +---------------- 5 files changed, 15 insertions(+), 31 deletions(-) diff --git a/.codegen.json b/.codegen.json index a55c89e4..546be908 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "3799ab4", "specHash": "c9d7bb5", "version": "1.5.0" } +{ "engineHash": "264bdc9", "specHash": "6886603", "version": "1.5.0" } diff --git a/Box.Sdk.Gen.Tests.Integration/Test/SignRequests/SignRequestsManagerTests.cs b/Box.Sdk.Gen.Tests.Integration/Test/SignRequests/SignRequestsManagerTests.cs index 2ce04dc9..393ec0c7 100644 --- a/Box.Sdk.Gen.Tests.Integration/Test/SignRequests/SignRequestsManagerTests.cs +++ b/Box.Sdk.Gen.Tests.Integration/Test/SignRequests/SignRequestsManagerTests.cs @@ -20,7 +20,7 @@ public async System.Threading.Tasks.Task TestCreateGetCancelAndListSignRequest() string signerEmail = string.Concat(Utils.GetUUID(), "@box.com"); FileFull fileToSign = await new CommonsManager().UploadNewFileAsync(); FolderFull destinationFolder = await new CommonsManager().CreateNewFolderAsync(); - SignRequest createdSignRequest = await client.SignRequests.CreateSignRequestAsync(requestBody: new SignRequestCreateRequest(signers: Array.AsReadOnly(new [] {new SignRequestCreateSigner() { Email = signerEmail, SuppressNotifications = true, DeclinedRedirectUrl = "https://www.box.com", EmbedUrlExternalUserId = "123", IsInPerson = false, LoginRequired = false, Password = "password", Role = SignRequestCreateSignerRoleField.Signer }})) { AreRemindersEnabled = true, AreTextSignaturesEnabled = true, DaysValid = 30, DeclinedRedirectUrl = "https://www.box.com", EmailMessage = "Please sign this document", EmailSubject = "Sign this document", ExternalId = "123", ExternalSystemName = "BoxSignIntegration", IsDocumentPreparationNeeded = false, IsPhoneVerificationRequiredToView = false, Name = "Sign Request", ParentFolder = new FolderMini(id: destinationFolder.Id), RedirectUrl = "https://www.box.com", PrefillTags = Array.AsReadOnly(new [] {new SignRequestPrefillTag() { DateValue = Utils.DateFromString(date: "2035-01-01"), DocumentTagId = "0" }}), SourceFiles = Array.AsReadOnly(new [] {new FileBase(id: fileToSign.Id)}) }); + SignRequest createdSignRequest = await client.SignRequests.CreateSignRequestAsync(requestBody: new SignRequestCreateRequest(signers: Array.AsReadOnly(new [] {new SignRequestCreateSigner() { Email = signerEmail, SuppressNotifications = true, DeclinedRedirectUrl = "https://www.box.com", EmbedUrlExternalUserId = "123", IsInPerson = false, LoginRequired = false, Password = "password", Role = SignRequestCreateSignerRoleField.Signer }})) { AreRemindersEnabled = true, AreTextSignaturesEnabled = true, DaysValid = 30, DeclinedRedirectUrl = "https://www.box.com", EmailMessage = "Please sign this document", EmailSubject = "Sign this document", ExternalId = "123", ExternalSystemName = "BoxSignIntegration", IsDocumentPreparationNeeded = false, Name = "Sign Request", ParentFolder = new FolderMini(id: destinationFolder.Id), RedirectUrl = "https://www.box.com", PrefillTags = Array.AsReadOnly(new [] {new SignRequestPrefillTag() { DateValue = Utils.DateFromString(date: "2035-01-01"), DocumentTagId = "0" }}), SourceFiles = Array.AsReadOnly(new [] {new FileBase(id: fileToSign.Id)}) }); Assert.IsTrue(createdSignRequest.AreRemindersEnabled == true); Assert.IsTrue(createdSignRequest.AreTextSignaturesEnabled == true); Assert.IsTrue(createdSignRequest.DaysValid == 30); @@ -30,7 +30,6 @@ public async System.Threading.Tasks.Task TestCreateGetCancelAndListSignRequest() Assert.IsTrue(createdSignRequest.ExternalId == "123"); Assert.IsTrue(createdSignRequest.ExternalSystemName == "BoxSignIntegration"); Assert.IsTrue(createdSignRequest.IsDocumentPreparationNeeded == false); - Assert.IsTrue(createdSignRequest.IsPhoneVerificationRequiredToView == false); Assert.IsTrue(createdSignRequest.Name == "Sign Request"); Assert.IsTrue(createdSignRequest.RedirectUrl == "https://www.box.com"); Assert.IsTrue(NullableUtils.Unwrap(NullableUtils.Unwrap(createdSignRequest.SignFiles).Files)[0].Name == fileToSign.Name); diff --git a/Box.Sdk.Gen/Schemas/Event/EventEventTypeField.cs b/Box.Sdk.Gen/Schemas/Event/EventEventTypeField.cs index c1ced2fc..1531b925 100644 --- a/Box.Sdk.Gen/Schemas/Event/EventEventTypeField.cs +++ b/Box.Sdk.Gen/Schemas/Event/EventEventTypeField.cs @@ -78,6 +78,18 @@ public enum EventEventTypeField { Edit, [Description("EDIT_USER")] EditUser, + [Description("EDR_CROWDSTRIKE_DEVICE_DETECTED")] + EdrCrowdstrikeDeviceDetected, + [Description("EDR_CROWDSTRIKE_NO_BOX_TOOLS")] + EdrCrowdstrikeNoBoxTools, + [Description("EDR_CROWDSTRIKE_BOX_TOOLS_OUTDATED")] + EdrCrowdstrikeBoxToolsOutdated, + [Description("EDR_CROWDSTRIKE_DRIVE_OUTDATED")] + EdrCrowdstrikeDriveOutdated, + [Description("EDR_CROWDSTRIKE_ACCESS_ALLOWED_NO_CROWDSTRIKE_DEVICE")] + EdrCrowdstrikeAccessAllowedNoCrowdstrikeDevice, + [Description("EDR_CROWDSTRIKE_ACCESS_REVOKED")] + EdrCrowdstrikeAccessRevoked, [Description("EMAIL_ALIAS_CONFIRM")] EmailAliasConfirm, [Description("EMAIL_ALIAS_REMOVE")] diff --git a/Box.Sdk.Gen/Schemas/SignRequestBase/SignRequestBase.cs b/Box.Sdk.Gen/Schemas/SignRequestBase/SignRequestBase.cs index 7b135167..5fa6a29b 100644 --- a/Box.Sdk.Gen/Schemas/SignRequestBase/SignRequestBase.cs +++ b/Box.Sdk.Gen/Schemas/SignRequestBase/SignRequestBase.cs @@ -32,10 +32,6 @@ public class SignRequestBase : ISerializable { [JsonPropertyName("_isexternal_idSet")] protected bool _isExternalIdSet { get; set; } - [JsonInclude] - [JsonPropertyName("_isis_phone_verification_required_to_viewSet")] - protected bool _isIsPhoneVerificationRequiredToViewSet { get; set; } - [JsonInclude] [JsonPropertyName("_istemplate_idSet")] protected bool _isTemplateIdSet { get; set; } @@ -56,8 +52,6 @@ public class SignRequestBase : ISerializable { protected string? _externalId { get; set; } - protected bool? _isPhoneVerificationRequiredToView { get; set; } - protected string? _templateId { get; set; } protected string? _externalSystemName { get; set; } @@ -128,12 +122,6 @@ public class SignRequestBase : ISerializable { [JsonPropertyName("external_id")] public string? ExternalId { get => _externalId; init { _externalId = value; _isExternalIdSet = true; } } - /// - /// Forces signers to verify a text message prior to viewing the document. You must specify the phone number of signers to have this setting apply to them. - /// - [JsonPropertyName("is_phone_verification_required_to_view")] - public bool? IsPhoneVerificationRequiredToView { get => _isPhoneVerificationRequiredToView; init { _isPhoneVerificationRequiredToView = value; _isIsPhoneVerificationRequiredToViewSet = true; } } - /// /// When a signature request is created from a template this field will indicate the id of that template. /// diff --git a/Box.Sdk.Gen/Schemas/SignRequestCreateSigner/SignRequestCreateSigner.cs b/Box.Sdk.Gen/Schemas/SignRequestCreateSigner/SignRequestCreateSigner.cs index 0bde945e..9471088a 100644 --- a/Box.Sdk.Gen/Schemas/SignRequestCreateSigner/SignRequestCreateSigner.cs +++ b/Box.Sdk.Gen/Schemas/SignRequestCreateSigner/SignRequestCreateSigner.cs @@ -25,10 +25,6 @@ public class SignRequestCreateSigner : ISerializable { [JsonPropertyName("_islogin_requiredSet")] protected bool _isLoginRequiredSet { get; set; } - [JsonInclude] - [JsonPropertyName("_isverification_phone_numberSet")] - protected bool _isVerificationPhoneNumberSet { get; set; } - [JsonInclude] [JsonPropertyName("_ispasswordSet")] protected bool _isPasswordSet { get; set; } @@ -51,8 +47,6 @@ public class SignRequestCreateSigner : ISerializable { protected bool? _loginRequired { get; set; } - protected string? _verificationPhoneNumber { get; set; } - protected string? _password { get; set; } protected string? _signerGroupId { get; set; } @@ -120,20 +114,11 @@ public class SignRequestCreateSigner : ISerializable { /// If set to true, the signer will need to log in to a Box account /// before signing the request. If the signer does not have /// an existing account, they will have the option to create - /// a free Box account. Cannot be selected in combination with - /// `verification_phone_number`. + /// a free Box account. /// [JsonPropertyName("login_required")] public bool? LoginRequired { get => _loginRequired; init { _loginRequired = value; _isLoginRequiredSet = true; } } - /// - /// If set, this phone number will be used to verify the signer - /// via two-factor authentication before they are able to sign the document. - /// Cannot be selected in combination with `login_required`. - /// - [JsonPropertyName("verification_phone_number")] - public string? VerificationPhoneNumber { get => _verificationPhoneNumber; init { _verificationPhoneNumber = value; _isVerificationPhoneNumberSet = true; } } - /// /// If set, the signer is required to enter the password before they are able /// to sign a document. This field is write only.