diff --git a/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BulkImportResultDTO.java b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BulkImportResultDTO.java new file mode 100644 index 000000000..785f80888 --- /dev/null +++ b/cloudesire-api-client-dto/src/main/java/com/cloudesire/platform/apiclient/dto/model/dto/BulkImportResultDTO.java @@ -0,0 +1,78 @@ +package com.cloudesire.platform.apiclient.dto.model.dto; + +import com.cloudesire.platform.apiclient.response.error.ErrorResponseEntry; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.List; +import java.util.Objects; + +@ApiModel( "Bulk import execution result" ) +public class BulkImportResultDTO extends DTO +{ + @ApiModelProperty( "Bulk import request ID" ) + private String requestId; + + private UrlEntityDTO executor; + + @ApiModelProperty( value = "What kind of import it has been requested", example = "CatalogCloudPricingCsvDTO,CatalogDistributorPricingCsvDTO" ) + private String type; + + private List errors; + + public String getRequestId() + { + return requestId; + } + + public void setRequestId( String requestId ) + { + this.requestId = requestId; + } + + public UrlEntityDTO getExecutor() + { + return executor; + } + + public void setExecutor( UrlEntityDTO executor ) + { + this.executor = executor; + } + + public String getType() + { + return type; + } + + public void setType( String type ) + { + this.type = type; + } + + public List getErrors() + { + return errors; + } + + public void setErrors( List errors ) + { + this.errors = errors; + } + + @Override + public boolean equals( Object o ) + { + if ( this == o ) return true; + if ( o == null || getClass() != o.getClass() ) return false; + BulkImportResultDTO that = (BulkImportResultDTO) o; + return Objects.equals( requestId, that.requestId ) && Objects.equals( executor, that.executor ) + && Objects.equals( type, that.type ); + } + + @Override + public int hashCode() + { + return Objects.hash( requestId, executor, type ); + } +} diff --git a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/BulkApi.java b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/BulkApi.java index 55ed777f1..8a6154f8a 100644 --- a/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/BulkApi.java +++ b/cloudesire-api-client/src/main/java/com/cloudesire/platform/apiclient/api/BulkApi.java @@ -1,5 +1,6 @@ package com.cloudesire.platform.apiclient.api; +import com.cloudesire.platform.apiclient.dto.model.dto.BulkImportResultDTO; import okhttp3.MultipartBody; import okhttp3.ResponseBody; import retrofit2.Call; @@ -12,6 +13,7 @@ import retrofit2.http.QueryMap; import retrofit2.http.Streaming; +import java.util.List; import java.util.Map; public interface BulkApi @@ -60,4 +62,10 @@ public interface BulkApi @Multipart @PUT( "bulk/users" ) Call saveUsers( @Part MultipartBody.Part file ); + + @GET( "bulk/result" ) + Call> getResults(); + + @GET( "bulk/result/{requestId}" ) + Call getResult( @Path( "requestId" ) String requestId ); }