diff --git a/.codegen.json b/.codegen.json index 2f741093e..5e6dac2d2 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "7c94f4f", "specHash": "a646ae6", "version": "5.0.0" } +{ "engineHash": "7c94f4f", "specHash": "8b51a89", "version": "5.0.0" } diff --git a/docs/sdkgen/archives.md b/docs/sdkgen/archives.md index 173edd0c6..b45266dff 100644 --- a/docs/sdkgen/archives.md +++ b/docs/sdkgen/archives.md @@ -4,6 +4,7 @@ - [List archives](#list-archives) - [Create archive](#create-archive) - [Delete archive](#delete-archive) +- [Update archive](#update-archive) ## List archives @@ -98,3 +99,33 @@ This function returns a value of type `void`. Returns an empty response when the archive has been deleted. +## Update archive + +Updates an archive. + +To learn more about the archive APIs, see the [Archive API Guide](g://archives). + +This operation is performed by calling function `updateArchiveByIdV2025R0`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/v2025.0/put-archives-id/). + +*Currently we don't have an example for calling `updateArchiveByIdV2025R0` in integration tests* + +### Arguments + +- archiveId `String` + - The ID of the archive. Example: "982312" +- requestBody `UpdateArchiveByIdV2025R0RequestBody` + - Request body of updateArchiveByIdV2025R0 method +- headers `UpdateArchiveByIdV2025R0Headers` + - Headers of updateArchiveByIdV2025R0 method + + +### Returns + +This function returns a value of type `ArchiveV2025R0`. + +Returns the updated archive object. + + diff --git a/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java b/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java index 79d871eb1..608fd42c2 100644 --- a/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java +++ b/src/main/java/com/box/sdkgen/managers/archives/ArchivesManager.java @@ -186,6 +186,85 @@ public void deleteArchiveByIdV2025R0(String archiveId, DeleteArchiveByIdV2025R0H .build()); } + /** + * Updates an archive. + * + *

To learn more about the archive APIs, see the [Archive API Guide](g://archives). + * + * @param archiveId The ID of the archive. Example: "982312" + */ + public ArchiveV2025R0 updateArchiveByIdV2025R0(String archiveId) { + return updateArchiveByIdV2025R0( + archiveId, + new UpdateArchiveByIdV2025R0RequestBody(), + new UpdateArchiveByIdV2025R0Headers()); + } + + /** + * Updates an archive. + * + *

To learn more about the archive APIs, see the [Archive API Guide](g://archives). + * + * @param archiveId The ID of the archive. Example: "982312" + * @param requestBody Request body of updateArchiveByIdV2025R0 method + */ + public ArchiveV2025R0 updateArchiveByIdV2025R0( + String archiveId, UpdateArchiveByIdV2025R0RequestBody requestBody) { + return updateArchiveByIdV2025R0(archiveId, requestBody, new UpdateArchiveByIdV2025R0Headers()); + } + + /** + * Updates an archive. + * + *

To learn more about the archive APIs, see the [Archive API Guide](g://archives). + * + * @param archiveId The ID of the archive. Example: "982312" + * @param headers Headers of updateArchiveByIdV2025R0 method + */ + public ArchiveV2025R0 updateArchiveByIdV2025R0( + String archiveId, UpdateArchiveByIdV2025R0Headers headers) { + return updateArchiveByIdV2025R0(archiveId, new UpdateArchiveByIdV2025R0RequestBody(), headers); + } + + /** + * Updates an archive. + * + *

To learn more about the archive APIs, see the [Archive API Guide](g://archives). + * + * @param archiveId The ID of the archive. Example: "982312" + * @param requestBody Request body of updateArchiveByIdV2025R0 method + * @param headers Headers of updateArchiveByIdV2025R0 method + */ + public ArchiveV2025R0 updateArchiveByIdV2025R0( + String archiveId, + UpdateArchiveByIdV2025R0RequestBody requestBody, + UpdateArchiveByIdV2025R0Headers headers) { + 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/archives/", + convertToString(archiveId)), + "PUT") + .headers(headersMap) + .data(JsonManager.serialize(requestBody)) + .contentType("application/json") + .responseFormat(ResponseFormat.JSON) + .auth(this.auth) + .networkSession(this.networkSession) + .build()); + return JsonManager.deserialize(response.getData(), ArchiveV2025R0.class); + } + public Authentication getAuth() { return auth; } diff --git a/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java b/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java index dd0a536ad..c50b88e1c 100644 --- a/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java +++ b/src/main/java/com/box/sdkgen/managers/archives/CreateArchiveV2025R0RequestBody.java @@ -1,5 +1,6 @@ package com.box.sdkgen.managers.archives; +import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -11,15 +12,38 @@ public class CreateArchiveV2025R0RequestBody extends SerializableObject { /** The name of the archive. */ protected final String name; + /** The description of the archive. */ + protected String description; + + /** The ID of the storage policy that the archive is assigned to. */ + @JsonProperty("storage_policy_id") + protected String storagePolicyId; + public CreateArchiveV2025R0RequestBody(@JsonProperty("name") String name) { super(); this.name = name; } + protected CreateArchiveV2025R0RequestBody(Builder builder) { + super(); + this.name = builder.name; + this.description = builder.description; + this.storagePolicyId = builder.storagePolicyId; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + public String getName() { return name; } + public String getDescription() { + return description; + } + + public String getStoragePolicyId() { + return storagePolicyId; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -29,16 +53,58 @@ public boolean equals(Object o) { return false; } CreateArchiveV2025R0RequestBody casted = (CreateArchiveV2025R0RequestBody) o; - return Objects.equals(name, casted.name); + return Objects.equals(name, casted.name) + && Objects.equals(description, casted.description) + && Objects.equals(storagePolicyId, casted.storagePolicyId); } @Override public int hashCode() { - return Objects.hash(name); + return Objects.hash(name, description, storagePolicyId); } @Override public String toString() { - return "CreateArchiveV2025R0RequestBody{" + "name='" + name + '\'' + "}"; + return "CreateArchiveV2025R0RequestBody{" + + "name='" + + name + + '\'' + + ", " + + "description='" + + description + + '\'' + + ", " + + "storagePolicyId='" + + storagePolicyId + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected final String name; + + protected String description; + + protected String storagePolicyId; + + public Builder(String name) { + super(); + this.name = name; + } + + public Builder description(String description) { + this.description = description; + return this; + } + + public Builder storagePolicyId(String storagePolicyId) { + this.storagePolicyId = storagePolicyId; + return this; + } + + public CreateArchiveV2025R0RequestBody build() { + return new CreateArchiveV2025R0RequestBody(this); + } } } diff --git a/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java new file mode 100644 index 000000000..ca601dda6 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0Headers.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.managers.archives; + +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 UpdateArchiveByIdV2025R0Headers { + + /** Version header. */ + public EnumWrapper boxVersion; + + /** Extra headers that will be included in the HTTP request. */ + public Map extraHeaders; + + public UpdateArchiveByIdV2025R0Headers() { + this.boxVersion = new EnumWrapper(BoxVersionHeaderV2025R0._2025_0); + this.extraHeaders = mapOf(); + } + + protected UpdateArchiveByIdV2025R0Headers(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 UpdateArchiveByIdV2025R0Headers build() { + return new UpdateArchiveByIdV2025R0Headers(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java new file mode 100644 index 000000000..7000e70b8 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/archives/UpdateArchiveByIdV2025R0RequestBody.java @@ -0,0 +1,86 @@ +package com.box.sdkgen.managers.archives; + +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 UpdateArchiveByIdV2025R0RequestBody extends SerializableObject { + + /** The name of the archive. */ + protected String name; + + /** The description of the archive. */ + protected String description; + + public UpdateArchiveByIdV2025R0RequestBody() { + super(); + } + + protected UpdateArchiveByIdV2025R0RequestBody(Builder builder) { + super(); + this.name = builder.name; + this.description = builder.description; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateArchiveByIdV2025R0RequestBody casted = (UpdateArchiveByIdV2025R0RequestBody) o; + return Objects.equals(name, casted.name) && Objects.equals(description, casted.description); + } + + @Override + public int hashCode() { + return Objects.hash(name, description); + } + + @Override + public String toString() { + return "UpdateArchiveByIdV2025R0RequestBody{" + + "name='" + + name + + '\'' + + ", " + + "description='" + + description + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected String name; + + protected String description; + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder description(String description) { + this.description = description; + return this; + } + + public UpdateArchiveByIdV2025R0RequestBody build() { + return new UpdateArchiveByIdV2025R0RequestBody(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java index 95b25762b..3434d3528 100644 --- a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0.java @@ -1,5 +1,6 @@ package com.box.sdkgen.schemas.v2025r0.archivev2025r0; +import com.box.sdkgen.internal.Nullable; import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; import com.box.sdkgen.serialization.json.EnumWrapper; @@ -20,7 +21,7 @@ public class ArchiveV2025R0 extends SerializableObject { /** The unique identifier that represents an archive. */ protected final String id; - /** The value will always be `archive`. */ + /** The value is always `archive`. */ @JsonDeserialize(using = ArchiveV2025R0TypeField.ArchiveV2025R0TypeFieldDeserializer.class) @JsonSerialize(using = ArchiveV2025R0TypeField.ArchiveV2025R0TypeFieldSerializer.class) protected EnumWrapper type; @@ -37,6 +38,13 @@ public class ArchiveV2025R0 extends SerializableObject { /** The size of the archive in bytes. */ protected final long size; + /** The description of the archive. */ + @Nullable protected String description; + + /** The part of an archive API response that describes the user who owns the archive. */ + @JsonProperty("owned_by") + protected ArchiveV2025R0OwnedByField ownedBy; + public ArchiveV2025R0( @JsonProperty("id") String id, @JsonProperty("name") String name, @@ -54,6 +62,8 @@ protected ArchiveV2025R0(Builder builder) { this.type = builder.type; this.name = builder.name; this.size = builder.size; + this.description = builder.description; + this.ownedBy = builder.ownedBy; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -73,6 +83,14 @@ public long getSize() { return size; } + public String getDescription() { + return description; + } + + public ArchiveV2025R0OwnedByField getOwnedBy() { + return ownedBy; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -85,12 +103,14 @@ public boolean equals(Object o) { return Objects.equals(id, casted.id) && Objects.equals(type, casted.type) && Objects.equals(name, casted.name) - && Objects.equals(size, casted.size); + && Objects.equals(size, casted.size) + && Objects.equals(description, casted.description) + && Objects.equals(ownedBy, casted.ownedBy); } @Override public int hashCode() { - return Objects.hash(id, type, name, size); + return Objects.hash(id, type, name, size, description, ownedBy); } @Override @@ -111,6 +131,14 @@ public String toString() { + "size='" + size + '\'' + + ", " + + "description='" + + description + + '\'' + + ", " + + "ownedBy='" + + ownedBy + + '\'' + "}"; } @@ -124,6 +152,10 @@ public static class Builder extends NullableFieldTracker { protected final long size; + protected String description; + + protected ArchiveV2025R0OwnedByField ownedBy; + public Builder(String id, String name, long size) { super(); this.id = id; @@ -142,6 +174,17 @@ public Builder type(EnumWrapper type) { return this; } + public Builder description(String description) { + this.description = description; + this.markNullableFieldAsSet("description"); + return this; + } + + public Builder ownedBy(ArchiveV2025R0OwnedByField ownedBy) { + this.ownedBy = ownedBy; + return this; + } + public ArchiveV2025R0 build() { return new ArchiveV2025R0(this); } diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java new file mode 100644 index 000000000..bf92fc1dc --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/archivev2025r0/ArchiveV2025R0OwnedByField.java @@ -0,0 +1,53 @@ +package com.box.sdkgen.schemas.v2025r0.archivev2025r0; + +import com.box.sdkgen.internal.SerializableObject; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@JsonFilter("nullablePropertyFilter") +public class ArchiveV2025R0OwnedByField extends SerializableObject { + + /** The unique identifier that represents a user who owns the archive. */ + protected final String id; + + /** The value is always `user`. */ + protected final String type; + + public ArchiveV2025R0OwnedByField( + @JsonProperty("id") String id, @JsonProperty("type") String type) { + super(); + this.id = id; + this.type = type; + } + + public String getId() { + return id; + } + + public String getType() { + return type; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArchiveV2025R0OwnedByField casted = (ArchiveV2025R0OwnedByField) o; + return Objects.equals(id, casted.id) && Objects.equals(type, casted.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + return "ArchiveV2025R0OwnedByField{" + "id='" + id + '\'' + ", " + "type='" + type + '\'' + "}"; + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java index 76e08d187..dedb7c6cf 100644 --- a/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/hubitemreferencev2025r0/HubItemReferenceV2025R0.java @@ -94,7 +94,7 @@ public HubItemReferenceV2025R0 deserialize(JsonParser jp, DeserializationContext case "folder": return new HubItemReferenceV2025R0( JsonManager.deserialize(node, FolderReferenceV2025R0.class)); - case "weblink": + case "web_link": return new HubItemReferenceV2025R0( JsonManager.deserialize(node, WeblinkReferenceV2025R0.class)); } diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java index 6da150ef2..56913119e 100644 --- a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0.java @@ -13,7 +13,7 @@ @JsonFilter("nullablePropertyFilter") public class WeblinkReferenceV2025R0 extends SerializableObject { - /** The value will always be `weblink`. */ + /** The value will always be `web_link`. */ @JsonDeserialize( using = WeblinkReferenceV2025R0TypeField.WeblinkReferenceV2025R0TypeFieldDeserializer.class) @JsonSerialize( @@ -27,7 +27,8 @@ public WeblinkReferenceV2025R0(@JsonProperty("id") String id) { super(); this.id = id; this.type = - new EnumWrapper(WeblinkReferenceV2025R0TypeField.WEBLINK); + new EnumWrapper( + WeblinkReferenceV2025R0TypeField.WEB_LINK); } protected WeblinkReferenceV2025R0(Builder builder) { @@ -78,7 +79,7 @@ public Builder(String id) { this.id = id; this.type = new EnumWrapper( - WeblinkReferenceV2025R0TypeField.WEBLINK); + WeblinkReferenceV2025R0TypeField.WEB_LINK); } public Builder type(WeblinkReferenceV2025R0TypeField type) { diff --git a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java index d5670fce6..f2b8a56a0 100644 --- a/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java +++ b/src/main/java/com/box/sdkgen/schemas/v2025r0/weblinkreferencev2025r0/WeblinkReferenceV2025R0TypeField.java @@ -12,7 +12,7 @@ import java.util.Arrays; public enum WeblinkReferenceV2025R0TypeField implements Valuable { - WEBLINK("weblink"); + WEB_LINK("web_link"); private final String value;