From dbb6726fd2e44a4ee3e1a49e2633c7fe42d8433e Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 22 Oct 2025 07:20:08 -0700 Subject: [PATCH 1/3] feat: add GET enterprise configuration endpoint (box/box-openapi#559) --- .codegen.json | 2 +- docs/README.md | 1 + docs/enterpriseconfigurations.md | 33 + .../java/com/box/sdkgen/client/BoxClient.java | 17 + .../EnterpriseConfigurationsManager.java | 115 ++ ...rpriseConfigurationByIdV2025R0Headers.java | 65 + ...seConfigurationByIdV2025R0QueryParams.java | 18 + .../enterprisebase/EnterpriseBase.java | 2 +- .../CollaborationPermissionsV2025R0.java | 203 +++ .../CollaborationRestrictionV2025R0.java | 63 + ...CustomSessionDurationGroupItemV2025R0.java | 87 ++ ...ConfigurationContentAndSharingV2025R0.java | 1190 +++++++++++++++++ ...gV2025R0CollaborationPermissionsField.java | 79 ++ ...V2025R0CollaborationRestrictionsField.java | 146 ++ ...ernalCollaborationAllowlistUsersField.java | 82 ++ ...025R0ExternalCollaborationStatusField.java | 116 ++ ...nalCollaborationStatusFieldValueField.java | 82 ++ ...0PermanentDeletionAllowlistUsersField.java | 82 ++ ...edLinkDefaultPermissionsSelectedField.java | 86 ++ ...rpriseConfigurationItemBooleanV2025R0.java | 80 ++ ...rpriseConfigurationItemIntegerV2025R0.java | 80 ++ ...erpriseConfigurationItemStringV2025R0.java | 79 ++ .../EnterpriseConfigurationItemV2025R0.java | 66 + ...nterpriseConfigurationSecurityV2025R0.java | 729 ++++++++++ ...025R0CustomSessionDurationGroupsField.java | 80 ++ ...urityV2025R0EnforcedMfaFrequencyField.java | 78 ++ ...R0EnforcedMfaFrequencyFieldValueField.java | 92 ++ ...nalCollabMultiFactorAuthSettingsField.java | 81 ++ ...figurationSecurityV2025R0KeysafeField.java | 78 ++ ...curityV2025R0LastPasswordResetAtField.java | 87 ++ .../EnterpriseConfigurationShieldV2025R0.java | 68 + ...priseConfigurationUserSettingsV2025R0.java | 485 +++++++ ...SettingsV2025R0UserTrackingCodesField.java | 79 ++ .../EnterpriseConfigurationV2025R0.java | 188 +++ ...terpriseConfigurationV2025R0TypeField.java | 62 + .../EnterpriseFeatureSettingsItemV2025R0.java | 77 ++ .../EnterpriseFeatureSettingV2025R0.java | 202 +++ ...riseFeatureSettingV2025R0FeatureField.java | 66 + ...ExternalCollabSecuritySettingsV2025R0.java | 259 ++++ .../KeysafeSettingsV2025R0.java | 210 +++ .../listuserv2025r0/ListUserV2025R0.java | 112 ++ .../SharedLinkPermissionsV2025R0.java | 146 ++ .../ShieldRuleItemV2025R0.java | 240 ++++ .../ShieldRuleItemV2025R0PriorityField.java | 66 + .../ShieldRuleItemV2025R0TypeField.java | 62 + .../UserOrGroupReferenceV2025R0.java | 102 ++ .../UserOrGroupReferenceV2025R0TypeField.java | 63 + .../UserTrackingCodeV2025R0.java | 82 ++ 48 files changed, 6566 insertions(+), 2 deletions(-) create mode 100644 docs/enterpriseconfigurations.md create mode 100644 src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/EnterpriseConfigurationsManager.java create mode 100644 src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0Headers.java create mode 100644 src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0QueryParams.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationpermissionsv2025r0/CollaborationPermissionsV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationrestrictionv2025r0/CollaborationRestrictionV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/customsessiondurationgroupitemv2025r0/CustomSessionDurationGroupItemV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitembooleanv2025r0/EnterpriseConfigurationItemBooleanV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemintegerv2025r0/EnterpriseConfigurationItemIntegerV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemstringv2025r0/EnterpriseConfigurationItemStringV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemv2025r0/EnterpriseConfigurationItemV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0KeysafeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationshieldv2025r0/EnterpriseConfigurationShieldV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0TypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingsitemv2025r0/EnterpriseFeatureSettingsItemV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0FeatureField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/externalcollabsecuritysettingsv2025r0/ExternalCollabSecuritySettingsV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/keysafesettingsv2025r0/KeysafeSettingsV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/listuserv2025r0/ListUserV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/sharedlinkpermissionsv2025r0/SharedLinkPermissionsV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0PriorityField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0TypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0TypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/v2025r0/usertrackingcodev2025r0/UserTrackingCodeV2025R0.java diff --git a/.codegen.json b/.codegen.json index f674cde15..583fdccdb 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "192deac", "specHash": "fa34496", "version": "10.1.0" } +{ "engineHash": "192deac", "specHash": "cf21406", "version": "10.1.0" } diff --git a/docs/README.md b/docs/README.md index f33f1ff46..ebdc4844d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -22,6 +22,7 @@ the SDK are available by topic: * [Docgentemplate](docgentemplate.md) * [Downloads](downloads.md) * [Emailaliases](emailaliases.md) +* [Enterpriseconfigurations](enterpriseconfigurations.md) * [Events](events.md) * [Externalusers](externalusers.md) * [Fileclassifications](fileclassifications.md) diff --git a/docs/enterpriseconfigurations.md b/docs/enterpriseconfigurations.md new file mode 100644 index 000000000..668633c95 --- /dev/null +++ b/docs/enterpriseconfigurations.md @@ -0,0 +1,33 @@ +# EnterpriseConfigurationsManager + + +- [Get enterprise configuration](#get-enterprise-configuration) + +## Get enterprise configuration + +Retrieves the configuration for an enterprise. + +This operation is performed by calling function `getEnterpriseConfigurationByIdV2025R0`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/v2025.0/get-enterprise-configurations-id/). + +*Currently we don't have an example for calling `getEnterpriseConfigurationByIdV2025R0` in integration tests* + +### Arguments + +- enterpriseId `String` + - The ID of the enterprise. Example: "3442311" +- queryParams `GetEnterpriseConfigurationByIdV2025R0QueryParams` + - Query parameters of getEnterpriseConfigurationByIdV2025R0 method +- headers `GetEnterpriseConfigurationByIdV2025R0Headers` + - Headers of getEnterpriseConfigurationByIdV2025R0 method + + +### Returns + +This function returns a value of type `EnterpriseConfigurationV2025R0`. + +Returns the enterprise configuration. + + diff --git a/src/main/java/com/box/sdkgen/client/BoxClient.java b/src/main/java/com/box/sdkgen/client/BoxClient.java index f22dcccbc..ddaa620af 100644 --- a/src/main/java/com/box/sdkgen/client/BoxClient.java +++ b/src/main/java/com/box/sdkgen/client/BoxClient.java @@ -20,6 +20,7 @@ import com.box.sdkgen.managers.docgentemplate.DocgenTemplateManager; import com.box.sdkgen.managers.downloads.DownloadsManager; import com.box.sdkgen.managers.emailaliases.EmailAliasesManager; +import com.box.sdkgen.managers.enterpriseconfigurations.EnterpriseConfigurationsManager; import com.box.sdkgen.managers.events.EventsManager; import com.box.sdkgen.managers.externalusers.ExternalUsersManager; import com.box.sdkgen.managers.fileclassifications.FileClassificationsManager; @@ -248,6 +249,8 @@ public class BoxClient { public final DocgenManager docgen; + public final EnterpriseConfigurationsManager enterpriseConfigurations; + public final HubsManager hubs; public final HubCollaborationsManager hubCollaborations; @@ -572,6 +575,11 @@ public BoxClient(Authentication auth) { .build(); this.docgen = new DocgenManager.Builder().auth(this.auth).networkSession(this.networkSession).build(); + this.enterpriseConfigurations = + new EnterpriseConfigurationsManager.Builder() + .auth(this.auth) + .networkSession(this.networkSession) + .build(); this.hubs = new HubsManager.Builder().auth(this.auth).networkSession(this.networkSession).build(); this.hubCollaborations = @@ -907,6 +915,11 @@ protected BoxClient(Builder builder) { .build(); this.docgen = new DocgenManager.Builder().auth(this.auth).networkSession(this.networkSession).build(); + this.enterpriseConfigurations = + new EnterpriseConfigurationsManager.Builder() + .auth(this.auth) + .networkSession(this.networkSession) + .build(); this.hubs = new HubsManager.Builder().auth(this.auth).networkSession(this.networkSession).build(); this.hubCollaborations = @@ -1336,6 +1349,10 @@ public DocgenManager getDocgen() { return docgen; } + public EnterpriseConfigurationsManager getEnterpriseConfigurations() { + return enterpriseConfigurations; + } + public HubsManager getHubs() { return hubs; } diff --git a/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/EnterpriseConfigurationsManager.java b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/EnterpriseConfigurationsManager.java new file mode 100644 index 000000000..7a30e3f5c --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/EnterpriseConfigurationsManager.java @@ -0,0 +1,115 @@ +package com.box.sdkgen.managers.enterpriseconfigurations; + +import static com.box.sdkgen.internal.utils.UtilsManager.convertToString; +import static com.box.sdkgen.internal.utils.UtilsManager.entryOf; +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; +import static com.box.sdkgen.internal.utils.UtilsManager.mergeMaps; +import static com.box.sdkgen.internal.utils.UtilsManager.prepareParams; + +import com.box.sdkgen.networking.auth.Authentication; +import com.box.sdkgen.networking.fetchoptions.FetchOptions; +import com.box.sdkgen.networking.fetchoptions.ResponseFormat; +import com.box.sdkgen.networking.fetchresponse.FetchResponse; +import com.box.sdkgen.networking.network.NetworkSession; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationv2025r0.EnterpriseConfigurationV2025R0; +import com.box.sdkgen.serialization.json.JsonManager; +import java.util.Map; + +public class EnterpriseConfigurationsManager { + + public Authentication auth; + + public NetworkSession networkSession; + + public EnterpriseConfigurationsManager() { + this.networkSession = new NetworkSession(); + } + + protected EnterpriseConfigurationsManager(Builder builder) { + this.auth = builder.auth; + this.networkSession = builder.networkSession; + } + + /** + * Retrieves the configuration for an enterprise. + * + * @param enterpriseId The ID of the enterprise. Example: "3442311" + * @param queryParams Query parameters of getEnterpriseConfigurationByIdV2025R0 method + */ + public EnterpriseConfigurationV2025R0 getEnterpriseConfigurationByIdV2025R0( + String enterpriseId, GetEnterpriseConfigurationByIdV2025R0QueryParams queryParams) { + return getEnterpriseConfigurationByIdV2025R0( + enterpriseId, queryParams, new GetEnterpriseConfigurationByIdV2025R0Headers()); + } + + /** + * Retrieves the configuration for an enterprise. + * + * @param enterpriseId The ID of the enterprise. Example: "3442311" + * @param queryParams Query parameters of getEnterpriseConfigurationByIdV2025R0 method + * @param headers Headers of getEnterpriseConfigurationByIdV2025R0 method + */ + public EnterpriseConfigurationV2025R0 getEnterpriseConfigurationByIdV2025R0( + String enterpriseId, + GetEnterpriseConfigurationByIdV2025R0QueryParams queryParams, + GetEnterpriseConfigurationByIdV2025R0Headers headers) { + Map queryParamsMap = + prepareParams(mapOf(entryOf("categories", convertToString(queryParams.getCategories())))); + Map headersMap = + prepareParams( + mergeMaps( + mapOf(entryOf("box-version", convertToString(headers.getBoxVersion()))), + headers.getExtraHeaders())); + FetchResponse response = + this.networkSession + .getNetworkClient() + .fetch( + new FetchOptions.Builder( + String.join( + "", + this.networkSession.getBaseUrls().getBaseUrl(), + "/2.0/enterprise_configurations/", + convertToString(enterpriseId)), + "GET") + .params(queryParamsMap) + .headers(headersMap) + .responseFormat(ResponseFormat.JSON) + .auth(this.auth) + .networkSession(this.networkSession) + .build()); + return JsonManager.deserialize(response.getData(), EnterpriseConfigurationV2025R0.class); + } + + public Authentication getAuth() { + return auth; + } + + public NetworkSession getNetworkSession() { + return networkSession; + } + + public static class Builder { + + protected Authentication auth; + + protected NetworkSession networkSession; + + public Builder() { + this.networkSession = new NetworkSession(); + } + + public Builder auth(Authentication auth) { + this.auth = auth; + return this; + } + + public Builder networkSession(NetworkSession networkSession) { + this.networkSession = networkSession; + return this; + } + + public EnterpriseConfigurationsManager build() { + return new EnterpriseConfigurationsManager(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0Headers.java b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0Headers.java new file mode 100644 index 000000000..49e5a1e23 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0Headers.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.managers.enterpriseconfigurations; + +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; + +import com.box.sdkgen.parameters.v2025r0.boxversionheaderv2025r0.BoxVersionHeaderV2025R0; +import com.box.sdkgen.serialization.json.EnumWrapper; +import java.util.Map; + +public class GetEnterpriseConfigurationByIdV2025R0Headers { + + /** Version header. */ + public EnumWrapper boxVersion; + + /** Extra headers that will be included in the HTTP request. */ + public Map extraHeaders; + + public GetEnterpriseConfigurationByIdV2025R0Headers() { + this.boxVersion = new EnumWrapper(BoxVersionHeaderV2025R0._2025_0); + this.extraHeaders = mapOf(); + } + + protected GetEnterpriseConfigurationByIdV2025R0Headers(Builder builder) { + this.boxVersion = builder.boxVersion; + this.extraHeaders = builder.extraHeaders; + } + + public EnumWrapper getBoxVersion() { + return boxVersion; + } + + public Map getExtraHeaders() { + return extraHeaders; + } + + public static class Builder { + + protected EnumWrapper boxVersion; + + protected Map extraHeaders; + + public Builder() { + this.boxVersion = new EnumWrapper(BoxVersionHeaderV2025R0._2025_0); + this.extraHeaders = mapOf(); + } + + public Builder boxVersion(BoxVersionHeaderV2025R0 boxVersion) { + this.boxVersion = new EnumWrapper(boxVersion); + return this; + } + + public Builder boxVersion(EnumWrapper boxVersion) { + this.boxVersion = boxVersion; + return this; + } + + public Builder extraHeaders(Map extraHeaders) { + this.extraHeaders = extraHeaders; + return this; + } + + public GetEnterpriseConfigurationByIdV2025R0Headers build() { + return new GetEnterpriseConfigurationByIdV2025R0Headers(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0QueryParams.java b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0QueryParams.java new file mode 100644 index 000000000..32ff3727b --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/enterpriseconfigurations/GetEnterpriseConfigurationByIdV2025R0QueryParams.java @@ -0,0 +1,18 @@ +package com.box.sdkgen.managers.enterpriseconfigurations; + +public class GetEnterpriseConfigurationByIdV2025R0QueryParams { + + /** + * The comma-delimited list of the enterprise configuration categories. Allowed values: + * `security`, `content_and_sharing`, `user_settings`, `shield`. + */ + public final String categories; + + public GetEnterpriseConfigurationByIdV2025R0QueryParams(String categories) { + this.categories = categories; + } + + public String getCategories() { + return categories; + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/enterprisebase/EnterpriseBase.java b/src/main/java/com/box/sdkgen/schemas/enterprisebase/EnterpriseBase.java index 306fcb499..5bbaa4bfb 100644 --- a/src/main/java/com/box/sdkgen/schemas/enterprisebase/EnterpriseBase.java +++ b/src/main/java/com/box/sdkgen/schemas/enterprisebase/EnterpriseBase.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.util.Objects; -/** A mini representation of a enterprise, used when nested within another resource. */ +/** A representation of a enterprise, used when nested within another resource. */ @JsonFilter("nullablePropertyFilter") public class EnterpriseBase extends SerializableObject { diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationpermissionsv2025r0/CollaborationPermissionsV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationpermissionsv2025r0/CollaborationPermissionsV2025R0.java new file mode 100644 index 000000000..513b30e2c --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationpermissionsv2025r0/CollaborationPermissionsV2025R0.java @@ -0,0 +1,203 @@ +package com.box.sdkgen.schemas.v2025r0.collaborationpermissionsv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** The collaboration permissions. */ +@JsonFilter("nullablePropertyFilter") +public class CollaborationPermissionsV2025R0 extends SerializableObject { + + /** The co-owner role is enabled for collaboration. */ + @JsonProperty("is_co_owner_role_enabled") + protected Boolean isCoOwnerRoleEnabled; + + /** The editor role is enabled for collaboration. */ + @JsonProperty("is_editor_role_enabled") + protected Boolean isEditorRoleEnabled; + + /** The previewer role is enabled for collaboration. */ + @JsonProperty("is_previewer_role_enabled") + protected Boolean isPreviewerRoleEnabled; + + /** The previewer uploader role is enabled for collaboration. */ + @JsonProperty("is_previewer_uploader_role_enabled") + protected Boolean isPreviewerUploaderRoleEnabled; + + /** The uploader role is enabled for collaboration. */ + @JsonProperty("is_uploader_role_enabled") + protected Boolean isUploaderRoleEnabled; + + /** The viewer role is enabled for collaboration. */ + @JsonProperty("is_viewer_role_enabled") + protected Boolean isViewerRoleEnabled; + + /** The viewer uploader role is enabled for collaboration. */ + @JsonProperty("is_viewer_uploader_role_enabled") + protected Boolean isViewerUploaderRoleEnabled; + + public CollaborationPermissionsV2025R0() { + super(); + } + + protected CollaborationPermissionsV2025R0(Builder builder) { + super(); + this.isCoOwnerRoleEnabled = builder.isCoOwnerRoleEnabled; + this.isEditorRoleEnabled = builder.isEditorRoleEnabled; + this.isPreviewerRoleEnabled = builder.isPreviewerRoleEnabled; + this.isPreviewerUploaderRoleEnabled = builder.isPreviewerUploaderRoleEnabled; + this.isUploaderRoleEnabled = builder.isUploaderRoleEnabled; + this.isViewerRoleEnabled = builder.isViewerRoleEnabled; + this.isViewerUploaderRoleEnabled = builder.isViewerUploaderRoleEnabled; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Boolean getIsCoOwnerRoleEnabled() { + return isCoOwnerRoleEnabled; + } + + public Boolean getIsEditorRoleEnabled() { + return isEditorRoleEnabled; + } + + public Boolean getIsPreviewerRoleEnabled() { + return isPreviewerRoleEnabled; + } + + public Boolean getIsPreviewerUploaderRoleEnabled() { + return isPreviewerUploaderRoleEnabled; + } + + public Boolean getIsUploaderRoleEnabled() { + return isUploaderRoleEnabled; + } + + public Boolean getIsViewerRoleEnabled() { + return isViewerRoleEnabled; + } + + public Boolean getIsViewerUploaderRoleEnabled() { + return isViewerUploaderRoleEnabled; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CollaborationPermissionsV2025R0 casted = (CollaborationPermissionsV2025R0) o; + return Objects.equals(isCoOwnerRoleEnabled, casted.isCoOwnerRoleEnabled) + && Objects.equals(isEditorRoleEnabled, casted.isEditorRoleEnabled) + && Objects.equals(isPreviewerRoleEnabled, casted.isPreviewerRoleEnabled) + && Objects.equals(isPreviewerUploaderRoleEnabled, casted.isPreviewerUploaderRoleEnabled) + && Objects.equals(isUploaderRoleEnabled, casted.isUploaderRoleEnabled) + && Objects.equals(isViewerRoleEnabled, casted.isViewerRoleEnabled) + && Objects.equals(isViewerUploaderRoleEnabled, casted.isViewerUploaderRoleEnabled); + } + + @Override + public int hashCode() { + return Objects.hash( + isCoOwnerRoleEnabled, + isEditorRoleEnabled, + isPreviewerRoleEnabled, + isPreviewerUploaderRoleEnabled, + isUploaderRoleEnabled, + isViewerRoleEnabled, + isViewerUploaderRoleEnabled); + } + + @Override + public String toString() { + return "CollaborationPermissionsV2025R0{" + + "isCoOwnerRoleEnabled='" + + isCoOwnerRoleEnabled + + '\'' + + ", " + + "isEditorRoleEnabled='" + + isEditorRoleEnabled + + '\'' + + ", " + + "isPreviewerRoleEnabled='" + + isPreviewerRoleEnabled + + '\'' + + ", " + + "isPreviewerUploaderRoleEnabled='" + + isPreviewerUploaderRoleEnabled + + '\'' + + ", " + + "isUploaderRoleEnabled='" + + isUploaderRoleEnabled + + '\'' + + ", " + + "isViewerRoleEnabled='" + + isViewerRoleEnabled + + '\'' + + ", " + + "isViewerUploaderRoleEnabled='" + + isViewerUploaderRoleEnabled + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Boolean isCoOwnerRoleEnabled; + + protected Boolean isEditorRoleEnabled; + + protected Boolean isPreviewerRoleEnabled; + + protected Boolean isPreviewerUploaderRoleEnabled; + + protected Boolean isUploaderRoleEnabled; + + protected Boolean isViewerRoleEnabled; + + protected Boolean isViewerUploaderRoleEnabled; + + public Builder isCoOwnerRoleEnabled(Boolean isCoOwnerRoleEnabled) { + this.isCoOwnerRoleEnabled = isCoOwnerRoleEnabled; + return this; + } + + public Builder isEditorRoleEnabled(Boolean isEditorRoleEnabled) { + this.isEditorRoleEnabled = isEditorRoleEnabled; + return this; + } + + public Builder isPreviewerRoleEnabled(Boolean isPreviewerRoleEnabled) { + this.isPreviewerRoleEnabled = isPreviewerRoleEnabled; + return this; + } + + public Builder isPreviewerUploaderRoleEnabled(Boolean isPreviewerUploaderRoleEnabled) { + this.isPreviewerUploaderRoleEnabled = isPreviewerUploaderRoleEnabled; + return this; + } + + public Builder isUploaderRoleEnabled(Boolean isUploaderRoleEnabled) { + this.isUploaderRoleEnabled = isUploaderRoleEnabled; + return this; + } + + public Builder isViewerRoleEnabled(Boolean isViewerRoleEnabled) { + this.isViewerRoleEnabled = isViewerRoleEnabled; + return this; + } + + public Builder isViewerUploaderRoleEnabled(Boolean isViewerUploaderRoleEnabled) { + this.isViewerUploaderRoleEnabled = isViewerUploaderRoleEnabled; + return this; + } + + public CollaborationPermissionsV2025R0 build() { + return new CollaborationPermissionsV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationrestrictionv2025r0/CollaborationRestrictionV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationrestrictionv2025r0/CollaborationRestrictionV2025R0.java new file mode 100644 index 000000000..779ba985d --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/collaborationrestrictionv2025r0/CollaborationRestrictionV2025R0.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.v2025r0.collaborationrestrictionv2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum CollaborationRestrictionV2025R0 implements Valuable { + INTERNAL("internal"), + EXTERNAL("external"); + + private final String value; + + CollaborationRestrictionV2025R0(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class CollaborationRestrictionV2025R0Deserializer + extends JsonDeserializer> { + + public CollaborationRestrictionV2025R0Deserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(CollaborationRestrictionV2025R0.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class CollaborationRestrictionV2025R0Serializer + extends JsonSerializer> { + + public CollaborationRestrictionV2025R0Serializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/customsessiondurationgroupitemv2025r0/CustomSessionDurationGroupItemV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/customsessiondurationgroupitemv2025r0/CustomSessionDurationGroupItemV2025R0.java new file mode 100644 index 000000000..c3ad7cfca --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/customsessiondurationgroupitemv2025r0/CustomSessionDurationGroupItemV2025R0.java @@ -0,0 +1,87 @@ +package com.box.sdkgen.schemas.v2025r0.customsessiondurationgroupitemv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** A custom session duration group item. */ +@JsonFilter("nullablePropertyFilter") +public class CustomSessionDurationGroupItemV2025R0 extends SerializableObject { + + /** Group ID (numerical). */ + protected String id; + + /** Group Name. */ + protected String name; + + public CustomSessionDurationGroupItemV2025R0() { + super(); + } + + protected CustomSessionDurationGroupItemV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.name = builder.name; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomSessionDurationGroupItemV2025R0 casted = (CustomSessionDurationGroupItemV2025R0) o; + return Objects.equals(id, casted.id) && Objects.equals(name, casted.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + return "CustomSessionDurationGroupItemV2025R0{" + + "id='" + + id + + '\'' + + ", " + + "name='" + + name + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String id; + + protected String name; + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public CustomSessionDurationGroupItemV2025R0 build() { + return new CustomSessionDurationGroupItemV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0.java new file mode 100644 index 000000000..b3493fe63 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0.java @@ -0,0 +1,1190 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0.EnterpriseConfigurationItemBooleanV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0.EnterpriseConfigurationItemIntegerV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0.EnterpriseConfigurationItemStringV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingsitemv2025r0.EnterpriseFeatureSettingsItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Objects; + +/** The enterprise configuration for the content and sharing category. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0 extends SerializableObject { + + @JsonProperty("enterprise_feature_settings") + protected List enterpriseFeatureSettings; + + @JsonProperty("sharing_item_type") + protected EnterpriseConfigurationItemStringV2025R0 sharingItemType; + + @JsonProperty("shared_link_company_definition") + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkCompanyDefinition; + + @JsonProperty("shared_link_access") + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkAccess; + + @JsonProperty("shared_link_default_access") + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkDefaultAccess; + + @JsonProperty("shared_link_default_permissions_selected") + protected EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + sharedLinkDefaultPermissionsSelected; + + @JsonProperty("is_open_custom_urls_disabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isOpenCustomUrlsDisabled; + + @JsonProperty("is_custom_domain_hidden_in_shared_link") + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomDomainHiddenInSharedLink; + + @JsonProperty("collaboration_permissions") + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField + collaborationPermissions; + + @JsonProperty("default_collaboration_role") + protected EnterpriseConfigurationItemStringV2025R0 defaultCollaborationRole; + + @JsonProperty("is_invite_privilege_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isInvitePrivilegeRestricted; + + @JsonProperty("collaboration_restrictions") + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField + collaborationRestrictions; + + @JsonProperty("is_collaborator_invite_links_disabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isCollaboratorInviteLinksDisabled; + + @JsonProperty("is_invite_group_collaborator_disabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isInviteGroupCollaboratorDisabled; + + @JsonProperty("is_ownership_transfer_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isOwnershipTransferRestricted; + + @JsonProperty("external_collaboration_status") + protected EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField + externalCollaborationStatus; + + @JsonProperty("external_collaboration_allowlist_users") + protected EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + externalCollaborationAllowlistUsers; + + @JsonProperty("is_watermarking_enterprise_feature_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isWatermarkingEnterpriseFeatureEnabled; + + @JsonProperty("is_root_content_creation_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isRootContentCreationRestricted; + + @JsonProperty("is_tag_creation_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isTagCreationRestricted; + + @JsonProperty("tag_creation_restriction") + protected EnterpriseConfigurationItemStringV2025R0 tagCreationRestriction; + + @JsonProperty("is_email_uploads_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isEmailUploadsEnabled; + + @JsonProperty("is_custom_settings_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSettingsEnabled; + + @JsonProperty("is_forms_login_required") + protected EnterpriseConfigurationItemBooleanV2025R0 isFormsLoginRequired; + + @JsonProperty("is_forms_branding_default_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isFormsBrandingDefaultEnabled; + + @JsonProperty("is_cc_free_trial_active") + protected EnterpriseConfigurationItemBooleanV2025R0 isCcFreeTrialActive; + + @JsonProperty("is_file_request_editors_allowed") + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestEditorsAllowed; + + @JsonProperty("is_file_request_branding_default_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestBrandingDefaultEnabled; + + @JsonProperty("is_file_request_login_required") + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestLoginRequired; + + @JsonProperty("is_shared_links_expiration_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationEnabled; + + @JsonProperty("shared_links_expiration_days") + protected EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationDays; + + @JsonProperty("is_public_shared_links_expiration_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isPublicSharedLinksExpirationEnabled; + + @JsonProperty("public_shared_links_expiration_days") + protected EnterpriseConfigurationItemIntegerV2025R0 publicSharedLinksExpirationDays; + + @JsonProperty("shared_expiration_target") + protected EnterpriseConfigurationItemStringV2025R0 sharedExpirationTarget; + + @JsonProperty("is_shared_links_expiration_notification_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationNotificationEnabled; + + @JsonProperty("shared_links_expiration_notification_days") + protected EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationNotificationDays; + + @JsonProperty("is_shared_links_expiration_notification_prevented") + protected EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationNotificationPrevented; + + @JsonProperty("is_auto_delete_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteEnabled; + + @JsonProperty("auto_delete_days") + protected EnterpriseConfigurationItemIntegerV2025R0 autoDeleteDays; + + @JsonProperty("is_auto_delete_expiration_modification_prevented") + protected EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteExpirationModificationPrevented; + + @JsonProperty("auto_delete_target") + protected EnterpriseConfigurationItemStringV2025R0 autoDeleteTarget; + + @JsonProperty("is_collaboration_expiration_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationEnabled; + + @JsonProperty("collaboration_expiration_days") + protected EnterpriseConfigurationItemIntegerV2025R0 collaborationExpirationDays; + + @JsonProperty("is_collaboration_expiration_modification_prevented") + protected EnterpriseConfigurationItemBooleanV2025R0 + isCollaborationExpirationModificationPrevented; + + @JsonProperty("is_collaboration_expiration_notification_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationNotificationEnabled; + + @JsonProperty("collaboration_expiration_target") + protected EnterpriseConfigurationItemStringV2025R0 collaborationExpirationTarget; + + @JsonProperty("trash_auto_clear_time") + protected EnterpriseConfigurationItemIntegerV2025R0 trashAutoClearTime; + + @JsonProperty("permanent_deletion_access") + protected EnterpriseConfigurationItemStringV2025R0 permanentDeletionAccess; + + @JsonProperty("permanent_deletion_allowlist_users") + protected EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + permanentDeletionAllowlistUsers; + + public EnterpriseConfigurationContentAndSharingV2025R0() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0(Builder builder) { + super(); + this.enterpriseFeatureSettings = builder.enterpriseFeatureSettings; + this.sharingItemType = builder.sharingItemType; + this.sharedLinkCompanyDefinition = builder.sharedLinkCompanyDefinition; + this.sharedLinkAccess = builder.sharedLinkAccess; + this.sharedLinkDefaultAccess = builder.sharedLinkDefaultAccess; + this.sharedLinkDefaultPermissionsSelected = builder.sharedLinkDefaultPermissionsSelected; + this.isOpenCustomUrlsDisabled = builder.isOpenCustomUrlsDisabled; + this.isCustomDomainHiddenInSharedLink = builder.isCustomDomainHiddenInSharedLink; + this.collaborationPermissions = builder.collaborationPermissions; + this.defaultCollaborationRole = builder.defaultCollaborationRole; + this.isInvitePrivilegeRestricted = builder.isInvitePrivilegeRestricted; + this.collaborationRestrictions = builder.collaborationRestrictions; + this.isCollaboratorInviteLinksDisabled = builder.isCollaboratorInviteLinksDisabled; + this.isInviteGroupCollaboratorDisabled = builder.isInviteGroupCollaboratorDisabled; + this.isOwnershipTransferRestricted = builder.isOwnershipTransferRestricted; + this.externalCollaborationStatus = builder.externalCollaborationStatus; + this.externalCollaborationAllowlistUsers = builder.externalCollaborationAllowlistUsers; + this.isWatermarkingEnterpriseFeatureEnabled = builder.isWatermarkingEnterpriseFeatureEnabled; + this.isRootContentCreationRestricted = builder.isRootContentCreationRestricted; + this.isTagCreationRestricted = builder.isTagCreationRestricted; + this.tagCreationRestriction = builder.tagCreationRestriction; + this.isEmailUploadsEnabled = builder.isEmailUploadsEnabled; + this.isCustomSettingsEnabled = builder.isCustomSettingsEnabled; + this.isFormsLoginRequired = builder.isFormsLoginRequired; + this.isFormsBrandingDefaultEnabled = builder.isFormsBrandingDefaultEnabled; + this.isCcFreeTrialActive = builder.isCcFreeTrialActive; + this.isFileRequestEditorsAllowed = builder.isFileRequestEditorsAllowed; + this.isFileRequestBrandingDefaultEnabled = builder.isFileRequestBrandingDefaultEnabled; + this.isFileRequestLoginRequired = builder.isFileRequestLoginRequired; + this.isSharedLinksExpirationEnabled = builder.isSharedLinksExpirationEnabled; + this.sharedLinksExpirationDays = builder.sharedLinksExpirationDays; + this.isPublicSharedLinksExpirationEnabled = builder.isPublicSharedLinksExpirationEnabled; + this.publicSharedLinksExpirationDays = builder.publicSharedLinksExpirationDays; + this.sharedExpirationTarget = builder.sharedExpirationTarget; + this.isSharedLinksExpirationNotificationEnabled = + builder.isSharedLinksExpirationNotificationEnabled; + this.sharedLinksExpirationNotificationDays = builder.sharedLinksExpirationNotificationDays; + this.isSharedLinksExpirationNotificationPrevented = + builder.isSharedLinksExpirationNotificationPrevented; + this.isAutoDeleteEnabled = builder.isAutoDeleteEnabled; + this.autoDeleteDays = builder.autoDeleteDays; + this.isAutoDeleteExpirationModificationPrevented = + builder.isAutoDeleteExpirationModificationPrevented; + this.autoDeleteTarget = builder.autoDeleteTarget; + this.isCollaborationExpirationEnabled = builder.isCollaborationExpirationEnabled; + this.collaborationExpirationDays = builder.collaborationExpirationDays; + this.isCollaborationExpirationModificationPrevented = + builder.isCollaborationExpirationModificationPrevented; + this.isCollaborationExpirationNotificationEnabled = + builder.isCollaborationExpirationNotificationEnabled; + this.collaborationExpirationTarget = builder.collaborationExpirationTarget; + this.trashAutoClearTime = builder.trashAutoClearTime; + this.permanentDeletionAccess = builder.permanentDeletionAccess; + this.permanentDeletionAllowlistUsers = builder.permanentDeletionAllowlistUsers; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getEnterpriseFeatureSettings() { + return enterpriseFeatureSettings; + } + + public EnterpriseConfigurationItemStringV2025R0 getSharingItemType() { + return sharingItemType; + } + + public EnterpriseConfigurationItemStringV2025R0 getSharedLinkCompanyDefinition() { + return sharedLinkCompanyDefinition; + } + + public EnterpriseConfigurationItemStringV2025R0 getSharedLinkAccess() { + return sharedLinkAccess; + } + + public EnterpriseConfigurationItemStringV2025R0 getSharedLinkDefaultAccess() { + return sharedLinkDefaultAccess; + } + + public EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + getSharedLinkDefaultPermissionsSelected() { + return sharedLinkDefaultPermissionsSelected; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsOpenCustomUrlsDisabled() { + return isOpenCustomUrlsDisabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCustomDomainHiddenInSharedLink() { + return isCustomDomainHiddenInSharedLink; + } + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField + getCollaborationPermissions() { + return collaborationPermissions; + } + + public EnterpriseConfigurationItemStringV2025R0 getDefaultCollaborationRole() { + return defaultCollaborationRole; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsInvitePrivilegeRestricted() { + return isInvitePrivilegeRestricted; + } + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField + getCollaborationRestrictions() { + return collaborationRestrictions; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCollaboratorInviteLinksDisabled() { + return isCollaboratorInviteLinksDisabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsInviteGroupCollaboratorDisabled() { + return isInviteGroupCollaboratorDisabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsOwnershipTransferRestricted() { + return isOwnershipTransferRestricted; + } + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField + getExternalCollaborationStatus() { + return externalCollaborationStatus; + } + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + getExternalCollaborationAllowlistUsers() { + return externalCollaborationAllowlistUsers; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsWatermarkingEnterpriseFeatureEnabled() { + return isWatermarkingEnterpriseFeatureEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsRootContentCreationRestricted() { + return isRootContentCreationRestricted; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsTagCreationRestricted() { + return isTagCreationRestricted; + } + + public EnterpriseConfigurationItemStringV2025R0 getTagCreationRestriction() { + return tagCreationRestriction; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsEmailUploadsEnabled() { + return isEmailUploadsEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCustomSettingsEnabled() { + return isCustomSettingsEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsFormsLoginRequired() { + return isFormsLoginRequired; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsFormsBrandingDefaultEnabled() { + return isFormsBrandingDefaultEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCcFreeTrialActive() { + return isCcFreeTrialActive; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsFileRequestEditorsAllowed() { + return isFileRequestEditorsAllowed; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsFileRequestBrandingDefaultEnabled() { + return isFileRequestBrandingDefaultEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsFileRequestLoginRequired() { + return isFileRequestLoginRequired; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsSharedLinksExpirationEnabled() { + return isSharedLinksExpirationEnabled; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getSharedLinksExpirationDays() { + return sharedLinksExpirationDays; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsPublicSharedLinksExpirationEnabled() { + return isPublicSharedLinksExpirationEnabled; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getPublicSharedLinksExpirationDays() { + return publicSharedLinksExpirationDays; + } + + public EnterpriseConfigurationItemStringV2025R0 getSharedExpirationTarget() { + return sharedExpirationTarget; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsSharedLinksExpirationNotificationEnabled() { + return isSharedLinksExpirationNotificationEnabled; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getSharedLinksExpirationNotificationDays() { + return sharedLinksExpirationNotificationDays; + } + + public EnterpriseConfigurationItemBooleanV2025R0 + getIsSharedLinksExpirationNotificationPrevented() { + return isSharedLinksExpirationNotificationPrevented; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsAutoDeleteEnabled() { + return isAutoDeleteEnabled; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getAutoDeleteDays() { + return autoDeleteDays; + } + + public EnterpriseConfigurationItemBooleanV2025R0 + getIsAutoDeleteExpirationModificationPrevented() { + return isAutoDeleteExpirationModificationPrevented; + } + + public EnterpriseConfigurationItemStringV2025R0 getAutoDeleteTarget() { + return autoDeleteTarget; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCollaborationExpirationEnabled() { + return isCollaborationExpirationEnabled; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getCollaborationExpirationDays() { + return collaborationExpirationDays; + } + + public EnterpriseConfigurationItemBooleanV2025R0 + getIsCollaborationExpirationModificationPrevented() { + return isCollaborationExpirationModificationPrevented; + } + + public EnterpriseConfigurationItemBooleanV2025R0 + getIsCollaborationExpirationNotificationEnabled() { + return isCollaborationExpirationNotificationEnabled; + } + + public EnterpriseConfigurationItemStringV2025R0 getCollaborationExpirationTarget() { + return collaborationExpirationTarget; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getTrashAutoClearTime() { + return trashAutoClearTime; + } + + public EnterpriseConfigurationItemStringV2025R0 getPermanentDeletionAccess() { + return permanentDeletionAccess; + } + + public EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + getPermanentDeletionAllowlistUsers() { + return permanentDeletionAllowlistUsers; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0 casted = + (EnterpriseConfigurationContentAndSharingV2025R0) o; + return Objects.equals(enterpriseFeatureSettings, casted.enterpriseFeatureSettings) + && Objects.equals(sharingItemType, casted.sharingItemType) + && Objects.equals(sharedLinkCompanyDefinition, casted.sharedLinkCompanyDefinition) + && Objects.equals(sharedLinkAccess, casted.sharedLinkAccess) + && Objects.equals(sharedLinkDefaultAccess, casted.sharedLinkDefaultAccess) + && Objects.equals( + sharedLinkDefaultPermissionsSelected, casted.sharedLinkDefaultPermissionsSelected) + && Objects.equals(isOpenCustomUrlsDisabled, casted.isOpenCustomUrlsDisabled) + && Objects.equals(isCustomDomainHiddenInSharedLink, casted.isCustomDomainHiddenInSharedLink) + && Objects.equals(collaborationPermissions, casted.collaborationPermissions) + && Objects.equals(defaultCollaborationRole, casted.defaultCollaborationRole) + && Objects.equals(isInvitePrivilegeRestricted, casted.isInvitePrivilegeRestricted) + && Objects.equals(collaborationRestrictions, casted.collaborationRestrictions) + && Objects.equals( + isCollaboratorInviteLinksDisabled, casted.isCollaboratorInviteLinksDisabled) + && Objects.equals( + isInviteGroupCollaboratorDisabled, casted.isInviteGroupCollaboratorDisabled) + && Objects.equals(isOwnershipTransferRestricted, casted.isOwnershipTransferRestricted) + && Objects.equals(externalCollaborationStatus, casted.externalCollaborationStatus) + && Objects.equals( + externalCollaborationAllowlistUsers, casted.externalCollaborationAllowlistUsers) + && Objects.equals( + isWatermarkingEnterpriseFeatureEnabled, casted.isWatermarkingEnterpriseFeatureEnabled) + && Objects.equals(isRootContentCreationRestricted, casted.isRootContentCreationRestricted) + && Objects.equals(isTagCreationRestricted, casted.isTagCreationRestricted) + && Objects.equals(tagCreationRestriction, casted.tagCreationRestriction) + && Objects.equals(isEmailUploadsEnabled, casted.isEmailUploadsEnabled) + && Objects.equals(isCustomSettingsEnabled, casted.isCustomSettingsEnabled) + && Objects.equals(isFormsLoginRequired, casted.isFormsLoginRequired) + && Objects.equals(isFormsBrandingDefaultEnabled, casted.isFormsBrandingDefaultEnabled) + && Objects.equals(isCcFreeTrialActive, casted.isCcFreeTrialActive) + && Objects.equals(isFileRequestEditorsAllowed, casted.isFileRequestEditorsAllowed) + && Objects.equals( + isFileRequestBrandingDefaultEnabled, casted.isFileRequestBrandingDefaultEnabled) + && Objects.equals(isFileRequestLoginRequired, casted.isFileRequestLoginRequired) + && Objects.equals(isSharedLinksExpirationEnabled, casted.isSharedLinksExpirationEnabled) + && Objects.equals(sharedLinksExpirationDays, casted.sharedLinksExpirationDays) + && Objects.equals( + isPublicSharedLinksExpirationEnabled, casted.isPublicSharedLinksExpirationEnabled) + && Objects.equals(publicSharedLinksExpirationDays, casted.publicSharedLinksExpirationDays) + && Objects.equals(sharedExpirationTarget, casted.sharedExpirationTarget) + && Objects.equals( + isSharedLinksExpirationNotificationEnabled, + casted.isSharedLinksExpirationNotificationEnabled) + && Objects.equals( + sharedLinksExpirationNotificationDays, casted.sharedLinksExpirationNotificationDays) + && Objects.equals( + isSharedLinksExpirationNotificationPrevented, + casted.isSharedLinksExpirationNotificationPrevented) + && Objects.equals(isAutoDeleteEnabled, casted.isAutoDeleteEnabled) + && Objects.equals(autoDeleteDays, casted.autoDeleteDays) + && Objects.equals( + isAutoDeleteExpirationModificationPrevented, + casted.isAutoDeleteExpirationModificationPrevented) + && Objects.equals(autoDeleteTarget, casted.autoDeleteTarget) + && Objects.equals(isCollaborationExpirationEnabled, casted.isCollaborationExpirationEnabled) + && Objects.equals(collaborationExpirationDays, casted.collaborationExpirationDays) + && Objects.equals( + isCollaborationExpirationModificationPrevented, + casted.isCollaborationExpirationModificationPrevented) + && Objects.equals( + isCollaborationExpirationNotificationEnabled, + casted.isCollaborationExpirationNotificationEnabled) + && Objects.equals(collaborationExpirationTarget, casted.collaborationExpirationTarget) + && Objects.equals(trashAutoClearTime, casted.trashAutoClearTime) + && Objects.equals(permanentDeletionAccess, casted.permanentDeletionAccess) + && Objects.equals(permanentDeletionAllowlistUsers, casted.permanentDeletionAllowlistUsers); + } + + @Override + public int hashCode() { + return Objects.hash( + enterpriseFeatureSettings, + sharingItemType, + sharedLinkCompanyDefinition, + sharedLinkAccess, + sharedLinkDefaultAccess, + sharedLinkDefaultPermissionsSelected, + isOpenCustomUrlsDisabled, + isCustomDomainHiddenInSharedLink, + collaborationPermissions, + defaultCollaborationRole, + isInvitePrivilegeRestricted, + collaborationRestrictions, + isCollaboratorInviteLinksDisabled, + isInviteGroupCollaboratorDisabled, + isOwnershipTransferRestricted, + externalCollaborationStatus, + externalCollaborationAllowlistUsers, + isWatermarkingEnterpriseFeatureEnabled, + isRootContentCreationRestricted, + isTagCreationRestricted, + tagCreationRestriction, + isEmailUploadsEnabled, + isCustomSettingsEnabled, + isFormsLoginRequired, + isFormsBrandingDefaultEnabled, + isCcFreeTrialActive, + isFileRequestEditorsAllowed, + isFileRequestBrandingDefaultEnabled, + isFileRequestLoginRequired, + isSharedLinksExpirationEnabled, + sharedLinksExpirationDays, + isPublicSharedLinksExpirationEnabled, + publicSharedLinksExpirationDays, + sharedExpirationTarget, + isSharedLinksExpirationNotificationEnabled, + sharedLinksExpirationNotificationDays, + isSharedLinksExpirationNotificationPrevented, + isAutoDeleteEnabled, + autoDeleteDays, + isAutoDeleteExpirationModificationPrevented, + autoDeleteTarget, + isCollaborationExpirationEnabled, + collaborationExpirationDays, + isCollaborationExpirationModificationPrevented, + isCollaborationExpirationNotificationEnabled, + collaborationExpirationTarget, + trashAutoClearTime, + permanentDeletionAccess, + permanentDeletionAllowlistUsers); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0{" + + "enterpriseFeatureSettings='" + + enterpriseFeatureSettings + + '\'' + + ", " + + "sharingItemType='" + + sharingItemType + + '\'' + + ", " + + "sharedLinkCompanyDefinition='" + + sharedLinkCompanyDefinition + + '\'' + + ", " + + "sharedLinkAccess='" + + sharedLinkAccess + + '\'' + + ", " + + "sharedLinkDefaultAccess='" + + sharedLinkDefaultAccess + + '\'' + + ", " + + "sharedLinkDefaultPermissionsSelected='" + + sharedLinkDefaultPermissionsSelected + + '\'' + + ", " + + "isOpenCustomUrlsDisabled='" + + isOpenCustomUrlsDisabled + + '\'' + + ", " + + "isCustomDomainHiddenInSharedLink='" + + isCustomDomainHiddenInSharedLink + + '\'' + + ", " + + "collaborationPermissions='" + + collaborationPermissions + + '\'' + + ", " + + "defaultCollaborationRole='" + + defaultCollaborationRole + + '\'' + + ", " + + "isInvitePrivilegeRestricted='" + + isInvitePrivilegeRestricted + + '\'' + + ", " + + "collaborationRestrictions='" + + collaborationRestrictions + + '\'' + + ", " + + "isCollaboratorInviteLinksDisabled='" + + isCollaboratorInviteLinksDisabled + + '\'' + + ", " + + "isInviteGroupCollaboratorDisabled='" + + isInviteGroupCollaboratorDisabled + + '\'' + + ", " + + "isOwnershipTransferRestricted='" + + isOwnershipTransferRestricted + + '\'' + + ", " + + "externalCollaborationStatus='" + + externalCollaborationStatus + + '\'' + + ", " + + "externalCollaborationAllowlistUsers='" + + externalCollaborationAllowlistUsers + + '\'' + + ", " + + "isWatermarkingEnterpriseFeatureEnabled='" + + isWatermarkingEnterpriseFeatureEnabled + + '\'' + + ", " + + "isRootContentCreationRestricted='" + + isRootContentCreationRestricted + + '\'' + + ", " + + "isTagCreationRestricted='" + + isTagCreationRestricted + + '\'' + + ", " + + "tagCreationRestriction='" + + tagCreationRestriction + + '\'' + + ", " + + "isEmailUploadsEnabled='" + + isEmailUploadsEnabled + + '\'' + + ", " + + "isCustomSettingsEnabled='" + + isCustomSettingsEnabled + + '\'' + + ", " + + "isFormsLoginRequired='" + + isFormsLoginRequired + + '\'' + + ", " + + "isFormsBrandingDefaultEnabled='" + + isFormsBrandingDefaultEnabled + + '\'' + + ", " + + "isCcFreeTrialActive='" + + isCcFreeTrialActive + + '\'' + + ", " + + "isFileRequestEditorsAllowed='" + + isFileRequestEditorsAllowed + + '\'' + + ", " + + "isFileRequestBrandingDefaultEnabled='" + + isFileRequestBrandingDefaultEnabled + + '\'' + + ", " + + "isFileRequestLoginRequired='" + + isFileRequestLoginRequired + + '\'' + + ", " + + "isSharedLinksExpirationEnabled='" + + isSharedLinksExpirationEnabled + + '\'' + + ", " + + "sharedLinksExpirationDays='" + + sharedLinksExpirationDays + + '\'' + + ", " + + "isPublicSharedLinksExpirationEnabled='" + + isPublicSharedLinksExpirationEnabled + + '\'' + + ", " + + "publicSharedLinksExpirationDays='" + + publicSharedLinksExpirationDays + + '\'' + + ", " + + "sharedExpirationTarget='" + + sharedExpirationTarget + + '\'' + + ", " + + "isSharedLinksExpirationNotificationEnabled='" + + isSharedLinksExpirationNotificationEnabled + + '\'' + + ", " + + "sharedLinksExpirationNotificationDays='" + + sharedLinksExpirationNotificationDays + + '\'' + + ", " + + "isSharedLinksExpirationNotificationPrevented='" + + isSharedLinksExpirationNotificationPrevented + + '\'' + + ", " + + "isAutoDeleteEnabled='" + + isAutoDeleteEnabled + + '\'' + + ", " + + "autoDeleteDays='" + + autoDeleteDays + + '\'' + + ", " + + "isAutoDeleteExpirationModificationPrevented='" + + isAutoDeleteExpirationModificationPrevented + + '\'' + + ", " + + "autoDeleteTarget='" + + autoDeleteTarget + + '\'' + + ", " + + "isCollaborationExpirationEnabled='" + + isCollaborationExpirationEnabled + + '\'' + + ", " + + "collaborationExpirationDays='" + + collaborationExpirationDays + + '\'' + + ", " + + "isCollaborationExpirationModificationPrevented='" + + isCollaborationExpirationModificationPrevented + + '\'' + + ", " + + "isCollaborationExpirationNotificationEnabled='" + + isCollaborationExpirationNotificationEnabled + + '\'' + + ", " + + "collaborationExpirationTarget='" + + collaborationExpirationTarget + + '\'' + + ", " + + "trashAutoClearTime='" + + trashAutoClearTime + + '\'' + + ", " + + "permanentDeletionAccess='" + + permanentDeletionAccess + + '\'' + + ", " + + "permanentDeletionAllowlistUsers='" + + permanentDeletionAllowlistUsers + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected List enterpriseFeatureSettings; + + protected EnterpriseConfigurationItemStringV2025R0 sharingItemType; + + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkCompanyDefinition; + + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkAccess; + + protected EnterpriseConfigurationItemStringV2025R0 sharedLinkDefaultAccess; + + protected + EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + sharedLinkDefaultPermissionsSelected; + + protected EnterpriseConfigurationItemBooleanV2025R0 isOpenCustomUrlsDisabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomDomainHiddenInSharedLink; + + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField + collaborationPermissions; + + protected EnterpriseConfigurationItemStringV2025R0 defaultCollaborationRole; + + protected EnterpriseConfigurationItemBooleanV2025R0 isInvitePrivilegeRestricted; + + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField + collaborationRestrictions; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCollaboratorInviteLinksDisabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isInviteGroupCollaboratorDisabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isOwnershipTransferRestricted; + + protected EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField + externalCollaborationStatus; + + protected + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + externalCollaborationAllowlistUsers; + + protected EnterpriseConfigurationItemBooleanV2025R0 isWatermarkingEnterpriseFeatureEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isRootContentCreationRestricted; + + protected EnterpriseConfigurationItemBooleanV2025R0 isTagCreationRestricted; + + protected EnterpriseConfigurationItemStringV2025R0 tagCreationRestriction; + + protected EnterpriseConfigurationItemBooleanV2025R0 isEmailUploadsEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSettingsEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isFormsLoginRequired; + + protected EnterpriseConfigurationItemBooleanV2025R0 isFormsBrandingDefaultEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCcFreeTrialActive; + + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestEditorsAllowed; + + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestBrandingDefaultEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isFileRequestLoginRequired; + + protected EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationEnabled; + + protected EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationDays; + + protected EnterpriseConfigurationItemBooleanV2025R0 isPublicSharedLinksExpirationEnabled; + + protected EnterpriseConfigurationItemIntegerV2025R0 publicSharedLinksExpirationDays; + + protected EnterpriseConfigurationItemStringV2025R0 sharedExpirationTarget; + + protected EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationNotificationEnabled; + + protected EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationNotificationDays; + + protected EnterpriseConfigurationItemBooleanV2025R0 + isSharedLinksExpirationNotificationPrevented; + + protected EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteEnabled; + + protected EnterpriseConfigurationItemIntegerV2025R0 autoDeleteDays; + + protected EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteExpirationModificationPrevented; + + protected EnterpriseConfigurationItemStringV2025R0 autoDeleteTarget; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationEnabled; + + protected EnterpriseConfigurationItemIntegerV2025R0 collaborationExpirationDays; + + protected EnterpriseConfigurationItemBooleanV2025R0 + isCollaborationExpirationModificationPrevented; + + protected EnterpriseConfigurationItemBooleanV2025R0 + isCollaborationExpirationNotificationEnabled; + + protected EnterpriseConfigurationItemStringV2025R0 collaborationExpirationTarget; + + protected EnterpriseConfigurationItemIntegerV2025R0 trashAutoClearTime; + + protected EnterpriseConfigurationItemStringV2025R0 permanentDeletionAccess; + + protected EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + permanentDeletionAllowlistUsers; + + public Builder enterpriseFeatureSettings( + List enterpriseFeatureSettings) { + this.enterpriseFeatureSettings = enterpriseFeatureSettings; + return this; + } + + public Builder sharingItemType(EnterpriseConfigurationItemStringV2025R0 sharingItemType) { + this.sharingItemType = sharingItemType; + return this; + } + + public Builder sharedLinkCompanyDefinition( + EnterpriseConfigurationItemStringV2025R0 sharedLinkCompanyDefinition) { + this.sharedLinkCompanyDefinition = sharedLinkCompanyDefinition; + return this; + } + + public Builder sharedLinkAccess(EnterpriseConfigurationItemStringV2025R0 sharedLinkAccess) { + this.sharedLinkAccess = sharedLinkAccess; + return this; + } + + public Builder sharedLinkDefaultAccess( + EnterpriseConfigurationItemStringV2025R0 sharedLinkDefaultAccess) { + this.sharedLinkDefaultAccess = sharedLinkDefaultAccess; + return this; + } + + public Builder sharedLinkDefaultPermissionsSelected( + EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + sharedLinkDefaultPermissionsSelected) { + this.sharedLinkDefaultPermissionsSelected = sharedLinkDefaultPermissionsSelected; + return this; + } + + public Builder isOpenCustomUrlsDisabled( + EnterpriseConfigurationItemBooleanV2025R0 isOpenCustomUrlsDisabled) { + this.isOpenCustomUrlsDisabled = isOpenCustomUrlsDisabled; + return this; + } + + public Builder isCustomDomainHiddenInSharedLink( + EnterpriseConfigurationItemBooleanV2025R0 isCustomDomainHiddenInSharedLink) { + this.isCustomDomainHiddenInSharedLink = isCustomDomainHiddenInSharedLink; + return this; + } + + public Builder collaborationPermissions( + EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField + collaborationPermissions) { + this.collaborationPermissions = collaborationPermissions; + return this; + } + + public Builder defaultCollaborationRole( + EnterpriseConfigurationItemStringV2025R0 defaultCollaborationRole) { + this.defaultCollaborationRole = defaultCollaborationRole; + return this; + } + + public Builder isInvitePrivilegeRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isInvitePrivilegeRestricted) { + this.isInvitePrivilegeRestricted = isInvitePrivilegeRestricted; + return this; + } + + public Builder collaborationRestrictions( + EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField + collaborationRestrictions) { + this.collaborationRestrictions = collaborationRestrictions; + return this; + } + + public Builder isCollaboratorInviteLinksDisabled( + EnterpriseConfigurationItemBooleanV2025R0 isCollaboratorInviteLinksDisabled) { + this.isCollaboratorInviteLinksDisabled = isCollaboratorInviteLinksDisabled; + return this; + } + + public Builder isInviteGroupCollaboratorDisabled( + EnterpriseConfigurationItemBooleanV2025R0 isInviteGroupCollaboratorDisabled) { + this.isInviteGroupCollaboratorDisabled = isInviteGroupCollaboratorDisabled; + return this; + } + + public Builder isOwnershipTransferRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isOwnershipTransferRestricted) { + this.isOwnershipTransferRestricted = isOwnershipTransferRestricted; + return this; + } + + public Builder externalCollaborationStatus( + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField + externalCollaborationStatus) { + this.externalCollaborationStatus = externalCollaborationStatus; + return this; + } + + public Builder externalCollaborationAllowlistUsers( + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + externalCollaborationAllowlistUsers) { + this.externalCollaborationAllowlistUsers = externalCollaborationAllowlistUsers; + return this; + } + + public Builder isWatermarkingEnterpriseFeatureEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isWatermarkingEnterpriseFeatureEnabled) { + this.isWatermarkingEnterpriseFeatureEnabled = isWatermarkingEnterpriseFeatureEnabled; + return this; + } + + public Builder isRootContentCreationRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isRootContentCreationRestricted) { + this.isRootContentCreationRestricted = isRootContentCreationRestricted; + return this; + } + + public Builder isTagCreationRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isTagCreationRestricted) { + this.isTagCreationRestricted = isTagCreationRestricted; + return this; + } + + public Builder tagCreationRestriction( + EnterpriseConfigurationItemStringV2025R0 tagCreationRestriction) { + this.tagCreationRestriction = tagCreationRestriction; + return this; + } + + public Builder isEmailUploadsEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isEmailUploadsEnabled) { + this.isEmailUploadsEnabled = isEmailUploadsEnabled; + return this; + } + + public Builder isCustomSettingsEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isCustomSettingsEnabled) { + this.isCustomSettingsEnabled = isCustomSettingsEnabled; + return this; + } + + public Builder isFormsLoginRequired( + EnterpriseConfigurationItemBooleanV2025R0 isFormsLoginRequired) { + this.isFormsLoginRequired = isFormsLoginRequired; + return this; + } + + public Builder isFormsBrandingDefaultEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isFormsBrandingDefaultEnabled) { + this.isFormsBrandingDefaultEnabled = isFormsBrandingDefaultEnabled; + return this; + } + + public Builder isCcFreeTrialActive( + EnterpriseConfigurationItemBooleanV2025R0 isCcFreeTrialActive) { + this.isCcFreeTrialActive = isCcFreeTrialActive; + return this; + } + + public Builder isFileRequestEditorsAllowed( + EnterpriseConfigurationItemBooleanV2025R0 isFileRequestEditorsAllowed) { + this.isFileRequestEditorsAllowed = isFileRequestEditorsAllowed; + return this; + } + + public Builder isFileRequestBrandingDefaultEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isFileRequestBrandingDefaultEnabled) { + this.isFileRequestBrandingDefaultEnabled = isFileRequestBrandingDefaultEnabled; + return this; + } + + public Builder isFileRequestLoginRequired( + EnterpriseConfigurationItemBooleanV2025R0 isFileRequestLoginRequired) { + this.isFileRequestLoginRequired = isFileRequestLoginRequired; + return this; + } + + public Builder isSharedLinksExpirationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationEnabled) { + this.isSharedLinksExpirationEnabled = isSharedLinksExpirationEnabled; + return this; + } + + public Builder sharedLinksExpirationDays( + EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationDays) { + this.sharedLinksExpirationDays = sharedLinksExpirationDays; + return this; + } + + public Builder isPublicSharedLinksExpirationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isPublicSharedLinksExpirationEnabled) { + this.isPublicSharedLinksExpirationEnabled = isPublicSharedLinksExpirationEnabled; + return this; + } + + public Builder publicSharedLinksExpirationDays( + EnterpriseConfigurationItemIntegerV2025R0 publicSharedLinksExpirationDays) { + this.publicSharedLinksExpirationDays = publicSharedLinksExpirationDays; + return this; + } + + public Builder sharedExpirationTarget( + EnterpriseConfigurationItemStringV2025R0 sharedExpirationTarget) { + this.sharedExpirationTarget = sharedExpirationTarget; + return this; + } + + public Builder isSharedLinksExpirationNotificationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationNotificationEnabled) { + this.isSharedLinksExpirationNotificationEnabled = isSharedLinksExpirationNotificationEnabled; + return this; + } + + public Builder sharedLinksExpirationNotificationDays( + EnterpriseConfigurationItemIntegerV2025R0 sharedLinksExpirationNotificationDays) { + this.sharedLinksExpirationNotificationDays = sharedLinksExpirationNotificationDays; + return this; + } + + public Builder isSharedLinksExpirationNotificationPrevented( + EnterpriseConfigurationItemBooleanV2025R0 isSharedLinksExpirationNotificationPrevented) { + this.isSharedLinksExpirationNotificationPrevented = + isSharedLinksExpirationNotificationPrevented; + return this; + } + + public Builder isAutoDeleteEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteEnabled) { + this.isAutoDeleteEnabled = isAutoDeleteEnabled; + return this; + } + + public Builder autoDeleteDays(EnterpriseConfigurationItemIntegerV2025R0 autoDeleteDays) { + this.autoDeleteDays = autoDeleteDays; + return this; + } + + public Builder isAutoDeleteExpirationModificationPrevented( + EnterpriseConfigurationItemBooleanV2025R0 isAutoDeleteExpirationModificationPrevented) { + this.isAutoDeleteExpirationModificationPrevented = + isAutoDeleteExpirationModificationPrevented; + return this; + } + + public Builder autoDeleteTarget(EnterpriseConfigurationItemStringV2025R0 autoDeleteTarget) { + this.autoDeleteTarget = autoDeleteTarget; + return this; + } + + public Builder isCollaborationExpirationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationEnabled) { + this.isCollaborationExpirationEnabled = isCollaborationExpirationEnabled; + return this; + } + + public Builder collaborationExpirationDays( + EnterpriseConfigurationItemIntegerV2025R0 collaborationExpirationDays) { + this.collaborationExpirationDays = collaborationExpirationDays; + return this; + } + + public Builder isCollaborationExpirationModificationPrevented( + EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationModificationPrevented) { + this.isCollaborationExpirationModificationPrevented = + isCollaborationExpirationModificationPrevented; + return this; + } + + public Builder isCollaborationExpirationNotificationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isCollaborationExpirationNotificationEnabled) { + this.isCollaborationExpirationNotificationEnabled = + isCollaborationExpirationNotificationEnabled; + return this; + } + + public Builder collaborationExpirationTarget( + EnterpriseConfigurationItemStringV2025R0 collaborationExpirationTarget) { + this.collaborationExpirationTarget = collaborationExpirationTarget; + return this; + } + + public Builder trashAutoClearTime( + EnterpriseConfigurationItemIntegerV2025R0 trashAutoClearTime) { + this.trashAutoClearTime = trashAutoClearTime; + return this; + } + + public Builder permanentDeletionAccess( + EnterpriseConfigurationItemStringV2025R0 permanentDeletionAccess) { + this.permanentDeletionAccess = permanentDeletionAccess; + return this; + } + + public Builder permanentDeletionAllowlistUsers( + EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + permanentDeletionAllowlistUsers) { + this.permanentDeletionAllowlistUsers = permanentDeletionAllowlistUsers; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0 build() { + return new EnterpriseConfigurationContentAndSharingV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField.java new file mode 100644 index 000000000..3184f8770 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField.java @@ -0,0 +1,79 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.schemas.v2025r0.collaborationpermissionsv2025r0.CollaborationPermissionsV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField + extends EnterpriseConfigurationItemV2025R0 { + + protected CollaborationPermissionsV2025R0 value; + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public CollaborationPermissionsV2025R0 getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField casted = + (EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected CollaborationPermissionsV2025R0 value; + + public Builder value(CollaborationPermissionsV2025R0 value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField build() { + return new EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField.java new file mode 100644 index 000000000..60211ac36 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField.java @@ -0,0 +1,146 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.schemas.v2025r0.collaborationrestrictionv2025r0.CollaborationRestrictionV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField + extends EnterpriseConfigurationItemV2025R0 { + + @JsonDeserialize(using = ValueDeserializer.class) + @JsonSerialize(using = ValueSerializer.class) + protected List> value; + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List> getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField casted = + (EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected List> value; + + public Builder value(List value) { + this.value = EnumWrapper.wrapValuableEnumList(value, CollaborationRestrictionV2025R0.class); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField build() { + return new EnterpriseConfigurationContentAndSharingV2025R0CollaborationRestrictionsField( + this); + } + } + + public static class ValueDeserializer + extends JsonDeserializer>> { + + public final JsonDeserializer> elementDeserializer; + + public ValueDeserializer() { + super(); + this.elementDeserializer = + new CollaborationRestrictionV2025R0.CollaborationRestrictionV2025R0Deserializer(); + } + + @Override + public List> deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + JsonNode node = p.getCodec().readTree(p); + List> elements = new ArrayList<>(); + for (JsonNode item : node) { + JsonParser pa = item.traverse(p.getCodec()); + pa.nextToken(); + elements.add(elementDeserializer.deserialize(pa, ctxt)); + } + return elements; + } + } + + public static class ValueSerializer + extends JsonSerializer>> { + + public final JsonSerializer> elementSerializer; + + public ValueSerializer() { + super(); + this.elementSerializer = + new CollaborationRestrictionV2025R0.CollaborationRestrictionV2025R0Serializer(); + } + + @Override + public void serialize( + List> value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeStartArray(); + for (EnumWrapper item : value) { + elementSerializer.serialize(item, gen, serializers); + } + gen.writeEndArray(); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField.java new file mode 100644 index 000000000..d56cc1361 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField.java @@ -0,0 +1,82 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.listuserv2025r0.ListUserV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.List; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + extends EnterpriseConfigurationItemV2025R0 { + + protected List value; + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField casted = + (EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected List value; + + public Builder value(List value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField + build() { + return new EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationAllowlistUsersField( + this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField.java new file mode 100644 index 000000000..57b84288a --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField.java @@ -0,0 +1,116 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField + extends EnterpriseConfigurationItemV2025R0 { + + /** The external collaboration status. */ + @JsonDeserialize( + using = + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField + .EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldDeserializer + .class) + @JsonSerialize( + using = + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField + .EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldSerializer + .class) + @Nullable + protected EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + value; + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField casted = + (EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + value; + + public Builder value( + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField + value) { + this.value = + new EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField>( + value); + this.markNullableFieldAsSet("value"); + return this; + } + + public Builder value( + EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + value) { + this.value = value; + this.markNullableFieldAsSet("value"); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField build() { + return new EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusField( + this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField.java new file mode 100644 index 000000000..ca9ed781f --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField.java @@ -0,0 +1,82 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField + implements Valuable { + ENABLE_EXTERNAL_COLLABORATION("enable_external_collaboration"), + LIMIT_COLLABORATION_TO_ALLOWLISTED_DOMAINS("limit_collaboration_to_allowlisted_domains"); + + private final String value; + + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField( + String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static + class EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldDeserializer + extends JsonDeserializer< + EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField>> { + + public + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream( + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField + .values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField>( + value)); + } + } + + public static + class EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldSerializer + extends JsonSerializer< + EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField>> { + + public + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper< + EnterpriseConfigurationContentAndSharingV2025R0ExternalCollaborationStatusFieldValueField> + value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField.java new file mode 100644 index 000000000..a0d059d8a --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField.java @@ -0,0 +1,82 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.listuserv2025r0.ListUserV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.List; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + extends EnterpriseConfigurationItemV2025R0 { + + protected List value; + + public EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField() { + super(); + } + + protected EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField casted = + (EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected List value; + + public Builder value(List value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField + build() { + return new EnterpriseConfigurationContentAndSharingV2025R0PermanentDeletionAllowlistUsersField( + this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField.java new file mode 100644 index 000000000..4616842a4 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationcontentandsharingv2025r0/EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField.java @@ -0,0 +1,86 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.sharedlinkpermissionsv2025r0.SharedLinkPermissionsV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public +class EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + extends EnterpriseConfigurationItemV2025R0 { + + protected SharedLinkPermissionsV2025R0 value; + + public + EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField() { + super(); + } + + protected + EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public SharedLinkPermissionsV2025R0 getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + casted = + (EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField) + o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected SharedLinkPermissionsV2025R0 value; + + public Builder value(SharedLinkPermissionsV2025R0 value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField + build() { + return new EnterpriseConfigurationContentAndSharingV2025R0SharedLinkDefaultPermissionsSelectedField( + this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitembooleanv2025r0/EnterpriseConfigurationItemBooleanV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitembooleanv2025r0/EnterpriseConfigurationItemBooleanV2025R0.java new file mode 100644 index 000000000..05179e46e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitembooleanv2025r0/EnterpriseConfigurationItemBooleanV2025R0.java @@ -0,0 +1,80 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** An enterprise configuration item with a boolean type value. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationItemBooleanV2025R0 extends EnterpriseConfigurationItemV2025R0 { + + /** The value of the enterprise configuration as a boolean. */ + @Nullable protected Boolean value; + + public EnterpriseConfigurationItemBooleanV2025R0() { + super(); + } + + protected EnterpriseConfigurationItemBooleanV2025R0(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Boolean getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationItemBooleanV2025R0 casted = + (EnterpriseConfigurationItemBooleanV2025R0) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationItemBooleanV2025R0{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected Boolean value; + + public Builder value(Boolean value) { + this.value = value; + this.markNullableFieldAsSet("value"); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationItemBooleanV2025R0 build() { + return new EnterpriseConfigurationItemBooleanV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemintegerv2025r0/EnterpriseConfigurationItemIntegerV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemintegerv2025r0/EnterpriseConfigurationItemIntegerV2025R0.java new file mode 100644 index 000000000..17d727359 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemintegerv2025r0/EnterpriseConfigurationItemIntegerV2025R0.java @@ -0,0 +1,80 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** An enterprise configuration item with a integer type value. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationItemIntegerV2025R0 extends EnterpriseConfigurationItemV2025R0 { + + /** The value of the enterprise configuration as an integer. */ + @Nullable protected Long value; + + public EnterpriseConfigurationItemIntegerV2025R0() { + super(); + } + + protected EnterpriseConfigurationItemIntegerV2025R0(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Long getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationItemIntegerV2025R0 casted = + (EnterpriseConfigurationItemIntegerV2025R0) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationItemIntegerV2025R0{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected Long value; + + public Builder value(Long value) { + this.value = value; + this.markNullableFieldAsSet("value"); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationItemIntegerV2025R0 build() { + return new EnterpriseConfigurationItemIntegerV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemstringv2025r0/EnterpriseConfigurationItemStringV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemstringv2025r0/EnterpriseConfigurationItemStringV2025R0.java new file mode 100644 index 000000000..3251738af --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemstringv2025r0/EnterpriseConfigurationItemStringV2025R0.java @@ -0,0 +1,79 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** An enterprise configuration item with a string type value. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationItemStringV2025R0 extends EnterpriseConfigurationItemV2025R0 { + + /** The value of the enterprise configuration as a string. */ + @Nullable protected String value; + + public EnterpriseConfigurationItemStringV2025R0() { + super(); + } + + protected EnterpriseConfigurationItemStringV2025R0(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationItemStringV2025R0 casted = (EnterpriseConfigurationItemStringV2025R0) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationItemStringV2025R0{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected String value; + + public Builder value(String value) { + this.value = value; + this.markNullableFieldAsSet("value"); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationItemStringV2025R0 build() { + return new EnterpriseConfigurationItemStringV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemv2025r0/EnterpriseConfigurationItemV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemv2025r0/EnterpriseConfigurationItemV2025R0.java new file mode 100644 index 000000000..37b55f08e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationitemv2025r0/EnterpriseConfigurationItemV2025R0.java @@ -0,0 +1,66 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** The basic data included in each enterprise configuration response object. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationItemV2025R0 extends SerializableObject { + + /** Indicates whether a configuration is used for a given enterprise. */ + @JsonProperty("is_used") + protected Boolean isUsed; + + public EnterpriseConfigurationItemV2025R0() { + super(); + } + + protected EnterpriseConfigurationItemV2025R0(Builder builder) { + super(); + this.isUsed = builder.isUsed; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Boolean getIsUsed() { + return isUsed; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationItemV2025R0 casted = (EnterpriseConfigurationItemV2025R0) o; + return Objects.equals(isUsed, casted.isUsed); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed); + } + + @Override + public String toString() { + return "EnterpriseConfigurationItemV2025R0{" + "isUsed='" + isUsed + '\'' + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Boolean isUsed; + + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationItemV2025R0 build() { + return new EnterpriseConfigurationItemV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0.java new file mode 100644 index 000000000..cd5d56bb1 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0.java @@ -0,0 +1,729 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0.EnterpriseConfigurationItemBooleanV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0.EnterpriseConfigurationItemIntegerV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0.EnterpriseConfigurationItemStringV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** The enterprise configuration for the security category. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0 extends SerializableObject { + + @JsonProperty("is_managed_user_signup_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled; + + @JsonProperty("is_managed_user_signup_notification_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled; + + @JsonProperty("is_managed_user_signup_corporate_email_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled; + + @JsonProperty("is_new_user_notification_daily_digest_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled; + + @JsonProperty("is_managed_user_email_change_disabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled; + + @JsonProperty("is_multi_factor_auth_required") + protected EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired; + + @JsonProperty("is_weak_password_prevention_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled; + + @JsonProperty("is_password_leak_detection_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled; + + @JsonProperty("last_password_reset_at") + protected EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt; + + @JsonProperty("is_password_request_notification_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled; + + @JsonProperty("is_password_change_notification_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled; + + @JsonProperty("is_strong_password_for_ext_collab_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled; + + @JsonProperty("is_managed_user_migration_disabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled; + + @JsonProperty("join_link") + protected EnterpriseConfigurationItemStringV2025R0 joinLink; + + @JsonProperty("join_url") + protected EnterpriseConfigurationItemStringV2025R0 joinUrl; + + @JsonProperty("failed_login_attempts_to_trigger_admin_notification") + protected EnterpriseConfigurationItemIntegerV2025R0 failedLoginAttemptsToTriggerAdminNotification; + + @JsonProperty("password_min_length") + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength; + + @JsonProperty("password_min_uppercase_characters") + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters; + + @JsonProperty("password_min_numeric_characters") + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters; + + @JsonProperty("password_min_special_characters") + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters; + + @JsonProperty("password_reset_frequency") + protected EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency; + + @JsonProperty("previous_password_reuse_limit") + protected EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit; + + @JsonProperty("session_duration") + protected EnterpriseConfigurationItemStringV2025R0 sessionDuration; + + @JsonProperty("external_collab_multi_factor_auth_settings") + protected EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + externalCollabMultiFactorAuthSettings; + + protected EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe; + + @JsonProperty("is_custom_session_duration_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled; + + @JsonProperty("custom_session_duration_value") + protected EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue; + + @JsonProperty("custom_session_duration_groups") + protected EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField + customSessionDurationGroups; + + @JsonProperty("multi_factor_auth_type") + protected EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType; + + @JsonProperty("enforced_mfa_frequency") + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency; + + public EnterpriseConfigurationSecurityV2025R0() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0(Builder builder) { + super(); + this.isManagedUserSignupEnabled = builder.isManagedUserSignupEnabled; + this.isManagedUserSignupNotificationEnabled = builder.isManagedUserSignupNotificationEnabled; + this.isManagedUserSignupCorporateEmailEnabled = + builder.isManagedUserSignupCorporateEmailEnabled; + this.isNewUserNotificationDailyDigestEnabled = builder.isNewUserNotificationDailyDigestEnabled; + this.isManagedUserEmailChangeDisabled = builder.isManagedUserEmailChangeDisabled; + this.isMultiFactorAuthRequired = builder.isMultiFactorAuthRequired; + this.isWeakPasswordPreventionEnabled = builder.isWeakPasswordPreventionEnabled; + this.isPasswordLeakDetectionEnabled = builder.isPasswordLeakDetectionEnabled; + this.lastPasswordResetAt = builder.lastPasswordResetAt; + this.isPasswordRequestNotificationEnabled = builder.isPasswordRequestNotificationEnabled; + this.isPasswordChangeNotificationEnabled = builder.isPasswordChangeNotificationEnabled; + this.isStrongPasswordForExtCollabEnabled = builder.isStrongPasswordForExtCollabEnabled; + this.isManagedUserMigrationDisabled = builder.isManagedUserMigrationDisabled; + this.joinLink = builder.joinLink; + this.joinUrl = builder.joinUrl; + this.failedLoginAttemptsToTriggerAdminNotification = + builder.failedLoginAttemptsToTriggerAdminNotification; + this.passwordMinLength = builder.passwordMinLength; + this.passwordMinUppercaseCharacters = builder.passwordMinUppercaseCharacters; + this.passwordMinNumericCharacters = builder.passwordMinNumericCharacters; + this.passwordMinSpecialCharacters = builder.passwordMinSpecialCharacters; + this.passwordResetFrequency = builder.passwordResetFrequency; + this.previousPasswordReuseLimit = builder.previousPasswordReuseLimit; + this.sessionDuration = builder.sessionDuration; + this.externalCollabMultiFactorAuthSettings = builder.externalCollabMultiFactorAuthSettings; + this.keysafe = builder.keysafe; + this.isCustomSessionDurationEnabled = builder.isCustomSessionDurationEnabled; + this.customSessionDurationValue = builder.customSessionDurationValue; + this.customSessionDurationGroups = builder.customSessionDurationGroups; + this.multiFactorAuthType = builder.multiFactorAuthType; + this.enforcedMfaFrequency = builder.enforcedMfaFrequency; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupEnabled() { + return isManagedUserSignupEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupNotificationEnabled() { + return isManagedUserSignupNotificationEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserSignupCorporateEmailEnabled() { + return isManagedUserSignupCorporateEmailEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsNewUserNotificationDailyDigestEnabled() { + return isNewUserNotificationDailyDigestEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserEmailChangeDisabled() { + return isManagedUserEmailChangeDisabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsMultiFactorAuthRequired() { + return isMultiFactorAuthRequired; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsWeakPasswordPreventionEnabled() { + return isWeakPasswordPreventionEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordLeakDetectionEnabled() { + return isPasswordLeakDetectionEnabled; + } + + public EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField getLastPasswordResetAt() { + return lastPasswordResetAt; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordRequestNotificationEnabled() { + return isPasswordRequestNotificationEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsPasswordChangeNotificationEnabled() { + return isPasswordChangeNotificationEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsStrongPasswordForExtCollabEnabled() { + return isStrongPasswordForExtCollabEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsManagedUserMigrationDisabled() { + return isManagedUserMigrationDisabled; + } + + public EnterpriseConfigurationItemStringV2025R0 getJoinLink() { + return joinLink; + } + + public EnterpriseConfigurationItemStringV2025R0 getJoinUrl() { + return joinUrl; + } + + public EnterpriseConfigurationItemIntegerV2025R0 + getFailedLoginAttemptsToTriggerAdminNotification() { + return failedLoginAttemptsToTriggerAdminNotification; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinLength() { + return passwordMinLength; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinUppercaseCharacters() { + return passwordMinUppercaseCharacters; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinNumericCharacters() { + return passwordMinNumericCharacters; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getPasswordMinSpecialCharacters() { + return passwordMinSpecialCharacters; + } + + public EnterpriseConfigurationItemStringV2025R0 getPasswordResetFrequency() { + return passwordResetFrequency; + } + + public EnterpriseConfigurationItemStringV2025R0 getPreviousPasswordReuseLimit() { + return previousPasswordReuseLimit; + } + + public EnterpriseConfigurationItemStringV2025R0 getSessionDuration() { + return sessionDuration; + } + + public EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + getExternalCollabMultiFactorAuthSettings() { + return externalCollabMultiFactorAuthSettings; + } + + public EnterpriseConfigurationSecurityV2025R0KeysafeField getKeysafe() { + return keysafe; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsCustomSessionDurationEnabled() { + return isCustomSessionDurationEnabled; + } + + public EnterpriseConfigurationItemStringV2025R0 getCustomSessionDurationValue() { + return customSessionDurationValue; + } + + public EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField + getCustomSessionDurationGroups() { + return customSessionDurationGroups; + } + + public EnterpriseConfigurationItemStringV2025R0 getMultiFactorAuthType() { + return multiFactorAuthType; + } + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField getEnforcedMfaFrequency() { + return enforcedMfaFrequency; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0 casted = (EnterpriseConfigurationSecurityV2025R0) o; + return Objects.equals(isManagedUserSignupEnabled, casted.isManagedUserSignupEnabled) + && Objects.equals( + isManagedUserSignupNotificationEnabled, casted.isManagedUserSignupNotificationEnabled) + && Objects.equals( + isManagedUserSignupCorporateEmailEnabled, + casted.isManagedUserSignupCorporateEmailEnabled) + && Objects.equals( + isNewUserNotificationDailyDigestEnabled, casted.isNewUserNotificationDailyDigestEnabled) + && Objects.equals(isManagedUserEmailChangeDisabled, casted.isManagedUserEmailChangeDisabled) + && Objects.equals(isMultiFactorAuthRequired, casted.isMultiFactorAuthRequired) + && Objects.equals(isWeakPasswordPreventionEnabled, casted.isWeakPasswordPreventionEnabled) + && Objects.equals(isPasswordLeakDetectionEnabled, casted.isPasswordLeakDetectionEnabled) + && Objects.equals(lastPasswordResetAt, casted.lastPasswordResetAt) + && Objects.equals( + isPasswordRequestNotificationEnabled, casted.isPasswordRequestNotificationEnabled) + && Objects.equals( + isPasswordChangeNotificationEnabled, casted.isPasswordChangeNotificationEnabled) + && Objects.equals( + isStrongPasswordForExtCollabEnabled, casted.isStrongPasswordForExtCollabEnabled) + && Objects.equals(isManagedUserMigrationDisabled, casted.isManagedUserMigrationDisabled) + && Objects.equals(joinLink, casted.joinLink) + && Objects.equals(joinUrl, casted.joinUrl) + && Objects.equals( + failedLoginAttemptsToTriggerAdminNotification, + casted.failedLoginAttemptsToTriggerAdminNotification) + && Objects.equals(passwordMinLength, casted.passwordMinLength) + && Objects.equals(passwordMinUppercaseCharacters, casted.passwordMinUppercaseCharacters) + && Objects.equals(passwordMinNumericCharacters, casted.passwordMinNumericCharacters) + && Objects.equals(passwordMinSpecialCharacters, casted.passwordMinSpecialCharacters) + && Objects.equals(passwordResetFrequency, casted.passwordResetFrequency) + && Objects.equals(previousPasswordReuseLimit, casted.previousPasswordReuseLimit) + && Objects.equals(sessionDuration, casted.sessionDuration) + && Objects.equals( + externalCollabMultiFactorAuthSettings, casted.externalCollabMultiFactorAuthSettings) + && Objects.equals(keysafe, casted.keysafe) + && Objects.equals(isCustomSessionDurationEnabled, casted.isCustomSessionDurationEnabled) + && Objects.equals(customSessionDurationValue, casted.customSessionDurationValue) + && Objects.equals(customSessionDurationGroups, casted.customSessionDurationGroups) + && Objects.equals(multiFactorAuthType, casted.multiFactorAuthType) + && Objects.equals(enforcedMfaFrequency, casted.enforcedMfaFrequency); + } + + @Override + public int hashCode() { + return Objects.hash( + isManagedUserSignupEnabled, + isManagedUserSignupNotificationEnabled, + isManagedUserSignupCorporateEmailEnabled, + isNewUserNotificationDailyDigestEnabled, + isManagedUserEmailChangeDisabled, + isMultiFactorAuthRequired, + isWeakPasswordPreventionEnabled, + isPasswordLeakDetectionEnabled, + lastPasswordResetAt, + isPasswordRequestNotificationEnabled, + isPasswordChangeNotificationEnabled, + isStrongPasswordForExtCollabEnabled, + isManagedUserMigrationDisabled, + joinLink, + joinUrl, + failedLoginAttemptsToTriggerAdminNotification, + passwordMinLength, + passwordMinUppercaseCharacters, + passwordMinNumericCharacters, + passwordMinSpecialCharacters, + passwordResetFrequency, + previousPasswordReuseLimit, + sessionDuration, + externalCollabMultiFactorAuthSettings, + keysafe, + isCustomSessionDurationEnabled, + customSessionDurationValue, + customSessionDurationGroups, + multiFactorAuthType, + enforcedMfaFrequency); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0{" + + "isManagedUserSignupEnabled='" + + isManagedUserSignupEnabled + + '\'' + + ", " + + "isManagedUserSignupNotificationEnabled='" + + isManagedUserSignupNotificationEnabled + + '\'' + + ", " + + "isManagedUserSignupCorporateEmailEnabled='" + + isManagedUserSignupCorporateEmailEnabled + + '\'' + + ", " + + "isNewUserNotificationDailyDigestEnabled='" + + isNewUserNotificationDailyDigestEnabled + + '\'' + + ", " + + "isManagedUserEmailChangeDisabled='" + + isManagedUserEmailChangeDisabled + + '\'' + + ", " + + "isMultiFactorAuthRequired='" + + isMultiFactorAuthRequired + + '\'' + + ", " + + "isWeakPasswordPreventionEnabled='" + + isWeakPasswordPreventionEnabled + + '\'' + + ", " + + "isPasswordLeakDetectionEnabled='" + + isPasswordLeakDetectionEnabled + + '\'' + + ", " + + "lastPasswordResetAt='" + + lastPasswordResetAt + + '\'' + + ", " + + "isPasswordRequestNotificationEnabled='" + + isPasswordRequestNotificationEnabled + + '\'' + + ", " + + "isPasswordChangeNotificationEnabled='" + + isPasswordChangeNotificationEnabled + + '\'' + + ", " + + "isStrongPasswordForExtCollabEnabled='" + + isStrongPasswordForExtCollabEnabled + + '\'' + + ", " + + "isManagedUserMigrationDisabled='" + + isManagedUserMigrationDisabled + + '\'' + + ", " + + "joinLink='" + + joinLink + + '\'' + + ", " + + "joinUrl='" + + joinUrl + + '\'' + + ", " + + "failedLoginAttemptsToTriggerAdminNotification='" + + failedLoginAttemptsToTriggerAdminNotification + + '\'' + + ", " + + "passwordMinLength='" + + passwordMinLength + + '\'' + + ", " + + "passwordMinUppercaseCharacters='" + + passwordMinUppercaseCharacters + + '\'' + + ", " + + "passwordMinNumericCharacters='" + + passwordMinNumericCharacters + + '\'' + + ", " + + "passwordMinSpecialCharacters='" + + passwordMinSpecialCharacters + + '\'' + + ", " + + "passwordResetFrequency='" + + passwordResetFrequency + + '\'' + + ", " + + "previousPasswordReuseLimit='" + + previousPasswordReuseLimit + + '\'' + + ", " + + "sessionDuration='" + + sessionDuration + + '\'' + + ", " + + "externalCollabMultiFactorAuthSettings='" + + externalCollabMultiFactorAuthSettings + + '\'' + + ", " + + "keysafe='" + + keysafe + + '\'' + + ", " + + "isCustomSessionDurationEnabled='" + + isCustomSessionDurationEnabled + + '\'' + + ", " + + "customSessionDurationValue='" + + customSessionDurationValue + + '\'' + + ", " + + "customSessionDurationGroups='" + + customSessionDurationGroups + + '\'' + + ", " + + "multiFactorAuthType='" + + multiFactorAuthType + + '\'' + + ", " + + "enforcedMfaFrequency='" + + enforcedMfaFrequency + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired; + + protected EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled; + + protected EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt; + + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled; + + protected EnterpriseConfigurationItemStringV2025R0 joinLink; + + protected EnterpriseConfigurationItemStringV2025R0 joinUrl; + + protected EnterpriseConfigurationItemIntegerV2025R0 + failedLoginAttemptsToTriggerAdminNotification; + + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength; + + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters; + + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters; + + protected EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters; + + protected EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency; + + protected EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit; + + protected EnterpriseConfigurationItemStringV2025R0 sessionDuration; + + protected EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + externalCollabMultiFactorAuthSettings; + + protected EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe; + + protected EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled; + + protected EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue; + + protected EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField + customSessionDurationGroups; + + protected EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType; + + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency; + + public Builder isManagedUserSignupEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupEnabled) { + this.isManagedUserSignupEnabled = isManagedUserSignupEnabled; + return this; + } + + public Builder isManagedUserSignupNotificationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupNotificationEnabled) { + this.isManagedUserSignupNotificationEnabled = isManagedUserSignupNotificationEnabled; + return this; + } + + public Builder isManagedUserSignupCorporateEmailEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isManagedUserSignupCorporateEmailEnabled) { + this.isManagedUserSignupCorporateEmailEnabled = isManagedUserSignupCorporateEmailEnabled; + return this; + } + + public Builder isNewUserNotificationDailyDigestEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isNewUserNotificationDailyDigestEnabled) { + this.isNewUserNotificationDailyDigestEnabled = isNewUserNotificationDailyDigestEnabled; + return this; + } + + public Builder isManagedUserEmailChangeDisabled( + EnterpriseConfigurationItemBooleanV2025R0 isManagedUserEmailChangeDisabled) { + this.isManagedUserEmailChangeDisabled = isManagedUserEmailChangeDisabled; + return this; + } + + public Builder isMultiFactorAuthRequired( + EnterpriseConfigurationItemBooleanV2025R0 isMultiFactorAuthRequired) { + this.isMultiFactorAuthRequired = isMultiFactorAuthRequired; + return this; + } + + public Builder isWeakPasswordPreventionEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isWeakPasswordPreventionEnabled) { + this.isWeakPasswordPreventionEnabled = isWeakPasswordPreventionEnabled; + return this; + } + + public Builder isPasswordLeakDetectionEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isPasswordLeakDetectionEnabled) { + this.isPasswordLeakDetectionEnabled = isPasswordLeakDetectionEnabled; + return this; + } + + public Builder lastPasswordResetAt( + EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField lastPasswordResetAt) { + this.lastPasswordResetAt = lastPasswordResetAt; + return this; + } + + public Builder isPasswordRequestNotificationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isPasswordRequestNotificationEnabled) { + this.isPasswordRequestNotificationEnabled = isPasswordRequestNotificationEnabled; + return this; + } + + public Builder isPasswordChangeNotificationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isPasswordChangeNotificationEnabled) { + this.isPasswordChangeNotificationEnabled = isPasswordChangeNotificationEnabled; + return this; + } + + public Builder isStrongPasswordForExtCollabEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isStrongPasswordForExtCollabEnabled) { + this.isStrongPasswordForExtCollabEnabled = isStrongPasswordForExtCollabEnabled; + return this; + } + + public Builder isManagedUserMigrationDisabled( + EnterpriseConfigurationItemBooleanV2025R0 isManagedUserMigrationDisabled) { + this.isManagedUserMigrationDisabled = isManagedUserMigrationDisabled; + return this; + } + + public Builder joinLink(EnterpriseConfigurationItemStringV2025R0 joinLink) { + this.joinLink = joinLink; + return this; + } + + public Builder joinUrl(EnterpriseConfigurationItemStringV2025R0 joinUrl) { + this.joinUrl = joinUrl; + return this; + } + + public Builder failedLoginAttemptsToTriggerAdminNotification( + EnterpriseConfigurationItemIntegerV2025R0 failedLoginAttemptsToTriggerAdminNotification) { + this.failedLoginAttemptsToTriggerAdminNotification = + failedLoginAttemptsToTriggerAdminNotification; + return this; + } + + public Builder passwordMinLength(EnterpriseConfigurationItemIntegerV2025R0 passwordMinLength) { + this.passwordMinLength = passwordMinLength; + return this; + } + + public Builder passwordMinUppercaseCharacters( + EnterpriseConfigurationItemIntegerV2025R0 passwordMinUppercaseCharacters) { + this.passwordMinUppercaseCharacters = passwordMinUppercaseCharacters; + return this; + } + + public Builder passwordMinNumericCharacters( + EnterpriseConfigurationItemIntegerV2025R0 passwordMinNumericCharacters) { + this.passwordMinNumericCharacters = passwordMinNumericCharacters; + return this; + } + + public Builder passwordMinSpecialCharacters( + EnterpriseConfigurationItemIntegerV2025R0 passwordMinSpecialCharacters) { + this.passwordMinSpecialCharacters = passwordMinSpecialCharacters; + return this; + } + + public Builder passwordResetFrequency( + EnterpriseConfigurationItemStringV2025R0 passwordResetFrequency) { + this.passwordResetFrequency = passwordResetFrequency; + return this; + } + + public Builder previousPasswordReuseLimit( + EnterpriseConfigurationItemStringV2025R0 previousPasswordReuseLimit) { + this.previousPasswordReuseLimit = previousPasswordReuseLimit; + return this; + } + + public Builder sessionDuration(EnterpriseConfigurationItemStringV2025R0 sessionDuration) { + this.sessionDuration = sessionDuration; + return this; + } + + public Builder externalCollabMultiFactorAuthSettings( + EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + externalCollabMultiFactorAuthSettings) { + this.externalCollabMultiFactorAuthSettings = externalCollabMultiFactorAuthSettings; + return this; + } + + public Builder keysafe(EnterpriseConfigurationSecurityV2025R0KeysafeField keysafe) { + this.keysafe = keysafe; + return this; + } + + public Builder isCustomSessionDurationEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isCustomSessionDurationEnabled) { + this.isCustomSessionDurationEnabled = isCustomSessionDurationEnabled; + return this; + } + + public Builder customSessionDurationValue( + EnterpriseConfigurationItemStringV2025R0 customSessionDurationValue) { + this.customSessionDurationValue = customSessionDurationValue; + return this; + } + + public Builder customSessionDurationGroups( + EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField + customSessionDurationGroups) { + this.customSessionDurationGroups = customSessionDurationGroups; + return this; + } + + public Builder multiFactorAuthType( + EnterpriseConfigurationItemStringV2025R0 multiFactorAuthType) { + this.multiFactorAuthType = multiFactorAuthType; + return this; + } + + public Builder enforcedMfaFrequency( + EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField enforcedMfaFrequency) { + this.enforcedMfaFrequency = enforcedMfaFrequency; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0 build() { + return new EnterpriseConfigurationSecurityV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField.java new file mode 100644 index 000000000..6178a61a1 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField.java @@ -0,0 +1,80 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.schemas.v2025r0.customsessiondurationgroupitemv2025r0.CustomSessionDurationGroupItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.List; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField + extends EnterpriseConfigurationItemV2025R0 { + + protected List value; + + public EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField casted = + (EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected List value; + + public Builder value(List value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField build() { + return new EnterpriseConfigurationSecurityV2025R0CustomSessionDurationGroupsField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField.java new file mode 100644 index 000000000..3ac8567c5 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField.java @@ -0,0 +1,78 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField + extends EnterpriseConfigurationItemV2025R0 { + + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField value; + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField casted = + (EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField value; + + public Builder value( + EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField build() { + return new EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField.java new file mode 100644 index 000000000..6b85b0bd4 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField.java @@ -0,0 +1,92 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField + extends SerializableObject { + + /** Number of days before the user is required to authenticate again. */ + @Nullable protected Long days; + + /** Number of hours before the user is required to authenticate again. */ + @Nullable protected Long hours; + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField( + Builder builder) { + super(); + this.days = builder.days; + this.hours = builder.hours; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Long getDays() { + return days; + } + + public Long getHours() { + return hours; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField casted = + (EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField) o; + return Objects.equals(days, casted.days) && Objects.equals(hours, casted.hours); + } + + @Override + public int hashCode() { + return Objects.hash(days, hours); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField{" + + "days='" + + days + + '\'' + + ", " + + "hours='" + + hours + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Long days; + + protected Long hours; + + public Builder days(Long days) { + this.days = days; + this.markNullableFieldAsSet("days"); + return this; + } + + public Builder hours(Long hours) { + this.hours = hours; + this.markNullableFieldAsSet("hours"); + return this; + } + + public EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField build() { + return new EnterpriseConfigurationSecurityV2025R0EnforcedMfaFrequencyFieldValueField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField.java new file mode 100644 index 000000000..b42cacd50 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField.java @@ -0,0 +1,81 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.externalcollabsecuritysettingsv2025r0.ExternalCollabSecuritySettingsV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + extends EnterpriseConfigurationItemV2025R0 { + + protected ExternalCollabSecuritySettingsV2025R0 value; + + public EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField( + Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public ExternalCollabSecuritySettingsV2025R0 getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField casted = + (EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected ExternalCollabSecuritySettingsV2025R0 value; + + public Builder value(ExternalCollabSecuritySettingsV2025R0 value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField + build() { + return new EnterpriseConfigurationSecurityV2025R0ExternalCollabMultiFactorAuthSettingsField( + this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0KeysafeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0KeysafeField.java new file mode 100644 index 000000000..836b29bc9 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0KeysafeField.java @@ -0,0 +1,78 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.keysafesettingsv2025r0.KeysafeSettingsV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0KeysafeField + extends EnterpriseConfigurationItemV2025R0 { + + protected KeysafeSettingsV2025R0 value; + + public EnterpriseConfigurationSecurityV2025R0KeysafeField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0KeysafeField(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public KeysafeSettingsV2025R0 getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0KeysafeField casted = + (EnterpriseConfigurationSecurityV2025R0KeysafeField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0KeysafeField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected KeysafeSettingsV2025R0 value; + + public Builder value(KeysafeSettingsV2025R0 value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0KeysafeField build() { + return new EnterpriseConfigurationSecurityV2025R0KeysafeField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField.java new file mode 100644 index 000000000..7978ef87a --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationsecurityv2025r0/EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField.java @@ -0,0 +1,87 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.utils.DateTimeUtils; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.time.OffsetDateTime; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField + extends EnterpriseConfigurationItemV2025R0 { + + /** When an enterprise password reset was last applied. */ + @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class) + @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class) + @Nullable + protected OffsetDateTime value; + + public EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField() { + super(); + } + + protected EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public OffsetDateTime getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField casted = + (EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected OffsetDateTime value; + + public Builder value(OffsetDateTime value) { + this.value = value; + this.markNullableFieldAsSet("value"); + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField build() { + return new EnterpriseConfigurationSecurityV2025R0LastPasswordResetAtField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationshieldv2025r0/EnterpriseConfigurationShieldV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationshieldv2025r0/EnterpriseConfigurationShieldV2025R0.java new file mode 100644 index 000000000..39f918ebf --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationshieldv2025r0/EnterpriseConfigurationShieldV2025R0.java @@ -0,0 +1,68 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationshieldv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.shieldruleitemv2025r0.ShieldRuleItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Objects; + +/** The enterprise configuration for the shield category. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationShieldV2025R0 extends SerializableObject { + + /** The shield rules configuration for the enterprise. */ + @JsonProperty("shield_rules") + protected List shieldRules; + + public EnterpriseConfigurationShieldV2025R0() { + super(); + } + + protected EnterpriseConfigurationShieldV2025R0(Builder builder) { + super(); + this.shieldRules = builder.shieldRules; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getShieldRules() { + return shieldRules; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationShieldV2025R0 casted = (EnterpriseConfigurationShieldV2025R0) o; + return Objects.equals(shieldRules, casted.shieldRules); + } + + @Override + public int hashCode() { + return Objects.hash(shieldRules); + } + + @Override + public String toString() { + return "EnterpriseConfigurationShieldV2025R0{" + "shieldRules='" + shieldRules + '\'' + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected List shieldRules; + + public Builder shieldRules(List shieldRules) { + this.shieldRules = shieldRules; + return this; + } + + public EnterpriseConfigurationShieldV2025R0 build() { + return new EnterpriseConfigurationShieldV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0.java new file mode 100644 index 000000000..1a5f1e568 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0.java @@ -0,0 +1,485 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationusersettingsv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0.EnterpriseConfigurationItemBooleanV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0.EnterpriseConfigurationItemIntegerV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0.EnterpriseConfigurationItemStringV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingsitemv2025r0.EnterpriseFeatureSettingsItemV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Objects; + +/** The enterprise configuration for the user settings category. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationUserSettingsV2025R0 extends SerializableObject { + + @JsonProperty("enterprise_feature_settings") + protected List enterpriseFeatureSettings; + + @JsonProperty("user_invites_expiration_time_frame") + protected EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame; + + @JsonProperty("is_username_change_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted; + + @JsonProperty("is_box_sync_restricted_for_new_users") + protected EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers; + + @JsonProperty("is_view_all_users_enabled_for_new_users") + protected EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers; + + @JsonProperty("is_device_limit_exemption_enabled_for_new_users") + protected EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers; + + @JsonProperty("is_external_collaboration_restricted_for_new_users") + protected EnterpriseConfigurationItemBooleanV2025R0 isExternalCollaborationRestrictedForNewUsers; + + @JsonProperty("is_unlimited_storage_enabled_for_new_users") + protected EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers; + + @JsonProperty("new_user_default_storage_limit") + protected EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit; + + @JsonProperty("new_user_default_timezone") + protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone; + + @JsonProperty("new_user_default_language") + protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage; + + @JsonProperty("is_enterprise_sso_required") + protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired; + + @JsonProperty("is_enterprise_sso_in_testing") + protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting; + + @JsonProperty("is_sso_auto_add_groups_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled; + + @JsonProperty("is_sso_auto_add_user_to_groups_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled; + + @JsonProperty("is_sso_auto_remove_user_from_groups_enabled") + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled; + + @JsonProperty("user_tracking_codes") + protected EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes; + + @JsonProperty("number_of_user_tracking_codes_remaining") + protected EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining; + + @JsonProperty("is_instant_login_restricted") + protected EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted; + + public EnterpriseConfigurationUserSettingsV2025R0() { + super(); + } + + protected EnterpriseConfigurationUserSettingsV2025R0(Builder builder) { + super(); + this.enterpriseFeatureSettings = builder.enterpriseFeatureSettings; + this.userInvitesExpirationTimeFrame = builder.userInvitesExpirationTimeFrame; + this.isUsernameChangeRestricted = builder.isUsernameChangeRestricted; + this.isBoxSyncRestrictedForNewUsers = builder.isBoxSyncRestrictedForNewUsers; + this.isViewAllUsersEnabledForNewUsers = builder.isViewAllUsersEnabledForNewUsers; + this.isDeviceLimitExemptionEnabledForNewUsers = + builder.isDeviceLimitExemptionEnabledForNewUsers; + this.isExternalCollaborationRestrictedForNewUsers = + builder.isExternalCollaborationRestrictedForNewUsers; + this.isUnlimitedStorageEnabledForNewUsers = builder.isUnlimitedStorageEnabledForNewUsers; + this.newUserDefaultStorageLimit = builder.newUserDefaultStorageLimit; + this.newUserDefaultTimezone = builder.newUserDefaultTimezone; + this.newUserDefaultLanguage = builder.newUserDefaultLanguage; + this.isEnterpriseSsoRequired = builder.isEnterpriseSsoRequired; + this.isEnterpriseSsoInTesting = builder.isEnterpriseSsoInTesting; + this.isSsoAutoAddGroupsEnabled = builder.isSsoAutoAddGroupsEnabled; + this.isSsoAutoAddUserToGroupsEnabled = builder.isSsoAutoAddUserToGroupsEnabled; + this.isSsoAutoRemoveUserFromGroupsEnabled = builder.isSsoAutoRemoveUserFromGroupsEnabled; + this.userTrackingCodes = builder.userTrackingCodes; + this.numberOfUserTrackingCodesRemaining = builder.numberOfUserTrackingCodesRemaining; + this.isInstantLoginRestricted = builder.isInstantLoginRestricted; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getEnterpriseFeatureSettings() { + return enterpriseFeatureSettings; + } + + public EnterpriseConfigurationItemStringV2025R0 getUserInvitesExpirationTimeFrame() { + return userInvitesExpirationTimeFrame; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsUsernameChangeRestricted() { + return isUsernameChangeRestricted; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsBoxSyncRestrictedForNewUsers() { + return isBoxSyncRestrictedForNewUsers; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsViewAllUsersEnabledForNewUsers() { + return isViewAllUsersEnabledForNewUsers; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsDeviceLimitExemptionEnabledForNewUsers() { + return isDeviceLimitExemptionEnabledForNewUsers; + } + + public EnterpriseConfigurationItemBooleanV2025R0 + getIsExternalCollaborationRestrictedForNewUsers() { + return isExternalCollaborationRestrictedForNewUsers; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsUnlimitedStorageEnabledForNewUsers() { + return isUnlimitedStorageEnabledForNewUsers; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getNewUserDefaultStorageLimit() { + return newUserDefaultStorageLimit; + } + + public EnterpriseConfigurationItemStringV2025R0 getNewUserDefaultTimezone() { + return newUserDefaultTimezone; + } + + public EnterpriseConfigurationItemStringV2025R0 getNewUserDefaultLanguage() { + return newUserDefaultLanguage; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsEnterpriseSsoRequired() { + return isEnterpriseSsoRequired; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsEnterpriseSsoInTesting() { + return isEnterpriseSsoInTesting; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoAddGroupsEnabled() { + return isSsoAutoAddGroupsEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoAddUserToGroupsEnabled() { + return isSsoAutoAddUserToGroupsEnabled; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoRemoveUserFromGroupsEnabled() { + return isSsoAutoRemoveUserFromGroupsEnabled; + } + + public EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField getUserTrackingCodes() { + return userTrackingCodes; + } + + public EnterpriseConfigurationItemIntegerV2025R0 getNumberOfUserTrackingCodesRemaining() { + return numberOfUserTrackingCodesRemaining; + } + + public EnterpriseConfigurationItemBooleanV2025R0 getIsInstantLoginRestricted() { + return isInstantLoginRestricted; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationUserSettingsV2025R0 casted = + (EnterpriseConfigurationUserSettingsV2025R0) o; + return Objects.equals(enterpriseFeatureSettings, casted.enterpriseFeatureSettings) + && Objects.equals(userInvitesExpirationTimeFrame, casted.userInvitesExpirationTimeFrame) + && Objects.equals(isUsernameChangeRestricted, casted.isUsernameChangeRestricted) + && Objects.equals(isBoxSyncRestrictedForNewUsers, casted.isBoxSyncRestrictedForNewUsers) + && Objects.equals(isViewAllUsersEnabledForNewUsers, casted.isViewAllUsersEnabledForNewUsers) + && Objects.equals( + isDeviceLimitExemptionEnabledForNewUsers, + casted.isDeviceLimitExemptionEnabledForNewUsers) + && Objects.equals( + isExternalCollaborationRestrictedForNewUsers, + casted.isExternalCollaborationRestrictedForNewUsers) + && Objects.equals( + isUnlimitedStorageEnabledForNewUsers, casted.isUnlimitedStorageEnabledForNewUsers) + && Objects.equals(newUserDefaultStorageLimit, casted.newUserDefaultStorageLimit) + && Objects.equals(newUserDefaultTimezone, casted.newUserDefaultTimezone) + && Objects.equals(newUserDefaultLanguage, casted.newUserDefaultLanguage) + && Objects.equals(isEnterpriseSsoRequired, casted.isEnterpriseSsoRequired) + && Objects.equals(isEnterpriseSsoInTesting, casted.isEnterpriseSsoInTesting) + && Objects.equals(isSsoAutoAddGroupsEnabled, casted.isSsoAutoAddGroupsEnabled) + && Objects.equals(isSsoAutoAddUserToGroupsEnabled, casted.isSsoAutoAddUserToGroupsEnabled) + && Objects.equals( + isSsoAutoRemoveUserFromGroupsEnabled, casted.isSsoAutoRemoveUserFromGroupsEnabled) + && Objects.equals(userTrackingCodes, casted.userTrackingCodes) + && Objects.equals( + numberOfUserTrackingCodesRemaining, casted.numberOfUserTrackingCodesRemaining) + && Objects.equals(isInstantLoginRestricted, casted.isInstantLoginRestricted); + } + + @Override + public int hashCode() { + return Objects.hash( + enterpriseFeatureSettings, + userInvitesExpirationTimeFrame, + isUsernameChangeRestricted, + isBoxSyncRestrictedForNewUsers, + isViewAllUsersEnabledForNewUsers, + isDeviceLimitExemptionEnabledForNewUsers, + isExternalCollaborationRestrictedForNewUsers, + isUnlimitedStorageEnabledForNewUsers, + newUserDefaultStorageLimit, + newUserDefaultTimezone, + newUserDefaultLanguage, + isEnterpriseSsoRequired, + isEnterpriseSsoInTesting, + isSsoAutoAddGroupsEnabled, + isSsoAutoAddUserToGroupsEnabled, + isSsoAutoRemoveUserFromGroupsEnabled, + userTrackingCodes, + numberOfUserTrackingCodesRemaining, + isInstantLoginRestricted); + } + + @Override + public String toString() { + return "EnterpriseConfigurationUserSettingsV2025R0{" + + "enterpriseFeatureSettings='" + + enterpriseFeatureSettings + + '\'' + + ", " + + "userInvitesExpirationTimeFrame='" + + userInvitesExpirationTimeFrame + + '\'' + + ", " + + "isUsernameChangeRestricted='" + + isUsernameChangeRestricted + + '\'' + + ", " + + "isBoxSyncRestrictedForNewUsers='" + + isBoxSyncRestrictedForNewUsers + + '\'' + + ", " + + "isViewAllUsersEnabledForNewUsers='" + + isViewAllUsersEnabledForNewUsers + + '\'' + + ", " + + "isDeviceLimitExemptionEnabledForNewUsers='" + + isDeviceLimitExemptionEnabledForNewUsers + + '\'' + + ", " + + "isExternalCollaborationRestrictedForNewUsers='" + + isExternalCollaborationRestrictedForNewUsers + + '\'' + + ", " + + "isUnlimitedStorageEnabledForNewUsers='" + + isUnlimitedStorageEnabledForNewUsers + + '\'' + + ", " + + "newUserDefaultStorageLimit='" + + newUserDefaultStorageLimit + + '\'' + + ", " + + "newUserDefaultTimezone='" + + newUserDefaultTimezone + + '\'' + + ", " + + "newUserDefaultLanguage='" + + newUserDefaultLanguage + + '\'' + + ", " + + "isEnterpriseSsoRequired='" + + isEnterpriseSsoRequired + + '\'' + + ", " + + "isEnterpriseSsoInTesting='" + + isEnterpriseSsoInTesting + + '\'' + + ", " + + "isSsoAutoAddGroupsEnabled='" + + isSsoAutoAddGroupsEnabled + + '\'' + + ", " + + "isSsoAutoAddUserToGroupsEnabled='" + + isSsoAutoAddUserToGroupsEnabled + + '\'' + + ", " + + "isSsoAutoRemoveUserFromGroupsEnabled='" + + isSsoAutoRemoveUserFromGroupsEnabled + + '\'' + + ", " + + "userTrackingCodes='" + + userTrackingCodes + + '\'' + + ", " + + "numberOfUserTrackingCodesRemaining='" + + numberOfUserTrackingCodesRemaining + + '\'' + + ", " + + "isInstantLoginRestricted='" + + isInstantLoginRestricted + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected List enterpriseFeatureSettings; + + protected EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame; + + protected EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted; + + protected EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers; + + protected EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers; + + protected EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers; + + protected EnterpriseConfigurationItemBooleanV2025R0 + isExternalCollaborationRestrictedForNewUsers; + + protected EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers; + + protected EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit; + + protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone; + + protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage; + + protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired; + + protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting; + + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled; + + protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled; + + protected EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes; + + protected EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining; + + protected EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted; + + public Builder enterpriseFeatureSettings( + List enterpriseFeatureSettings) { + this.enterpriseFeatureSettings = enterpriseFeatureSettings; + return this; + } + + public Builder userInvitesExpirationTimeFrame( + EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame) { + this.userInvitesExpirationTimeFrame = userInvitesExpirationTimeFrame; + return this; + } + + public Builder isUsernameChangeRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted) { + this.isUsernameChangeRestricted = isUsernameChangeRestricted; + return this; + } + + public Builder isBoxSyncRestrictedForNewUsers( + EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers) { + this.isBoxSyncRestrictedForNewUsers = isBoxSyncRestrictedForNewUsers; + return this; + } + + public Builder isViewAllUsersEnabledForNewUsers( + EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers) { + this.isViewAllUsersEnabledForNewUsers = isViewAllUsersEnabledForNewUsers; + return this; + } + + public Builder isDeviceLimitExemptionEnabledForNewUsers( + EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers) { + this.isDeviceLimitExemptionEnabledForNewUsers = isDeviceLimitExemptionEnabledForNewUsers; + return this; + } + + public Builder isExternalCollaborationRestrictedForNewUsers( + EnterpriseConfigurationItemBooleanV2025R0 isExternalCollaborationRestrictedForNewUsers) { + this.isExternalCollaborationRestrictedForNewUsers = + isExternalCollaborationRestrictedForNewUsers; + return this; + } + + public Builder isUnlimitedStorageEnabledForNewUsers( + EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers) { + this.isUnlimitedStorageEnabledForNewUsers = isUnlimitedStorageEnabledForNewUsers; + return this; + } + + public Builder newUserDefaultStorageLimit( + EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit) { + this.newUserDefaultStorageLimit = newUserDefaultStorageLimit; + return this; + } + + public Builder newUserDefaultTimezone( + EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone) { + this.newUserDefaultTimezone = newUserDefaultTimezone; + return this; + } + + public Builder newUserDefaultLanguage( + EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage) { + this.newUserDefaultLanguage = newUserDefaultLanguage; + return this; + } + + public Builder isEnterpriseSsoRequired( + EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired) { + this.isEnterpriseSsoRequired = isEnterpriseSsoRequired; + return this; + } + + public Builder isEnterpriseSsoInTesting( + EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting) { + this.isEnterpriseSsoInTesting = isEnterpriseSsoInTesting; + return this; + } + + public Builder isSsoAutoAddGroupsEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled) { + this.isSsoAutoAddGroupsEnabled = isSsoAutoAddGroupsEnabled; + return this; + } + + public Builder isSsoAutoAddUserToGroupsEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled) { + this.isSsoAutoAddUserToGroupsEnabled = isSsoAutoAddUserToGroupsEnabled; + return this; + } + + public Builder isSsoAutoRemoveUserFromGroupsEnabled( + EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled) { + this.isSsoAutoRemoveUserFromGroupsEnabled = isSsoAutoRemoveUserFromGroupsEnabled; + return this; + } + + public Builder userTrackingCodes( + EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes) { + this.userTrackingCodes = userTrackingCodes; + return this; + } + + public Builder numberOfUserTrackingCodesRemaining( + EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining) { + this.numberOfUserTrackingCodesRemaining = numberOfUserTrackingCodesRemaining; + return this; + } + + public Builder isInstantLoginRestricted( + EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted) { + this.isInstantLoginRestricted = isInstantLoginRestricted; + return this; + } + + public EnterpriseConfigurationUserSettingsV2025R0 build() { + return new EnterpriseConfigurationUserSettingsV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField.java new file mode 100644 index 000000000..c729a2a01 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationusersettingsv2025r0/EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField.java @@ -0,0 +1,79 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationusersettingsv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.usertrackingcodev2025r0.UserTrackingCodeV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.List; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField + extends EnterpriseConfigurationItemV2025R0 { + + protected List value; + + public EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField() { + super(); + } + + protected EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField casted = + (EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected List value; + + public Builder value(List value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField build() { + return new EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0.java new file mode 100644 index 000000000..3b35083e5 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0.java @@ -0,0 +1,188 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0.EnterpriseConfigurationContentAndSharingV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0.EnterpriseConfigurationSecurityV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationshieldv2025r0.EnterpriseConfigurationShieldV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationusersettingsv2025r0.EnterpriseConfigurationUserSettingsV2025R0; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** The enterprise configuration for a given enterprise. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseConfigurationV2025R0 extends SerializableObject { + + /** The identifier of the enterprise configuration which is the ID of the enterprise. */ + protected String id; + + /** The value will always be `enterprise_configuration`. */ + @JsonDeserialize( + using = + EnterpriseConfigurationV2025R0TypeField + .EnterpriseConfigurationV2025R0TypeFieldDeserializer.class) + @JsonSerialize( + using = + EnterpriseConfigurationV2025R0TypeField.EnterpriseConfigurationV2025R0TypeFieldSerializer + .class) + protected EnumWrapper type; + + protected EnterpriseConfigurationSecurityV2025R0 security; + + @JsonProperty("content_and_sharing") + protected EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing; + + @JsonProperty("user_settings") + protected EnterpriseConfigurationUserSettingsV2025R0 userSettings; + + protected EnterpriseConfigurationShieldV2025R0 shield; + + public EnterpriseConfigurationV2025R0() { + super(); + } + + protected EnterpriseConfigurationV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.type = builder.type; + this.security = builder.security; + this.contentAndSharing = builder.contentAndSharing; + this.userSettings = builder.userSettings; + this.shield = builder.shield; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getId() { + return id; + } + + public EnumWrapper getType() { + return type; + } + + public EnterpriseConfigurationSecurityV2025R0 getSecurity() { + return security; + } + + public EnterpriseConfigurationContentAndSharingV2025R0 getContentAndSharing() { + return contentAndSharing; + } + + public EnterpriseConfigurationUserSettingsV2025R0 getUserSettings() { + return userSettings; + } + + public EnterpriseConfigurationShieldV2025R0 getShield() { + return shield; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseConfigurationV2025R0 casted = (EnterpriseConfigurationV2025R0) o; + return Objects.equals(id, casted.id) + && Objects.equals(type, casted.type) + && Objects.equals(security, casted.security) + && Objects.equals(contentAndSharing, casted.contentAndSharing) + && Objects.equals(userSettings, casted.userSettings) + && Objects.equals(shield, casted.shield); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, security, contentAndSharing, userSettings, shield); + } + + @Override + public String toString() { + return "EnterpriseConfigurationV2025R0{" + + "id='" + + id + + '\'' + + ", " + + "type='" + + type + + '\'' + + ", " + + "security='" + + security + + '\'' + + ", " + + "contentAndSharing='" + + contentAndSharing + + '\'' + + ", " + + "userSettings='" + + userSettings + + '\'' + + ", " + + "shield='" + + shield + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String id; + + protected EnumWrapper type; + + protected EnterpriseConfigurationSecurityV2025R0 security; + + protected EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing; + + protected EnterpriseConfigurationUserSettingsV2025R0 userSettings; + + protected EnterpriseConfigurationShieldV2025R0 shield; + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder type(EnterpriseConfigurationV2025R0TypeField type) { + this.type = new EnumWrapper(type); + return this; + } + + public Builder type(EnumWrapper type) { + this.type = type; + return this; + } + + public Builder security(EnterpriseConfigurationSecurityV2025R0 security) { + this.security = security; + return this; + } + + public Builder contentAndSharing( + EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing) { + this.contentAndSharing = contentAndSharing; + return this; + } + + public Builder userSettings(EnterpriseConfigurationUserSettingsV2025R0 userSettings) { + this.userSettings = userSettings; + return this; + } + + public Builder shield(EnterpriseConfigurationShieldV2025R0 shield) { + this.shield = shield; + return this; + } + + public EnterpriseConfigurationV2025R0 build() { + return new EnterpriseConfigurationV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0TypeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0TypeField.java new file mode 100644 index 000000000..3ba236c51 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterpriseconfigurationv2025r0/EnterpriseConfigurationV2025R0TypeField.java @@ -0,0 +1,62 @@ +package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationv2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum EnterpriseConfigurationV2025R0TypeField implements Valuable { + ENTERPRISE_CONFIGURATION("enterprise_configuration"); + + private final String value; + + EnterpriseConfigurationV2025R0TypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class EnterpriseConfigurationV2025R0TypeFieldDeserializer + extends JsonDeserializer> { + + public EnterpriseConfigurationV2025R0TypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(EnterpriseConfigurationV2025R0TypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class EnterpriseConfigurationV2025R0TypeFieldSerializer + extends JsonSerializer> { + + public EnterpriseConfigurationV2025R0TypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingsitemv2025r0/EnterpriseFeatureSettingsItemV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingsitemv2025r0/EnterpriseFeatureSettingsItemV2025R0.java new file mode 100644 index 000000000..10883869e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingsitemv2025r0/EnterpriseFeatureSettingsItemV2025R0.java @@ -0,0 +1,77 @@ +package com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingsitemv2025r0; + +import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0; +import com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingv2025r0.EnterpriseFeatureSettingV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** An enterprise feature settings item. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseFeatureSettingsItemV2025R0 extends EnterpriseConfigurationItemV2025R0 { + + protected EnterpriseFeatureSettingV2025R0 value; + + public EnterpriseFeatureSettingsItemV2025R0() { + super(); + } + + protected EnterpriseFeatureSettingsItemV2025R0(Builder builder) { + super(builder); + this.value = builder.value; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnterpriseFeatureSettingV2025R0 getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseFeatureSettingsItemV2025R0 casted = (EnterpriseFeatureSettingsItemV2025R0) o; + return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value); + } + + @Override + public int hashCode() { + return Objects.hash(isUsed, value); + } + + @Override + public String toString() { + return "EnterpriseFeatureSettingsItemV2025R0{" + + "isUsed='" + + isUsed + + '\'' + + ", " + + "value='" + + value + + '\'' + + "}"; + } + + public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder { + + protected EnterpriseFeatureSettingV2025R0 value; + + public Builder value(EnterpriseFeatureSettingV2025R0 value) { + this.value = value; + return this; + } + + @Override + public Builder isUsed(Boolean isUsed) { + this.isUsed = isUsed; + return this; + } + + public EnterpriseFeatureSettingsItemV2025R0 build() { + return new EnterpriseFeatureSettingsItemV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0.java new file mode 100644 index 000000000..37f7d99cb --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0.java @@ -0,0 +1,202 @@ +package com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.v2025r0.userorgroupreferencev2025r0.UserOrGroupReferenceV2025R0; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Objects; + +/** An enterprise feature setting. */ +@JsonFilter("nullablePropertyFilter") +public class EnterpriseFeatureSettingV2025R0 extends SerializableObject { + + /** The identifier of the enterprise feature setting. */ + @Nullable protected String id; + + /** The feature. */ + protected EnterpriseFeatureSettingV2025R0FeatureField feature; + + /** The state of the feature. */ + @Nullable protected String state; + + /** Whether the feature can be configured. */ + @JsonProperty("can_configure") + @Nullable + protected Boolean canConfigure; + + /** Whether the feature is configured. */ + @JsonProperty("is_configured") + @Nullable + protected Boolean isConfigured; + + /** Enterprise feature setting is enabled for only this set of users and groups. */ + @Nullable protected List allowlist; + + /** Enterprise feature setting is enabled for everyone except this set of users and groups. */ + @Nullable protected List denylist; + + public EnterpriseFeatureSettingV2025R0() { + super(); + } + + protected EnterpriseFeatureSettingV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.feature = builder.feature; + this.state = builder.state; + this.canConfigure = builder.canConfigure; + this.isConfigured = builder.isConfigured; + this.allowlist = builder.allowlist; + this.denylist = builder.denylist; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getId() { + return id; + } + + public EnterpriseFeatureSettingV2025R0FeatureField getFeature() { + return feature; + } + + public String getState() { + return state; + } + + public Boolean getCanConfigure() { + return canConfigure; + } + + public Boolean getIsConfigured() { + return isConfigured; + } + + public List getAllowlist() { + return allowlist; + } + + public List getDenylist() { + return denylist; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseFeatureSettingV2025R0 casted = (EnterpriseFeatureSettingV2025R0) o; + return Objects.equals(id, casted.id) + && Objects.equals(feature, casted.feature) + && Objects.equals(state, casted.state) + && Objects.equals(canConfigure, casted.canConfigure) + && Objects.equals(isConfigured, casted.isConfigured) + && Objects.equals(allowlist, casted.allowlist) + && Objects.equals(denylist, casted.denylist); + } + + @Override + public int hashCode() { + return Objects.hash(id, feature, state, canConfigure, isConfigured, allowlist, denylist); + } + + @Override + public String toString() { + return "EnterpriseFeatureSettingV2025R0{" + + "id='" + + id + + '\'' + + ", " + + "feature='" + + feature + + '\'' + + ", " + + "state='" + + state + + '\'' + + ", " + + "canConfigure='" + + canConfigure + + '\'' + + ", " + + "isConfigured='" + + isConfigured + + '\'' + + ", " + + "allowlist='" + + allowlist + + '\'' + + ", " + + "denylist='" + + denylist + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String id; + + protected EnterpriseFeatureSettingV2025R0FeatureField feature; + + protected String state; + + protected Boolean canConfigure; + + protected Boolean isConfigured; + + protected List allowlist; + + protected List denylist; + + public Builder id(String id) { + this.id = id; + this.markNullableFieldAsSet("id"); + return this; + } + + public Builder feature(EnterpriseFeatureSettingV2025R0FeatureField feature) { + this.feature = feature; + return this; + } + + public Builder state(String state) { + this.state = state; + this.markNullableFieldAsSet("state"); + return this; + } + + public Builder canConfigure(Boolean canConfigure) { + this.canConfigure = canConfigure; + this.markNullableFieldAsSet("can_configure"); + return this; + } + + public Builder isConfigured(Boolean isConfigured) { + this.isConfigured = isConfigured; + this.markNullableFieldAsSet("is_configured"); + return this; + } + + public Builder allowlist(List allowlist) { + this.allowlist = allowlist; + this.markNullableFieldAsSet("allowlist"); + return this; + } + + public Builder denylist(List denylist) { + this.denylist = denylist; + this.markNullableFieldAsSet("denylist"); + return this; + } + + public EnterpriseFeatureSettingV2025R0 build() { + return new EnterpriseFeatureSettingV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0FeatureField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0FeatureField.java new file mode 100644 index 000000000..424600598 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/enterprisefeaturesettingv2025r0/EnterpriseFeatureSettingV2025R0FeatureField.java @@ -0,0 +1,66 @@ +package com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class EnterpriseFeatureSettingV2025R0FeatureField extends SerializableObject { + + /** The identifier of the feature. */ + @Nullable protected String id; + + public EnterpriseFeatureSettingV2025R0FeatureField() { + super(); + } + + protected EnterpriseFeatureSettingV2025R0FeatureField(Builder builder) { + super(); + this.id = builder.id; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getId() { + return id; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnterpriseFeatureSettingV2025R0FeatureField casted = + (EnterpriseFeatureSettingV2025R0FeatureField) o; + return Objects.equals(id, casted.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + return "EnterpriseFeatureSettingV2025R0FeatureField{" + "id='" + id + '\'' + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String id; + + public Builder id(String id) { + this.id = id; + this.markNullableFieldAsSet("id"); + return this; + } + + public EnterpriseFeatureSettingV2025R0FeatureField build() { + return new EnterpriseFeatureSettingV2025R0FeatureField(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/externalcollabsecuritysettingsv2025r0/ExternalCollabSecuritySettingsV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/externalcollabsecuritysettingsv2025r0/ExternalCollabSecuritySettingsV2025R0.java new file mode 100644 index 000000000..ce933fbee --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/externalcollabsecuritysettingsv2025r0/ExternalCollabSecuritySettingsV2025R0.java @@ -0,0 +1,259 @@ +package com.box.sdkgen.schemas.v2025r0.externalcollabsecuritysettingsv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.internal.utils.DateTimeUtils; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.time.OffsetDateTime; +import java.util.List; +import java.util.Objects; + +/** External collaboration security settings. */ +@JsonFilter("nullablePropertyFilter") +public class ExternalCollabSecuritySettingsV2025R0 extends SerializableObject { + + /** + * List of domains that are not allowed for external collaboration. Applies if state is + * `denylist`. + */ + @JsonProperty("denylist_domains") + protected List denylistDomains; + + /** + * List of email addresses that are not allowed for external collaboration. Applies if state is + * `denylist`. + */ + @JsonProperty("denylist_emails") + protected List denylistEmails; + + /** + * List of domains that are allowed for external collaboration. Applies if state is `allowlist`. + */ + @JsonProperty("allowlist_domains") + protected List allowlistDomains; + + /** + * List of email addresses that are allowed for external collaboration. Applies if state is + * `allowlist`. + */ + @JsonProperty("allowlist_emails") + protected List allowlistEmails; + + /** + * The state of the external collaboration security settings. Possible values include `enabled`, + * `disabled`, `allowlist`, and `denylist`. + */ + @Nullable protected String state; + + /** + * The status of the scheduling to apply external collaboration security settings. Possible values + * include `in_progress`, `scheduled`, `completed`, `failed`, and `scheduled_immediate`. + */ + @JsonProperty("scheduled_status") + @Nullable + protected String scheduledStatus; + + /** Scheduled at. */ + @JsonProperty("scheduled_at") + @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class) + @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class) + @Nullable + protected OffsetDateTime scheduledAt; + + /** + * Factor type for the external collaborators authentication. Possible values include `totp`, + * `any`, or `unknown`. + */ + @JsonProperty("factor_type_settings") + @Nullable + protected String factorTypeSettings; + + public ExternalCollabSecuritySettingsV2025R0() { + super(); + } + + protected ExternalCollabSecuritySettingsV2025R0(Builder builder) { + super(); + this.denylistDomains = builder.denylistDomains; + this.denylistEmails = builder.denylistEmails; + this.allowlistDomains = builder.allowlistDomains; + this.allowlistEmails = builder.allowlistEmails; + this.state = builder.state; + this.scheduledStatus = builder.scheduledStatus; + this.scheduledAt = builder.scheduledAt; + this.factorTypeSettings = builder.factorTypeSettings; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public List getDenylistDomains() { + return denylistDomains; + } + + public List getDenylistEmails() { + return denylistEmails; + } + + public List getAllowlistDomains() { + return allowlistDomains; + } + + public List getAllowlistEmails() { + return allowlistEmails; + } + + public String getState() { + return state; + } + + public String getScheduledStatus() { + return scheduledStatus; + } + + public OffsetDateTime getScheduledAt() { + return scheduledAt; + } + + public String getFactorTypeSettings() { + return factorTypeSettings; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ExternalCollabSecuritySettingsV2025R0 casted = (ExternalCollabSecuritySettingsV2025R0) o; + return Objects.equals(denylistDomains, casted.denylistDomains) + && Objects.equals(denylistEmails, casted.denylistEmails) + && Objects.equals(allowlistDomains, casted.allowlistDomains) + && Objects.equals(allowlistEmails, casted.allowlistEmails) + && Objects.equals(state, casted.state) + && Objects.equals(scheduledStatus, casted.scheduledStatus) + && Objects.equals(scheduledAt, casted.scheduledAt) + && Objects.equals(factorTypeSettings, casted.factorTypeSettings); + } + + @Override + public int hashCode() { + return Objects.hash( + denylistDomains, + denylistEmails, + allowlistDomains, + allowlistEmails, + state, + scheduledStatus, + scheduledAt, + factorTypeSettings); + } + + @Override + public String toString() { + return "ExternalCollabSecuritySettingsV2025R0{" + + "denylistDomains='" + + denylistDomains + + '\'' + + ", " + + "denylistEmails='" + + denylistEmails + + '\'' + + ", " + + "allowlistDomains='" + + allowlistDomains + + '\'' + + ", " + + "allowlistEmails='" + + allowlistEmails + + '\'' + + ", " + + "state='" + + state + + '\'' + + ", " + + "scheduledStatus='" + + scheduledStatus + + '\'' + + ", " + + "scheduledAt='" + + scheduledAt + + '\'' + + ", " + + "factorTypeSettings='" + + factorTypeSettings + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected List denylistDomains; + + protected List denylistEmails; + + protected List allowlistDomains; + + protected List allowlistEmails; + + protected String state; + + protected String scheduledStatus; + + protected OffsetDateTime scheduledAt; + + protected String factorTypeSettings; + + public Builder denylistDomains(List denylistDomains) { + this.denylistDomains = denylistDomains; + return this; + } + + public Builder denylistEmails(List denylistEmails) { + this.denylistEmails = denylistEmails; + return this; + } + + public Builder allowlistDomains(List allowlistDomains) { + this.allowlistDomains = allowlistDomains; + return this; + } + + public Builder allowlistEmails(List allowlistEmails) { + this.allowlistEmails = allowlistEmails; + return this; + } + + public Builder state(String state) { + this.state = state; + this.markNullableFieldAsSet("state"); + return this; + } + + public Builder scheduledStatus(String scheduledStatus) { + this.scheduledStatus = scheduledStatus; + this.markNullableFieldAsSet("scheduled_status"); + return this; + } + + public Builder scheduledAt(OffsetDateTime scheduledAt) { + this.scheduledAt = scheduledAt; + this.markNullableFieldAsSet("scheduled_at"); + return this; + } + + public Builder factorTypeSettings(String factorTypeSettings) { + this.factorTypeSettings = factorTypeSettings; + this.markNullableFieldAsSet("factor_type_settings"); + return this; + } + + public ExternalCollabSecuritySettingsV2025R0 build() { + return new ExternalCollabSecuritySettingsV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/keysafesettingsv2025r0/KeysafeSettingsV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/keysafesettingsv2025r0/KeysafeSettingsV2025R0.java new file mode 100644 index 000000000..7353cfe6f --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/keysafesettingsv2025r0/KeysafeSettingsV2025R0.java @@ -0,0 +1,210 @@ +package com.box.sdkgen.schemas.v2025r0.keysafesettingsv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** The KeySafe settings. */ +@JsonFilter("nullablePropertyFilter") +public class KeysafeSettingsV2025R0 extends SerializableObject { + + /** Whether KeySafe addon is enabled for the enterprise. */ + @JsonProperty("keysafe_enabled") + protected Boolean keysafeEnabled; + + /** The cloud provider. */ + @JsonProperty("cloud_provider") + @Nullable + protected String cloudProvider; + + /** The key ID. */ + @JsonProperty("key_id") + @Nullable + protected String keyId; + + /** The account ID. */ + @JsonProperty("account_id") + @Nullable + protected String accountId; + + /** The location ID. */ + @JsonProperty("location_id") + @Nullable + protected String locationId; + + /** The project ID. */ + @JsonProperty("project_id") + @Nullable + protected String projectId; + + /** The key ring ID. */ + @JsonProperty("keyring_id") + @Nullable + protected String keyringId; + + public KeysafeSettingsV2025R0() { + super(); + } + + protected KeysafeSettingsV2025R0(Builder builder) { + super(); + this.keysafeEnabled = builder.keysafeEnabled; + this.cloudProvider = builder.cloudProvider; + this.keyId = builder.keyId; + this.accountId = builder.accountId; + this.locationId = builder.locationId; + this.projectId = builder.projectId; + this.keyringId = builder.keyringId; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Boolean getKeysafeEnabled() { + return keysafeEnabled; + } + + public String getCloudProvider() { + return cloudProvider; + } + + public String getKeyId() { + return keyId; + } + + public String getAccountId() { + return accountId; + } + + public String getLocationId() { + return locationId; + } + + public String getProjectId() { + return projectId; + } + + public String getKeyringId() { + return keyringId; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + KeysafeSettingsV2025R0 casted = (KeysafeSettingsV2025R0) o; + return Objects.equals(keysafeEnabled, casted.keysafeEnabled) + && Objects.equals(cloudProvider, casted.cloudProvider) + && Objects.equals(keyId, casted.keyId) + && Objects.equals(accountId, casted.accountId) + && Objects.equals(locationId, casted.locationId) + && Objects.equals(projectId, casted.projectId) + && Objects.equals(keyringId, casted.keyringId); + } + + @Override + public int hashCode() { + return Objects.hash( + keysafeEnabled, cloudProvider, keyId, accountId, locationId, projectId, keyringId); + } + + @Override + public String toString() { + return "KeysafeSettingsV2025R0{" + + "keysafeEnabled='" + + keysafeEnabled + + '\'' + + ", " + + "cloudProvider='" + + cloudProvider + + '\'' + + ", " + + "keyId='" + + keyId + + '\'' + + ", " + + "accountId='" + + accountId + + '\'' + + ", " + + "locationId='" + + locationId + + '\'' + + ", " + + "projectId='" + + projectId + + '\'' + + ", " + + "keyringId='" + + keyringId + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Boolean keysafeEnabled; + + protected String cloudProvider; + + protected String keyId; + + protected String accountId; + + protected String locationId; + + protected String projectId; + + protected String keyringId; + + public Builder keysafeEnabled(Boolean keysafeEnabled) { + this.keysafeEnabled = keysafeEnabled; + return this; + } + + public Builder cloudProvider(String cloudProvider) { + this.cloudProvider = cloudProvider; + this.markNullableFieldAsSet("cloud_provider"); + return this; + } + + public Builder keyId(String keyId) { + this.keyId = keyId; + this.markNullableFieldAsSet("key_id"); + return this; + } + + public Builder accountId(String accountId) { + this.accountId = accountId; + this.markNullableFieldAsSet("account_id"); + return this; + } + + public Builder locationId(String locationId) { + this.locationId = locationId; + this.markNullableFieldAsSet("location_id"); + return this; + } + + public Builder projectId(String projectId) { + this.projectId = projectId; + this.markNullableFieldAsSet("project_id"); + return this; + } + + public Builder keyringId(String keyringId) { + this.keyringId = keyringId; + this.markNullableFieldAsSet("keyring_id"); + return this; + } + + public KeysafeSettingsV2025R0 build() { + return new KeysafeSettingsV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/listuserv2025r0/ListUserV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/listuserv2025r0/ListUserV2025R0.java new file mode 100644 index 000000000..579bc26d9 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/listuserv2025r0/ListUserV2025R0.java @@ -0,0 +1,112 @@ +package com.box.sdkgen.schemas.v2025r0.listuserv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** A user in allowlist or denylist. */ +@JsonFilter("nullablePropertyFilter") +public class ListUserV2025R0 extends SerializableObject { + + /** The ID of the user. */ + @Nullable protected Long id; + + /** The name of the user. */ + @Nullable protected String name; + + /** The email of the user. */ + @Nullable protected String email; + + public ListUserV2025R0() { + super(); + } + + protected ListUserV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.name = builder.name; + this.email = builder.email; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Long getId() { + return id; + } + + public String getName() { + return name; + } + + public String getEmail() { + return email; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListUserV2025R0 casted = (ListUserV2025R0) o; + return Objects.equals(id, casted.id) + && Objects.equals(name, casted.name) + && Objects.equals(email, casted.email); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, email); + } + + @Override + public String toString() { + return "ListUserV2025R0{" + + "id='" + + id + + '\'' + + ", " + + "name='" + + name + + '\'' + + ", " + + "email='" + + email + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Long id; + + protected String name; + + protected String email; + + public Builder id(Long id) { + this.id = id; + this.markNullableFieldAsSet("id"); + return this; + } + + public Builder name(String name) { + this.name = name; + this.markNullableFieldAsSet("name"); + return this; + } + + public Builder email(String email) { + this.email = email; + this.markNullableFieldAsSet("email"); + return this; + } + + public ListUserV2025R0 build() { + return new ListUserV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/sharedlinkpermissionsv2025r0/SharedLinkPermissionsV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/sharedlinkpermissionsv2025r0/SharedLinkPermissionsV2025R0.java new file mode 100644 index 000000000..bfe6005dc --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/sharedlinkpermissionsv2025r0/SharedLinkPermissionsV2025R0.java @@ -0,0 +1,146 @@ +package com.box.sdkgen.schemas.v2025r0.sharedlinkpermissionsv2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +/** The shared link permissions for the enterprise. */ +@JsonFilter("nullablePropertyFilter") +public class SharedLinkPermissionsV2025R0 extends SerializableObject { + + /** The selected option for shared links permissions. */ + @JsonProperty("shared_links_option") + @Nullable + protected String sharedLinksOption; + + /** The default shared link type. */ + @JsonProperty("default_shared_link_type") + @Nullable + protected String defaultSharedLinkType; + + /** The selected option for notes shared links permissions. */ + @JsonProperty("notes_shared_link_option") + @Nullable + protected String notesSharedLinkOption; + + /** The default notes shared link type. */ + @JsonProperty("default_notes_shared_link_type") + @Nullable + protected String defaultNotesSharedLinkType; + + public SharedLinkPermissionsV2025R0() { + super(); + } + + protected SharedLinkPermissionsV2025R0(Builder builder) { + super(); + this.sharedLinksOption = builder.sharedLinksOption; + this.defaultSharedLinkType = builder.defaultSharedLinkType; + this.notesSharedLinkOption = builder.notesSharedLinkOption; + this.defaultNotesSharedLinkType = builder.defaultNotesSharedLinkType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getSharedLinksOption() { + return sharedLinksOption; + } + + public String getDefaultSharedLinkType() { + return defaultSharedLinkType; + } + + public String getNotesSharedLinkOption() { + return notesSharedLinkOption; + } + + public String getDefaultNotesSharedLinkType() { + return defaultNotesSharedLinkType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SharedLinkPermissionsV2025R0 casted = (SharedLinkPermissionsV2025R0) o; + return Objects.equals(sharedLinksOption, casted.sharedLinksOption) + && Objects.equals(defaultSharedLinkType, casted.defaultSharedLinkType) + && Objects.equals(notesSharedLinkOption, casted.notesSharedLinkOption) + && Objects.equals(defaultNotesSharedLinkType, casted.defaultNotesSharedLinkType); + } + + @Override + public int hashCode() { + return Objects.hash( + sharedLinksOption, + defaultSharedLinkType, + notesSharedLinkOption, + defaultNotesSharedLinkType); + } + + @Override + public String toString() { + return "SharedLinkPermissionsV2025R0{" + + "sharedLinksOption='" + + sharedLinksOption + + '\'' + + ", " + + "defaultSharedLinkType='" + + defaultSharedLinkType + + '\'' + + ", " + + "notesSharedLinkOption='" + + notesSharedLinkOption + + '\'' + + ", " + + "defaultNotesSharedLinkType='" + + defaultNotesSharedLinkType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String sharedLinksOption; + + protected String defaultSharedLinkType; + + protected String notesSharedLinkOption; + + protected String defaultNotesSharedLinkType; + + public Builder sharedLinksOption(String sharedLinksOption) { + this.sharedLinksOption = sharedLinksOption; + this.markNullableFieldAsSet("shared_links_option"); + return this; + } + + public Builder defaultSharedLinkType(String defaultSharedLinkType) { + this.defaultSharedLinkType = defaultSharedLinkType; + this.markNullableFieldAsSet("default_shared_link_type"); + return this; + } + + public Builder notesSharedLinkOption(String notesSharedLinkOption) { + this.notesSharedLinkOption = notesSharedLinkOption; + this.markNullableFieldAsSet("notes_shared_link_option"); + return this; + } + + public Builder defaultNotesSharedLinkType(String defaultNotesSharedLinkType) { + this.defaultNotesSharedLinkType = defaultNotesSharedLinkType; + this.markNullableFieldAsSet("default_notes_shared_link_type"); + return this; + } + + public SharedLinkPermissionsV2025R0 build() { + return new SharedLinkPermissionsV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0.java new file mode 100644 index 000000000..185aa00ba --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0.java @@ -0,0 +1,240 @@ +package com.box.sdkgen.schemas.v2025r0.shieldruleitemv2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.internal.utils.DateTimeUtils; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.time.OffsetDateTime; +import java.util.Objects; + +/** A Shield rule item. */ +@JsonFilter("nullablePropertyFilter") +public class ShieldRuleItemV2025R0 extends SerializableObject { + + /** The identifier of the shield rule. */ + protected String id; + + /** The value will always be `shield_rule`. */ + @JsonDeserialize( + using = ShieldRuleItemV2025R0TypeField.ShieldRuleItemV2025R0TypeFieldDeserializer.class) + @JsonSerialize( + using = ShieldRuleItemV2025R0TypeField.ShieldRuleItemV2025R0TypeFieldSerializer.class) + protected EnumWrapper type; + + /** The category of the shield rule. */ + @JsonProperty("rule_category") + protected String ruleCategory; + + /** The name of the shield rule. */ + protected String name; + + /** The description of the shield rule. */ + protected String description; + + /** The priority level of the shield rule. */ + @JsonDeserialize( + using = + ShieldRuleItemV2025R0PriorityField.ShieldRuleItemV2025R0PriorityFieldDeserializer.class) + @JsonSerialize( + using = ShieldRuleItemV2025R0PriorityField.ShieldRuleItemV2025R0PriorityFieldSerializer.class) + protected EnumWrapper priority; + + /** The date and time when the shield rule was created. */ + @JsonProperty("created_at") + @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class) + @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class) + protected OffsetDateTime createdAt; + + /** The date and time when the shield rule was last modified. */ + @JsonProperty("modified_at") + @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class) + @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class) + protected OffsetDateTime modifiedAt; + + public ShieldRuleItemV2025R0() { + super(); + } + + protected ShieldRuleItemV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.type = builder.type; + this.ruleCategory = builder.ruleCategory; + this.name = builder.name; + this.description = builder.description; + this.priority = builder.priority; + this.createdAt = builder.createdAt; + this.modifiedAt = builder.modifiedAt; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getId() { + return id; + } + + public EnumWrapper getType() { + return type; + } + + public String getRuleCategory() { + return ruleCategory; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public EnumWrapper getPriority() { + return priority; + } + + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public OffsetDateTime getModifiedAt() { + return modifiedAt; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShieldRuleItemV2025R0 casted = (ShieldRuleItemV2025R0) o; + return Objects.equals(id, casted.id) + && Objects.equals(type, casted.type) + && Objects.equals(ruleCategory, casted.ruleCategory) + && Objects.equals(name, casted.name) + && Objects.equals(description, casted.description) + && Objects.equals(priority, casted.priority) + && Objects.equals(createdAt, casted.createdAt) + && Objects.equals(modifiedAt, casted.modifiedAt); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, ruleCategory, name, description, priority, createdAt, modifiedAt); + } + + @Override + public String toString() { + return "ShieldRuleItemV2025R0{" + + "id='" + + id + + '\'' + + ", " + + "type='" + + type + + '\'' + + ", " + + "ruleCategory='" + + ruleCategory + + '\'' + + ", " + + "name='" + + name + + '\'' + + ", " + + "description='" + + description + + '\'' + + ", " + + "priority='" + + priority + + '\'' + + ", " + + "createdAt='" + + createdAt + + '\'' + + ", " + + "modifiedAt='" + + modifiedAt + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String id; + + protected EnumWrapper type; + + protected String ruleCategory; + + protected String name; + + protected String description; + + protected EnumWrapper priority; + + protected OffsetDateTime createdAt; + + protected OffsetDateTime modifiedAt; + + public Builder id(String id) { + this.id = id; + return this; + } + + public Builder type(ShieldRuleItemV2025R0TypeField type) { + this.type = new EnumWrapper(type); + return this; + } + + public Builder type(EnumWrapper type) { + this.type = type; + return this; + } + + public Builder ruleCategory(String ruleCategory) { + this.ruleCategory = ruleCategory; + return this; + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder description(String description) { + this.description = description; + return this; + } + + public Builder priority(ShieldRuleItemV2025R0PriorityField priority) { + this.priority = new EnumWrapper(priority); + return this; + } + + public Builder priority(EnumWrapper priority) { + this.priority = priority; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public ShieldRuleItemV2025R0 build() { + return new ShieldRuleItemV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0PriorityField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0PriorityField.java new file mode 100644 index 000000000..974613fa3 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0PriorityField.java @@ -0,0 +1,66 @@ +package com.box.sdkgen.schemas.v2025r0.shieldruleitemv2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum ShieldRuleItemV2025R0PriorityField implements Valuable { + INFORMATIONAL("informational"), + LOW("low"), + MEDIUM("medium"), + HIGH("high"), + CRITICAL("critical"); + + private final String value; + + ShieldRuleItemV2025R0PriorityField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class ShieldRuleItemV2025R0PriorityFieldDeserializer + extends JsonDeserializer> { + + public ShieldRuleItemV2025R0PriorityFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(ShieldRuleItemV2025R0PriorityField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class ShieldRuleItemV2025R0PriorityFieldSerializer + extends JsonSerializer> { + + public ShieldRuleItemV2025R0PriorityFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0TypeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0TypeField.java new file mode 100644 index 000000000..5c7194a3b --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/shieldruleitemv2025r0/ShieldRuleItemV2025R0TypeField.java @@ -0,0 +1,62 @@ +package com.box.sdkgen.schemas.v2025r0.shieldruleitemv2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum ShieldRuleItemV2025R0TypeField implements Valuable { + SHIELD_RULE("shield_rule"); + + private final String value; + + ShieldRuleItemV2025R0TypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class ShieldRuleItemV2025R0TypeFieldDeserializer + extends JsonDeserializer> { + + public ShieldRuleItemV2025R0TypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(ShieldRuleItemV2025R0TypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class ShieldRuleItemV2025R0TypeFieldSerializer + extends JsonSerializer> { + + public ShieldRuleItemV2025R0TypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0.java new file mode 100644 index 000000000..3894433df --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.v2025r0.userorgroupreferencev2025r0; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** A reference to a user or group. */ +@JsonFilter("nullablePropertyFilter") +public class UserOrGroupReferenceV2025R0 extends SerializableObject { + + /** The type `user` or `group`. */ + @JsonDeserialize( + using = + UserOrGroupReferenceV2025R0TypeField.UserOrGroupReferenceV2025R0TypeFieldDeserializer + .class) + @JsonSerialize( + using = + UserOrGroupReferenceV2025R0TypeField.UserOrGroupReferenceV2025R0TypeFieldSerializer.class) + protected EnumWrapper type; + + /** The identifier of the user or group. */ + protected String id; + + public UserOrGroupReferenceV2025R0() { + super(); + } + + protected UserOrGroupReferenceV2025R0(Builder builder) { + super(); + this.type = builder.type; + this.id = builder.id; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper getType() { + return type; + } + + public String getId() { + return id; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserOrGroupReferenceV2025R0 casted = (UserOrGroupReferenceV2025R0) o; + return Objects.equals(type, casted.type) && Objects.equals(id, casted.id); + } + + @Override + public int hashCode() { + return Objects.hash(type, id); + } + + @Override + public String toString() { + return "UserOrGroupReferenceV2025R0{" + + "type='" + + type + + '\'' + + ", " + + "id='" + + id + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper type; + + protected String id; + + public Builder type(UserOrGroupReferenceV2025R0TypeField type) { + this.type = new EnumWrapper(type); + return this; + } + + public Builder type(EnumWrapper type) { + this.type = type; + return this; + } + + public Builder id(String id) { + this.id = id; + return this; + } + + public UserOrGroupReferenceV2025R0 build() { + return new UserOrGroupReferenceV2025R0(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0TypeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0TypeField.java new file mode 100644 index 000000000..7ca167511 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/userorgroupreferencev2025r0/UserOrGroupReferenceV2025R0TypeField.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.v2025r0.userorgroupreferencev2025r0; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum UserOrGroupReferenceV2025R0TypeField implements Valuable { + USER("user"), + GROUP("group"); + + private final String value; + + UserOrGroupReferenceV2025R0TypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class UserOrGroupReferenceV2025R0TypeFieldDeserializer + extends JsonDeserializer> { + + public UserOrGroupReferenceV2025R0TypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(UserOrGroupReferenceV2025R0TypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class UserOrGroupReferenceV2025R0TypeFieldSerializer + extends JsonSerializer> { + + public UserOrGroupReferenceV2025R0TypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/usertrackingcodev2025r0/UserTrackingCodeV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/usertrackingcodev2025r0/UserTrackingCodeV2025R0.java new file mode 100644 index 000000000..2169db440 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/usertrackingcodev2025r0/UserTrackingCodeV2025R0.java @@ -0,0 +1,82 @@ +package com.box.sdkgen.schemas.v2025r0.usertrackingcodev2025r0; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import java.util.Objects; + +/** A user tracking code. */ +@JsonFilter("nullablePropertyFilter") +public class UserTrackingCodeV2025R0 extends SerializableObject { + + /** The ID of the user tracking code. */ + @Nullable protected Long id; + + /** The name of the user tracking code. */ + @Nullable protected String name; + + public UserTrackingCodeV2025R0() { + super(); + } + + protected UserTrackingCodeV2025R0(Builder builder) { + super(); + this.id = builder.id; + this.name = builder.name; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public Long getId() { + return id; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserTrackingCodeV2025R0 casted = (UserTrackingCodeV2025R0) o; + return Objects.equals(id, casted.id) && Objects.equals(name, casted.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + return "UserTrackingCodeV2025R0{" + "id='" + id + '\'' + ", " + "name='" + name + '\'' + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected Long id; + + protected String name; + + public Builder id(Long id) { + this.id = id; + this.markNullableFieldAsSet("id"); + return this; + } + + public Builder name(String name) { + this.name = name; + this.markNullableFieldAsSet("name"); + return this; + } + + public UserTrackingCodeV2025R0 build() { + return new UserTrackingCodeV2025R0(this); + } + } +} From d0646e513ff73bab80ded3010f2cef6673807b03 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 22 Oct 2025 09:20:19 -0700 Subject: [PATCH 2/3] chore: Update `.codegen.json` with commit hash of `codegen` and `openapi` spec [skip ci] --- .codegen.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index 583fdccdb..307a59948 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "192deac", "specHash": "cf21406", "version": "10.1.0" } +{ "engineHash": "d3a15eb", "specHash": "cf21406", "version": "10.1.0" } From bd2cb843f87e8d5fedc2f3a2859ac8ad10a0cbf8 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 22 Oct 2025 10:50:06 -0700 Subject: [PATCH 3/3] chore: Update `.codegen.json` with commit hash of `codegen` and `openapi` spec [skip ci] --- .codegen.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index 307a59948..87e594042 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "d3a15eb", "specHash": "cf21406", "version": "10.1.0" } +{ "engineHash": "dec2966", "specHash": "cf21406", "version": "10.1.0" }