diff --git a/.codegen.json b/.codegen.json index 03ebd091..8ee5890a 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "41feeaa", "specHash": "1080bb4", "version": "0.5.0" } +{ "engineHash": "41feeaa", "specHash": "c303afc", "version": "0.5.0" } diff --git a/docs/integrationmappings.md b/docs/integrationmappings.md index fe093c85..56e35363 100644 --- a/docs/integrationmappings.md +++ b/docs/integrationmappings.md @@ -5,6 +5,10 @@ - [Create Slack integration mapping](#create-slack-integration-mapping) - [Update Slack integration mapping](#update-slack-integration-mapping) - [Delete Slack integration mapping](#delete-slack-integration-mapping) +- [List Teams integration mappings](#list-teams-integration-mappings) +- [Create Teams integration mapping](#create-teams-integration-mapping) +- [Update Teams integration mapping](#update-teams-integration-mapping) +- [Delete Teams integration mapping](#delete-teams-integration-mapping) ## List Slack integration mappings @@ -133,3 +137,119 @@ This function returns a value of type `void`. Empty body in response +## List Teams integration mappings + +Lists [Teams integration mappings](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams) in a users' enterprise. +You need Admin or Co-Admin role to +use this endpoint. + +This operation is performed by calling function `getIntegrationMappingTeams`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/get-integration-mappings-teams/). + +*Currently we don't have an example for calling `getIntegrationMappingTeams` in integration tests* + +### Arguments + +- queryParams `GetIntegrationMappingTeamsQueryParams` + - Query parameters of getIntegrationMappingTeams method +- headers `GetIntegrationMappingTeamsHeaders` + - Headers of getIntegrationMappingTeams method + + +### Returns + +This function returns a value of type `IntegrationMappingsTeams`. + +Returns a collection of integration mappings + + +## Create Teams integration mapping + +Creates a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams) +by mapping a Teams channel to a Box item. +You need Admin or Co-Admin role to +use this endpoint. + +This operation is performed by calling function `createIntegrationMappingTeams`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/post-integration-mappings-teams/). + +*Currently we don't have an example for calling `createIntegrationMappingTeams` in integration tests* + +### Arguments + +- requestBody `IntegrationMappingTeamsCreateRequest` + - Request body of createIntegrationMappingTeams method +- headers `CreateIntegrationMappingTeamsHeaders` + - Headers of createIntegrationMappingTeams method + + +### Returns + +This function returns a value of type `IntegrationMappingTeams`. + +Returns the created integration mapping. + + +## Update Teams integration mapping + +Updates a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams). +Supports updating the Box folder ID and options. +You need Admin or Co-Admin role to +use this endpoint. + +This operation is performed by calling function `updateIntegrationMappingTeamsById`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/put-integration-mappings-teams-id/). + +*Currently we don't have an example for calling `updateIntegrationMappingTeamsById` in integration tests* + +### Arguments + +- integrationMappingId `String` + - An ID of an integration mapping Example: "11235432" +- requestBody `UpdateIntegrationMappingTeamsByIdRequestBody` + - Request body of updateIntegrationMappingTeamsById method +- headers `UpdateIntegrationMappingTeamsByIdHeaders` + - Headers of updateIntegrationMappingTeamsById method + + +### Returns + +This function returns a value of type `IntegrationMappingTeams`. + +Returns the updated integration mapping object. + + +## Delete Teams integration mapping + +Deletes a [Teams integration mapping](https://support.box.com/hc/en-us/articles/360044681474-Using-Box-for-Teams). +You need Admin or Co-Admin role to +use this endpoint. + +This operation is performed by calling function `deleteIntegrationMappingTeamsById`. + +See the endpoint docs at +[API Reference](https://developer.box.com/reference/delete-integration-mappings-teams-id/). + +*Currently we don't have an example for calling `deleteIntegrationMappingTeamsById` in integration tests* + +### Arguments + +- integrationMappingId `String` + - An ID of an integration mapping Example: "11235432" +- headers `DeleteIntegrationMappingTeamsByIdHeaders` + - Headers of deleteIntegrationMappingTeamsById method + + +### Returns + +This function returns a value of type `void`. + +Empty body in response + + diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/CreateIntegrationMappingTeamsHeaders.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/CreateIntegrationMappingTeamsHeaders.java new file mode 100644 index 00000000..17efc67e --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/CreateIntegrationMappingTeamsHeaders.java @@ -0,0 +1,38 @@ +package com.box.sdkgen.managers.integrationmappings; + +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; + +import java.util.Map; + +public class CreateIntegrationMappingTeamsHeaders { + + public Map extraHeaders; + + public CreateIntegrationMappingTeamsHeaders() { + this.extraHeaders = mapOf(); + } + + protected CreateIntegrationMappingTeamsHeaders( + CreateIntegrationMappingTeamsHeadersBuilder builder) { + this.extraHeaders = builder.extraHeaders; + } + + public Map getExtraHeaders() { + return extraHeaders; + } + + public static class CreateIntegrationMappingTeamsHeadersBuilder { + + protected Map extraHeaders; + + public CreateIntegrationMappingTeamsHeadersBuilder extraHeaders( + Map extraHeaders) { + this.extraHeaders = extraHeaders; + return this; + } + + public CreateIntegrationMappingTeamsHeaders build() { + return new CreateIntegrationMappingTeamsHeaders(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/DeleteIntegrationMappingTeamsByIdHeaders.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/DeleteIntegrationMappingTeamsByIdHeaders.java new file mode 100644 index 00000000..a7883690 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/DeleteIntegrationMappingTeamsByIdHeaders.java @@ -0,0 +1,38 @@ +package com.box.sdkgen.managers.integrationmappings; + +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; + +import java.util.Map; + +public class DeleteIntegrationMappingTeamsByIdHeaders { + + public Map extraHeaders; + + public DeleteIntegrationMappingTeamsByIdHeaders() { + this.extraHeaders = mapOf(); + } + + protected DeleteIntegrationMappingTeamsByIdHeaders( + DeleteIntegrationMappingTeamsByIdHeadersBuilder builder) { + this.extraHeaders = builder.extraHeaders; + } + + public Map getExtraHeaders() { + return extraHeaders; + } + + public static class DeleteIntegrationMappingTeamsByIdHeadersBuilder { + + protected Map extraHeaders; + + public DeleteIntegrationMappingTeamsByIdHeadersBuilder extraHeaders( + Map extraHeaders) { + this.extraHeaders = extraHeaders; + return this; + } + + public DeleteIntegrationMappingTeamsByIdHeaders build() { + return new DeleteIntegrationMappingTeamsByIdHeaders(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsHeaders.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsHeaders.java new file mode 100644 index 00000000..3d24b77e --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsHeaders.java @@ -0,0 +1,36 @@ +package com.box.sdkgen.managers.integrationmappings; + +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; + +import java.util.Map; + +public class GetIntegrationMappingTeamsHeaders { + + public Map extraHeaders; + + public GetIntegrationMappingTeamsHeaders() { + this.extraHeaders = mapOf(); + } + + protected GetIntegrationMappingTeamsHeaders(GetIntegrationMappingTeamsHeadersBuilder builder) { + this.extraHeaders = builder.extraHeaders; + } + + public Map getExtraHeaders() { + return extraHeaders; + } + + public static class GetIntegrationMappingTeamsHeadersBuilder { + + protected Map extraHeaders; + + public GetIntegrationMappingTeamsHeadersBuilder extraHeaders(Map extraHeaders) { + this.extraHeaders = extraHeaders; + return this; + } + + public GetIntegrationMappingTeamsHeaders build() { + return new GetIntegrationMappingTeamsHeaders(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParams.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParams.java new file mode 100644 index 00000000..ddb4ce07 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParams.java @@ -0,0 +1,94 @@ +package com.box.sdkgen.managers.integrationmappings; + +import com.box.sdkgen.serialization.json.EnumWrapper; + +public class GetIntegrationMappingTeamsQueryParams { + + public EnumWrapper partnerItemType; + + public String partnerItemId; + + public String boxItemId; + + public EnumWrapper boxItemType; + + public GetIntegrationMappingTeamsQueryParams() {} + + protected GetIntegrationMappingTeamsQueryParams( + GetIntegrationMappingTeamsQueryParamsBuilder builder) { + this.partnerItemType = builder.partnerItemType; + this.partnerItemId = builder.partnerItemId; + this.boxItemId = builder.boxItemId; + this.boxItemType = builder.boxItemType; + } + + public EnumWrapper + getPartnerItemType() { + return partnerItemType; + } + + public String getPartnerItemId() { + return partnerItemId; + } + + public String getBoxItemId() { + return boxItemId; + } + + public EnumWrapper getBoxItemType() { + return boxItemType; + } + + public static class GetIntegrationMappingTeamsQueryParamsBuilder { + + protected EnumWrapper + partnerItemType; + + protected String partnerItemId; + + protected String boxItemId; + + protected EnumWrapper boxItemType; + + public GetIntegrationMappingTeamsQueryParamsBuilder partnerItemType( + GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField partnerItemType) { + this.partnerItemType = + new EnumWrapper( + partnerItemType); + return this; + } + + public GetIntegrationMappingTeamsQueryParamsBuilder partnerItemType( + EnumWrapper partnerItemType) { + this.partnerItemType = partnerItemType; + return this; + } + + public GetIntegrationMappingTeamsQueryParamsBuilder partnerItemId(String partnerItemId) { + this.partnerItemId = partnerItemId; + return this; + } + + public GetIntegrationMappingTeamsQueryParamsBuilder boxItemId(String boxItemId) { + this.boxItemId = boxItemId; + return this; + } + + public GetIntegrationMappingTeamsQueryParamsBuilder boxItemType( + GetIntegrationMappingTeamsQueryParamsBoxItemTypeField boxItemType) { + this.boxItemType = + new EnumWrapper(boxItemType); + return this; + } + + public GetIntegrationMappingTeamsQueryParamsBuilder boxItemType( + EnumWrapper boxItemType) { + this.boxItemType = boxItemType; + return this; + } + + public GetIntegrationMappingTeamsQueryParams build() { + return new GetIntegrationMappingTeamsQueryParams(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsBoxItemTypeField.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsBoxItemTypeField.java new file mode 100644 index 00000000..ef6f1b69 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsBoxItemTypeField.java @@ -0,0 +1,62 @@ +package com.box.sdkgen.managers.integrationmappings; + +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 GetIntegrationMappingTeamsQueryParamsBoxItemTypeField implements Valuable { + FOLDER("folder"); + + private final String value; + + GetIntegrationMappingTeamsQueryParamsBoxItemTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class GetIntegrationMappingTeamsQueryParamsBoxItemTypeFieldDeserializer + extends JsonDeserializer> { + + public GetIntegrationMappingTeamsQueryParamsBoxItemTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(GetIntegrationMappingTeamsQueryParamsBoxItemTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class GetIntegrationMappingTeamsQueryParamsBoxItemTypeFieldSerializer + extends JsonSerializer> { + + public GetIntegrationMappingTeamsQueryParamsBoxItemTypeFieldSerializer() { + 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/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField.java new file mode 100644 index 00000000..b9450751 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField.java @@ -0,0 +1,66 @@ +package com.box.sdkgen.managers.integrationmappings; + +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 GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField implements Valuable { + CHANNEL("channel"), + TEAM("team"); + + private final String value; + + GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class GetIntegrationMappingTeamsQueryParamsPartnerItemTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public GetIntegrationMappingTeamsQueryParamsPartnerItemTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(GetIntegrationMappingTeamsQueryParamsPartnerItemTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class GetIntegrationMappingTeamsQueryParamsPartnerItemTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public GetIntegrationMappingTeamsQueryParamsPartnerItemTypeFieldSerializer() { + 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/managers/integrationmappings/IntegrationMappingsManager.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/IntegrationMappingsManager.java index 76297e7c..404274fc 100644 --- a/src/main/java/com/box/sdkgen/managers/integrationmappings/IntegrationMappingsManager.java +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/IntegrationMappingsManager.java @@ -14,6 +14,9 @@ import com.box.sdkgen.schemas.integrationmapping.IntegrationMapping; import com.box.sdkgen.schemas.integrationmappings.IntegrationMappings; import com.box.sdkgen.schemas.integrationmappingslackcreaterequest.IntegrationMappingSlackCreateRequest; +import com.box.sdkgen.schemas.integrationmappingsteams.IntegrationMappingsTeams; +import com.box.sdkgen.schemas.integrationmappingteams.IntegrationMappingTeams; +import com.box.sdkgen.schemas.integrationmappingteamscreaterequest.IntegrationMappingTeamsCreateRequest; import com.box.sdkgen.serialization.json.JsonManager; import java.util.Map; @@ -180,6 +183,151 @@ public void deleteSlackIntegrationMappingById( .build()); } + public IntegrationMappingsTeams getIntegrationMappingTeams() { + return getIntegrationMappingTeams( + new GetIntegrationMappingTeamsQueryParams(), new GetIntegrationMappingTeamsHeaders()); + } + + public IntegrationMappingsTeams getIntegrationMappingTeams( + GetIntegrationMappingTeamsQueryParams queryParams) { + return getIntegrationMappingTeams(queryParams, new GetIntegrationMappingTeamsHeaders()); + } + + public IntegrationMappingsTeams getIntegrationMappingTeams( + GetIntegrationMappingTeamsHeaders headers) { + return getIntegrationMappingTeams(new GetIntegrationMappingTeamsQueryParams(), headers); + } + + public IntegrationMappingsTeams getIntegrationMappingTeams( + GetIntegrationMappingTeamsQueryParams queryParams, + GetIntegrationMappingTeamsHeaders headers) { + Map queryParamsMap = + prepareParams( + mapOf( + entryOf("partner_item_type", convertToString(queryParams.getPartnerItemType())), + entryOf("partner_item_id", convertToString(queryParams.getPartnerItemId())), + entryOf("box_item_id", convertToString(queryParams.getBoxItemId())), + entryOf("box_item_type", convertToString(queryParams.getBoxItemType())))); + Map headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); + FetchResponse response = + this.networkSession + .getNetworkClient() + .fetch( + new FetchOptions.FetchOptionsBuilder( + String.join( + "", + this.networkSession.getBaseUrls().getBaseUrl(), + "/2.0/integration_mappings/teams"), + "GET") + .params(queryParamsMap) + .headers(headersMap) + .responseFormat(ResponseFormat.JSON) + .auth(this.auth) + .networkSession(this.networkSession) + .build()); + return JsonManager.deserialize(response.getData(), IntegrationMappingsTeams.class); + } + + public IntegrationMappingTeams createIntegrationMappingTeams( + IntegrationMappingTeamsCreateRequest requestBody) { + return createIntegrationMappingTeams(requestBody, new CreateIntegrationMappingTeamsHeaders()); + } + + public IntegrationMappingTeams createIntegrationMappingTeams( + IntegrationMappingTeamsCreateRequest requestBody, + CreateIntegrationMappingTeamsHeaders headers) { + Map headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); + FetchResponse response = + this.networkSession + .getNetworkClient() + .fetch( + new FetchOptions.FetchOptionsBuilder( + String.join( + "", + this.networkSession.getBaseUrls().getBaseUrl(), + "/2.0/integration_mappings/teams"), + "POST") + .headers(headersMap) + .data(JsonManager.serialize(requestBody)) + .contentType("application/json") + .responseFormat(ResponseFormat.JSON) + .auth(this.auth) + .networkSession(this.networkSession) + .build()); + return JsonManager.deserialize(response.getData(), IntegrationMappingTeams.class); + } + + public IntegrationMappingTeams updateIntegrationMappingTeamsById(String integrationMappingId) { + return updateIntegrationMappingTeamsById( + integrationMappingId, + new UpdateIntegrationMappingTeamsByIdRequestBody(), + new UpdateIntegrationMappingTeamsByIdHeaders()); + } + + public IntegrationMappingTeams updateIntegrationMappingTeamsById( + String integrationMappingId, UpdateIntegrationMappingTeamsByIdRequestBody requestBody) { + return updateIntegrationMappingTeamsById( + integrationMappingId, requestBody, new UpdateIntegrationMappingTeamsByIdHeaders()); + } + + public IntegrationMappingTeams updateIntegrationMappingTeamsById( + String integrationMappingId, UpdateIntegrationMappingTeamsByIdHeaders headers) { + return updateIntegrationMappingTeamsById( + integrationMappingId, new UpdateIntegrationMappingTeamsByIdRequestBody(), headers); + } + + public IntegrationMappingTeams updateIntegrationMappingTeamsById( + String integrationMappingId, + UpdateIntegrationMappingTeamsByIdRequestBody requestBody, + UpdateIntegrationMappingTeamsByIdHeaders headers) { + Map headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); + FetchResponse response = + this.networkSession + .getNetworkClient() + .fetch( + new FetchOptions.FetchOptionsBuilder( + String.join( + "", + this.networkSession.getBaseUrls().getBaseUrl(), + "/2.0/integration_mappings/teams/", + convertToString(integrationMappingId)), + "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(), IntegrationMappingTeams.class); + } + + public void deleteIntegrationMappingTeamsById(String integrationMappingId) { + deleteIntegrationMappingTeamsById( + integrationMappingId, new DeleteIntegrationMappingTeamsByIdHeaders()); + } + + public void deleteIntegrationMappingTeamsById( + String integrationMappingId, DeleteIntegrationMappingTeamsByIdHeaders headers) { + Map headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); + FetchResponse response = + this.networkSession + .getNetworkClient() + .fetch( + new FetchOptions.FetchOptionsBuilder( + String.join( + "", + this.networkSession.getBaseUrls().getBaseUrl(), + "/2.0/integration_mappings/teams/", + convertToString(integrationMappingId)), + "DELETE") + .headers(headersMap) + .responseFormat(ResponseFormat.NO_CONTENT) + .auth(this.auth) + .networkSession(this.networkSession) + .build()); + } + public Authentication getAuth() { return auth; } diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdHeaders.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdHeaders.java new file mode 100644 index 00000000..75b540f2 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdHeaders.java @@ -0,0 +1,38 @@ +package com.box.sdkgen.managers.integrationmappings; + +import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; + +import java.util.Map; + +public class UpdateIntegrationMappingTeamsByIdHeaders { + + public Map extraHeaders; + + public UpdateIntegrationMappingTeamsByIdHeaders() { + this.extraHeaders = mapOf(); + } + + protected UpdateIntegrationMappingTeamsByIdHeaders( + UpdateIntegrationMappingTeamsByIdHeadersBuilder builder) { + this.extraHeaders = builder.extraHeaders; + } + + public Map getExtraHeaders() { + return extraHeaders; + } + + public static class UpdateIntegrationMappingTeamsByIdHeadersBuilder { + + protected Map extraHeaders; + + public UpdateIntegrationMappingTeamsByIdHeadersBuilder extraHeaders( + Map extraHeaders) { + this.extraHeaders = extraHeaders; + return this; + } + + public UpdateIntegrationMappingTeamsByIdHeaders build() { + return new UpdateIntegrationMappingTeamsByIdHeaders(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdRequestBody.java b/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdRequestBody.java new file mode 100644 index 00000000..f7a9fe14 --- /dev/null +++ b/src/main/java/com/box/sdkgen/managers/integrationmappings/UpdateIntegrationMappingTeamsByIdRequestBody.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.managers.integrationmappings; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.folderreference.FolderReference; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +public class UpdateIntegrationMappingTeamsByIdRequestBody extends SerializableObject { + + @JsonProperty("box_item") + protected FolderReference boxItem; + + public UpdateIntegrationMappingTeamsByIdRequestBody() { + super(); + } + + protected UpdateIntegrationMappingTeamsByIdRequestBody( + UpdateIntegrationMappingTeamsByIdRequestBodyBuilder builder) { + super(); + this.boxItem = builder.boxItem; + } + + public FolderReference getBoxItem() { + return boxItem; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateIntegrationMappingTeamsByIdRequestBody casted = + (UpdateIntegrationMappingTeamsByIdRequestBody) o; + return Objects.equals(boxItem, casted.boxItem); + } + + @Override + public int hashCode() { + return Objects.hash(boxItem); + } + + @Override + public String toString() { + return "UpdateIntegrationMappingTeamsByIdRequestBody{" + "boxItem='" + boxItem + '\'' + "}"; + } + + public static class UpdateIntegrationMappingTeamsByIdRequestBodyBuilder { + + protected FolderReference boxItem; + + public UpdateIntegrationMappingTeamsByIdRequestBodyBuilder boxItem(FolderReference boxItem) { + this.boxItem = boxItem; + return this; + } + + public UpdateIntegrationMappingTeamsByIdRequestBody build() { + return new UpdateIntegrationMappingTeamsByIdRequestBody(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReference.java b/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReference.java new file mode 100644 index 00000000..457c8f45 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReference.java @@ -0,0 +1,85 @@ +package com.box.sdkgen.schemas.folderreference; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +public class FolderReference extends SerializableObject { + + @JsonDeserialize(using = FolderReferenceTypeField.FolderReferenceTypeFieldDeserializer.class) + @JsonSerialize(using = FolderReferenceTypeField.FolderReferenceTypeFieldSerializer.class) + protected EnumWrapper type; + + protected final String id; + + public FolderReference(@JsonProperty("id") String id) { + super(); + this.id = id; + this.type = new EnumWrapper(FolderReferenceTypeField.FOLDER); + } + + protected FolderReference(FolderReferenceBuilder builder) { + super(); + this.type = builder.type; + this.id = builder.id; + } + + 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; + } + FolderReference casted = (FolderReference) 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 "FolderReference{" + "type='" + type + '\'' + ", " + "id='" + id + '\'' + "}"; + } + + public static class FolderReferenceBuilder { + + protected EnumWrapper type; + + protected final String id; + + public FolderReferenceBuilder(String id) { + this.id = id; + this.type = new EnumWrapper(FolderReferenceTypeField.FOLDER); + } + + public FolderReferenceBuilder type(FolderReferenceTypeField type) { + this.type = new EnumWrapper(type); + return this; + } + + public FolderReferenceBuilder type(EnumWrapper type) { + this.type = type; + return this; + } + + public FolderReference build() { + return new FolderReference(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReferenceTypeField.java b/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReferenceTypeField.java new file mode 100644 index 00000000..7bbfa19d --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/folderreference/FolderReferenceTypeField.java @@ -0,0 +1,62 @@ +package com.box.sdkgen.schemas.folderreference; + +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 FolderReferenceTypeField implements Valuable { + FOLDER("folder"); + + private final String value; + + FolderReferenceTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class FolderReferenceTypeFieldDeserializer + extends JsonDeserializer> { + + public FolderReferenceTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(FolderReferenceTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class FolderReferenceTypeFieldSerializer + extends JsonSerializer> { + + public FolderReferenceTypeFieldSerializer() { + 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/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeams.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeams.java new file mode 100644 index 00000000..dbfe4c3b --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeams.java @@ -0,0 +1,92 @@ +package com.box.sdkgen.schemas.integrationmappingpartneritemteams; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +public class IntegrationMappingPartnerItemTeams extends SerializableObject { + + @JsonDeserialize( + using = + IntegrationMappingPartnerItemTeamsTypeField + .IntegrationMappingPartnerItemTeamsTypeFieldDeserializer.class) + @JsonSerialize( + using = + IntegrationMappingPartnerItemTeamsTypeField + .IntegrationMappingPartnerItemTeamsTypeFieldSerializer.class) + protected final EnumWrapper type; + + protected final String id; + + @JsonProperty("tenant_id") + protected final String tenantId; + + public IntegrationMappingPartnerItemTeams( + @JsonProperty("type") EnumWrapper type, + @JsonProperty("id") String id, + @JsonProperty("tenant_id") String tenantId) { + super(); + this.type = type; + this.id = id; + this.tenantId = tenantId; + } + + public IntegrationMappingPartnerItemTeams( + IntegrationMappingPartnerItemTeamsTypeField type, String id, String tenantId) { + super(); + this.type = new EnumWrapper(type); + this.id = id; + this.tenantId = tenantId; + } + + public EnumWrapper getType() { + return type; + } + + public String getId() { + return id; + } + + public String getTenantId() { + return tenantId; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationMappingPartnerItemTeams casted = (IntegrationMappingPartnerItemTeams) o; + return Objects.equals(type, casted.type) + && Objects.equals(id, casted.id) + && Objects.equals(tenantId, casted.tenantId); + } + + @Override + public int hashCode() { + return Objects.hash(type, id, tenantId); + } + + @Override + public String toString() { + return "IntegrationMappingPartnerItemTeams{" + + "type='" + + type + + '\'' + + ", " + + "id='" + + id + + '\'' + + ", " + + "tenantId='" + + tenantId + + '\'' + + "}"; + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeamsTypeField.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeamsTypeField.java new file mode 100644 index 00000000..fec163e7 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteams/IntegrationMappingPartnerItemTeamsTypeField.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.integrationmappingpartneritemteams; + +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 IntegrationMappingPartnerItemTeamsTypeField implements Valuable { + CHANNEL("channel"), + TEAM("team"); + + private final String value; + + IntegrationMappingPartnerItemTeamsTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class IntegrationMappingPartnerItemTeamsTypeFieldDeserializer + extends JsonDeserializer> { + + public IntegrationMappingPartnerItemTeamsTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(IntegrationMappingPartnerItemTeamsTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class IntegrationMappingPartnerItemTeamsTypeFieldSerializer + extends JsonSerializer> { + + public IntegrationMappingPartnerItemTeamsTypeFieldSerializer() { + 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/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequest.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequest.java new file mode 100644 index 00000000..cd024aff --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequest.java @@ -0,0 +1,112 @@ +package com.box.sdkgen.schemas.integrationmappingpartneritemteamscreaterequest; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +public class IntegrationMappingPartnerItemTeamsCreateRequest extends SerializableObject { + + @JsonDeserialize( + using = + IntegrationMappingPartnerItemTeamsCreateRequestTypeField + .IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldDeserializer.class) + @JsonSerialize( + using = + IntegrationMappingPartnerItemTeamsCreateRequestTypeField + .IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldSerializer.class) + protected final EnumWrapper type; + + protected final String id; + + @JsonProperty("tenant_id") + protected final String tenantId; + + @JsonProperty("team_id") + protected final String teamId; + + public IntegrationMappingPartnerItemTeamsCreateRequest( + @JsonProperty("type") + EnumWrapper type, + @JsonProperty("id") String id, + @JsonProperty("tenant_id") String tenantId, + @JsonProperty("team_id") String teamId) { + super(); + this.type = type; + this.id = id; + this.tenantId = tenantId; + this.teamId = teamId; + } + + public IntegrationMappingPartnerItemTeamsCreateRequest( + IntegrationMappingPartnerItemTeamsCreateRequestTypeField type, + String id, + String tenantId, + String teamId) { + super(); + this.type = new EnumWrapper(type); + this.id = id; + this.tenantId = tenantId; + this.teamId = teamId; + } + + public EnumWrapper getType() { + return type; + } + + public String getId() { + return id; + } + + public String getTenantId() { + return tenantId; + } + + public String getTeamId() { + return teamId; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationMappingPartnerItemTeamsCreateRequest casted = + (IntegrationMappingPartnerItemTeamsCreateRequest) o; + return Objects.equals(type, casted.type) + && Objects.equals(id, casted.id) + && Objects.equals(tenantId, casted.tenantId) + && Objects.equals(teamId, casted.teamId); + } + + @Override + public int hashCode() { + return Objects.hash(type, id, tenantId, teamId); + } + + @Override + public String toString() { + return "IntegrationMappingPartnerItemTeamsCreateRequest{" + + "type='" + + type + + '\'' + + ", " + + "id='" + + id + + '\'' + + ", " + + "tenantId='" + + tenantId + + '\'' + + ", " + + "teamId='" + + teamId + + '\'' + + "}"; + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequestTypeField.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequestTypeField.java new file mode 100644 index 00000000..66ffb2ac --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamscreaterequest/IntegrationMappingPartnerItemTeamsCreateRequestTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.integrationmappingpartneritemteamscreaterequest; + +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 IntegrationMappingPartnerItemTeamsCreateRequestTypeField implements Valuable { + CHANNEL("channel"), + TEAM("team"); + + private final String value; + + IntegrationMappingPartnerItemTeamsCreateRequestTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(IntegrationMappingPartnerItemTeamsCreateRequestTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public IntegrationMappingPartnerItemTeamsCreateRequestTypeFieldSerializer() { + 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/integrationmappingpartneritemteamsunion/IntegrationMappingPartnerItemTeamsUnion.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamsunion/IntegrationMappingPartnerItemTeamsUnion.java new file mode 100644 index 00000000..939be6ae --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingpartneritemteamsunion/IntegrationMappingPartnerItemTeamsUnion.java @@ -0,0 +1,58 @@ +package com.box.sdkgen.schemas.integrationmappingpartneritemteamsunion; + +import com.box.sdkgen.internal.OneOfOne; +import com.box.sdkgen.schemas.integrationmappingpartneritemteams.IntegrationMappingPartnerItemTeams; +import com.box.sdkgen.serialization.json.JsonManager; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.IOException; + +@JsonDeserialize( + using = + IntegrationMappingPartnerItemTeamsUnion.IntegrationMappingPartnerItemTeamsUnionDeserializer + .class) +@JsonSerialize(using = OneOfOne.OneOfOneSerializer.class) +public class IntegrationMappingPartnerItemTeamsUnion + extends OneOfOne { + + public IntegrationMappingPartnerItemTeamsUnion( + IntegrationMappingPartnerItemTeams integrationMappingPartnerItemTeams) { + super(integrationMappingPartnerItemTeams); + } + + public IntegrationMappingPartnerItemTeams getIntegrationMappingPartnerItemTeams() { + return value0; + } + + static class IntegrationMappingPartnerItemTeamsUnionDeserializer + extends JsonDeserializer { + + public IntegrationMappingPartnerItemTeamsUnionDeserializer() { + super(); + } + + @Override + public IntegrationMappingPartnerItemTeamsUnion deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException { + JsonNode node = JsonManager.jsonToSerializedData(jp); + JsonNode discriminant0 = node.get("type"); + if (!(discriminant0 == null)) { + switch (discriminant0.asText()) { + case "channel": + return new IntegrationMappingPartnerItemTeamsUnion( + JsonManager.deserialize(node, IntegrationMappingPartnerItemTeams.class)); + case "team": + return new IntegrationMappingPartnerItemTeamsUnion( + JsonManager.deserialize(node, IntegrationMappingPartnerItemTeams.class)); + } + } + throw new JsonMappingException( + jp, "Unable to deserialize IntegrationMappingPartnerItemTeamsUnion"); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/integrationmappingsteams/IntegrationMappingsTeams.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingsteams/IntegrationMappingsTeams.java new file mode 100644 index 00000000..7f77a843 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingsteams/IntegrationMappingsTeams.java @@ -0,0 +1,60 @@ +package com.box.sdkgen.schemas.integrationmappingsteams; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.integrationmappingteams.IntegrationMappingTeams; +import java.util.List; +import java.util.Objects; + +public class IntegrationMappingsTeams extends SerializableObject { + + protected List entries; + + public IntegrationMappingsTeams() { + super(); + } + + protected IntegrationMappingsTeams(IntegrationMappingsTeamsBuilder builder) { + super(); + this.entries = builder.entries; + } + + public List getEntries() { + return entries; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationMappingsTeams casted = (IntegrationMappingsTeams) o; + return Objects.equals(entries, casted.entries); + } + + @Override + public int hashCode() { + return Objects.hash(entries); + } + + @Override + public String toString() { + return "IntegrationMappingsTeams{" + "entries='" + entries + '\'' + "}"; + } + + public static class IntegrationMappingsTeamsBuilder { + + protected List entries; + + public IntegrationMappingsTeamsBuilder entries(List entries) { + this.entries = entries; + return this; + } + + public IntegrationMappingsTeams build() { + return new IntegrationMappingsTeams(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeams.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeams.java new file mode 100644 index 00000000..7470fda8 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeams.java @@ -0,0 +1,219 @@ +package com.box.sdkgen.schemas.integrationmappingteams; + +import com.box.sdkgen.schemas.folderreference.FolderReference; +import com.box.sdkgen.schemas.integrationmappingbase.IntegrationMappingBase; +import com.box.sdkgen.schemas.integrationmappingbase.IntegrationMappingBaseTypeField; +import com.box.sdkgen.schemas.integrationmappingpartneritemteamsunion.IntegrationMappingPartnerItemTeamsUnion; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +public class IntegrationMappingTeams extends IntegrationMappingBase { + + @JsonDeserialize( + using = + IntegrationMappingTeamsIntegrationTypeField + .IntegrationMappingTeamsIntegrationTypeFieldDeserializer.class) + @JsonSerialize( + using = + IntegrationMappingTeamsIntegrationTypeField + .IntegrationMappingTeamsIntegrationTypeFieldSerializer.class) + @JsonProperty("integration_type") + protected EnumWrapper integrationType; + + @JsonProperty("is_overridden_by_manual_mapping") + protected Boolean isOverriddenByManualMapping; + + @JsonProperty("partner_item") + protected final IntegrationMappingPartnerItemTeamsUnion partnerItem; + + @JsonProperty("box_item") + protected final FolderReference boxItem; + + @JsonProperty("created_at") + protected String createdAt; + + @JsonProperty("modified_at") + protected String modifiedAt; + + public IntegrationMappingTeams( + @JsonProperty("id") String id, + @JsonProperty("partner_item") IntegrationMappingPartnerItemTeamsUnion partnerItem, + @JsonProperty("box_item") FolderReference boxItem) { + super(id); + this.partnerItem = partnerItem; + this.boxItem = boxItem; + } + + protected IntegrationMappingTeams(IntegrationMappingTeamsBuilder builder) { + super(builder); + this.integrationType = builder.integrationType; + this.isOverriddenByManualMapping = builder.isOverriddenByManualMapping; + this.partnerItem = builder.partnerItem; + this.boxItem = builder.boxItem; + this.createdAt = builder.createdAt; + this.modifiedAt = builder.modifiedAt; + } + + public EnumWrapper getIntegrationType() { + return integrationType; + } + + public Boolean getIsOverriddenByManualMapping() { + return isOverriddenByManualMapping; + } + + public IntegrationMappingPartnerItemTeamsUnion getPartnerItem() { + return partnerItem; + } + + public FolderReference getBoxItem() { + return boxItem; + } + + public String getCreatedAt() { + return createdAt; + } + + public String getModifiedAt() { + return modifiedAt; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationMappingTeams casted = (IntegrationMappingTeams) o; + return Objects.equals(id, casted.id) + && Objects.equals(type, casted.type) + && Objects.equals(integrationType, casted.integrationType) + && Objects.equals(isOverriddenByManualMapping, casted.isOverriddenByManualMapping) + && Objects.equals(partnerItem, casted.partnerItem) + && Objects.equals(boxItem, casted.boxItem) + && Objects.equals(createdAt, casted.createdAt) + && Objects.equals(modifiedAt, casted.modifiedAt); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + type, + integrationType, + isOverriddenByManualMapping, + partnerItem, + boxItem, + createdAt, + modifiedAt); + } + + @Override + public String toString() { + return "IntegrationMappingTeams{" + + "id='" + + id + + '\'' + + ", " + + "type='" + + type + + '\'' + + ", " + + "integrationType='" + + integrationType + + '\'' + + ", " + + "isOverriddenByManualMapping='" + + isOverriddenByManualMapping + + '\'' + + ", " + + "partnerItem='" + + partnerItem + + '\'' + + ", " + + "boxItem='" + + boxItem + + '\'' + + ", " + + "createdAt='" + + createdAt + + '\'' + + ", " + + "modifiedAt='" + + modifiedAt + + '\'' + + "}"; + } + + public static class IntegrationMappingTeamsBuilder extends IntegrationMappingBaseBuilder { + + protected EnumWrapper integrationType; + + protected Boolean isOverriddenByManualMapping; + + protected final IntegrationMappingPartnerItemTeamsUnion partnerItem; + + protected final FolderReference boxItem; + + protected String createdAt; + + protected String modifiedAt; + + public IntegrationMappingTeamsBuilder( + String id, IntegrationMappingPartnerItemTeamsUnion partnerItem, FolderReference boxItem) { + super(id); + this.partnerItem = partnerItem; + this.boxItem = boxItem; + } + + public IntegrationMappingTeamsBuilder integrationType( + IntegrationMappingTeamsIntegrationTypeField integrationType) { + this.integrationType = + new EnumWrapper(integrationType); + return this; + } + + public IntegrationMappingTeamsBuilder integrationType( + EnumWrapper integrationType) { + this.integrationType = integrationType; + return this; + } + + public IntegrationMappingTeamsBuilder isOverriddenByManualMapping( + Boolean isOverriddenByManualMapping) { + this.isOverriddenByManualMapping = isOverriddenByManualMapping; + return this; + } + + public IntegrationMappingTeamsBuilder createdAt(String createdAt) { + this.createdAt = createdAt; + return this; + } + + public IntegrationMappingTeamsBuilder modifiedAt(String modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + @Override + public IntegrationMappingTeamsBuilder type(IntegrationMappingBaseTypeField type) { + this.type = new EnumWrapper(type); + return this; + } + + @Override + public IntegrationMappingTeamsBuilder type(EnumWrapper type) { + this.type = type; + return this; + } + + public IntegrationMappingTeams build() { + return new IntegrationMappingTeams(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeamsIntegrationTypeField.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeamsIntegrationTypeField.java new file mode 100644 index 00000000..862b2778 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingteams/IntegrationMappingTeamsIntegrationTypeField.java @@ -0,0 +1,62 @@ +package com.box.sdkgen.schemas.integrationmappingteams; + +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 IntegrationMappingTeamsIntegrationTypeField implements Valuable { + TEAMS("teams"); + + private final String value; + + IntegrationMappingTeamsIntegrationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class IntegrationMappingTeamsIntegrationTypeFieldDeserializer + extends JsonDeserializer> { + + public IntegrationMappingTeamsIntegrationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(IntegrationMappingTeamsIntegrationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class IntegrationMappingTeamsIntegrationTypeFieldSerializer + extends JsonSerializer> { + + public IntegrationMappingTeamsIntegrationTypeFieldSerializer() { + 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/integrationmappingteamscreaterequest/IntegrationMappingTeamsCreateRequest.java b/src/main/java/com/box/sdkgen/schemas/integrationmappingteamscreaterequest/IntegrationMappingTeamsCreateRequest.java new file mode 100644 index 00000000..42353e4d --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/integrationmappingteamscreaterequest/IntegrationMappingTeamsCreateRequest.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.integrationmappingteamscreaterequest; + +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.folderreference.FolderReference; +import com.box.sdkgen.schemas.integrationmappingpartneritemteamscreaterequest.IntegrationMappingPartnerItemTeamsCreateRequest; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +public class IntegrationMappingTeamsCreateRequest extends SerializableObject { + + @JsonProperty("partner_item") + protected final IntegrationMappingPartnerItemTeamsCreateRequest partnerItem; + + @JsonProperty("box_item") + protected final FolderReference boxItem; + + public IntegrationMappingTeamsCreateRequest( + @JsonProperty("partner_item") IntegrationMappingPartnerItemTeamsCreateRequest partnerItem, + @JsonProperty("box_item") FolderReference boxItem) { + super(); + this.partnerItem = partnerItem; + this.boxItem = boxItem; + } + + public IntegrationMappingPartnerItemTeamsCreateRequest getPartnerItem() { + return partnerItem; + } + + public FolderReference getBoxItem() { + return boxItem; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationMappingTeamsCreateRequest casted = (IntegrationMappingTeamsCreateRequest) o; + return Objects.equals(partnerItem, casted.partnerItem) + && Objects.equals(boxItem, casted.boxItem); + } + + @Override + public int hashCode() { + return Objects.hash(partnerItem, boxItem); + } + + @Override + public String toString() { + return "IntegrationMappingTeamsCreateRequest{" + + "partnerItem='" + + partnerItem + + '\'' + + ", " + + "boxItem='" + + boxItem + + '\'' + + "}"; + } +}