Skip to content

Commit

Permalink
Merge pull request #71 from contentstack/next
Browse files Browse the repository at this point in the history
Hotfix v1.4.0
  • Loading branch information
reeshika-h authored Apr 25, 2024
2 parents 42e1feb + d2190ee commit 9c1d7c2
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 28 deletions.
5 changes: 5 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## v1.4.0
-Enhancement:
- Passed the additional parameters in upload asset method
### Apr 23, 2024

## v1.3.3
-Fix:
- Constructor in Java class files now include missing headers
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<artifactId>cms</artifactId>
<packaging>jar</packaging>
<name>contentstack-management-java</name>
<version>1.3.3</version>
<version>1.4.0</version>
<description>Contentstack Java Management SDK for Content Management API, Contentstack is a headless CMS with an
API-first approach
</description>
Expand Down
12 changes: 5 additions & 7 deletions src/main/java/com/contentstack/cms/stack/Asset.java
Original file line number Diff line number Diff line change
Expand Up @@ -306,9 +306,8 @@ public Call<ResponseBody> subfolder(
* @since 2022-10-20
*/
public Call<ResponseBody> uploadAsset(@NotNull String filePath, String description) {
RequestBody body = RequestBody.create(MediaType.parse("multipart/form-data"), description);
MultipartBody.Part partFile = createMultipartBody(filePath, null, null, null, null);
return this.service.uploadAsset(this.headers, partFile, body, this.params);
MultipartBody body = createMultipartBody(filePath, null, null, description, null);
return this.service.uploadAsset(this.headers, body, this.params);
}


Expand All @@ -327,13 +326,12 @@ public Call<ResponseBody> uploadAsset(@NotNull String filePath, String descripti
* @return Call
*/
public Call<ResponseBody> uploadAsset(@NotNull String filePath, String parentUid, String title, String description, String[] tags) {
RequestBody body = RequestBody.create(Objects.requireNonNull(MediaType.parse("multipart/form-data")), description);
MultipartBody.Part partFile = createMultipartBody(filePath, parentUid, title, description, tags);
return this.service.uploadAsset(this.headers, partFile, body, this.params);
MultipartBody body = createMultipartBody(filePath, parentUid, title, description, tags);
return this.service.uploadAsset(this.headers, body, this.params);
}


private MultipartBody.Part createMultipartBody(String filePath, String parentUid, String title, String description, String[] tags) {
private MultipartBody createMultipartBody(String filePath, String parentUid, String title, String description, String[] tags) {
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
return new FileUploader().createMultipartBody(filePath, parentUid, title, description, tags);
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/com/contentstack/cms/stack/AssetService.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,10 @@ Call<ResponseBody> subfolder(
@HeaderMap Map<String, Object> headers,
@QueryMap(encoded = true) Map<String, Object> query);

@Multipart
@POST("assets")
Call<ResponseBody> uploadAsset(
@HeaderMap Map<String, Object> headers,
@Part MultipartBody.Part file,
@Part("asset[description]") RequestBody description,
@Body MultipartBody body,
@QueryMap(encoded = true) Map<String, Object> query);

@Multipart
Expand Down
31 changes: 14 additions & 17 deletions src/main/java/com/contentstack/cms/stack/FileUploader.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
public class FileUploader {


public MultipartBody.Part createMultipartBody(String filePath, String parentUid, String title, String description, String[] tags) {
public MultipartBody createMultipartBody(String filePath, String parentUid, String title, String description, String[] tags) {
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);

Expand All @@ -28,24 +28,21 @@ public MultipartBody.Part createMultipartBody(String filePath, String parentUid,
}
}

// Add other parts if not null
addFormDataPartIfNotNull(builder, "asset[parent_uid]", parentUid);
addFormDataPartIfNotNull(builder, "asset[title]", title);
addFormDataPartIfNotNull(builder, "asset[description]", description);

// Handle tags array null case
if (tags != null) {
addFormDataPartIfNotNull(builder, "asset[tags]", tagConvertor(tags));
//Adding additional parameters
if (parentUid != null && !parentUid.isBlank()) {
builder.addFormDataPart("asset[parent_uid]", parentUid);
}

return builder.build().part(0);
}

// Helper method to add form data part if value is not null
private void addFormDataPartIfNotNull(MultipartBody.Builder builder, String name, String value) {
if (value != null) {
builder.addFormDataPart(name, value);
if (title != null && !title.isBlank()) {
builder.addFormDataPart("asset[title]", title);
}
if (description != null && !description.isBlank()) {
builder.addFormDataPart("asset[description]", description);
}
if (tags != null && tags.length > 0) {
builder.addFormDataPart("asset[tags]", tagConvertor(tags));
}

return builder.build();
}

// Helper method to get content type of file
Expand Down

0 comments on commit 9c1d7c2

Please sign in to comment.