Skip to content

Commit 974e044

Browse files
SK-2277 file upload support in Java SDK V2(#212)
* SK-2277: file upload support in Java SDK V2
1 parent 82b5553 commit 974e044

File tree

150 files changed

+1835
-691
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+1835
-691
lines changed

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@v1
2323
- uses: actions/setup-java@v1
2424
with:
25-
java-version: "1.8"
25+
java-version: "11"
2626

2727
- name: create-json
2828
id: create-json

src/main/java/com/skyflow/VaultClient.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.skyflow.generated.rest.resources.records.requests.RecordServiceBatchOperationBody;
1818
import com.skyflow.generated.rest.resources.records.requests.RecordServiceInsertRecordBody;
1919
import com.skyflow.generated.rest.resources.records.requests.RecordServiceUpdateRecordBody;
20+
import com.skyflow.generated.rest.resources.records.requests.UploadFileV2Request;
2021
import com.skyflow.generated.rest.resources.strings.StringsClient;
2122
import com.skyflow.generated.rest.resources.strings.requests.DeidentifyStringRequest;
2223
import com.skyflow.generated.rest.resources.strings.requests.ReidentifyStringRequest;
@@ -32,6 +33,7 @@
3233
import com.skyflow.utils.Utils;
3334
import com.skyflow.utils.logger.LogUtil;
3435
import com.skyflow.utils.validations.Validations;
36+
import com.skyflow.vault.data.FileUploadRequest;
3537
import com.skyflow.vault.data.InsertRequest;
3638
import com.skyflow.vault.data.UpdateRequest;
3739
import com.skyflow.vault.detect.*;
@@ -44,6 +46,10 @@
4446
import io.github.cdimascio.dotenv.Dotenv;
4547
import io.github.cdimascio.dotenv.DotenvException;
4648

49+
import java.io.File;
50+
import java.io.IOException;
51+
import java.nio.file.Files;
52+
import java.nio.file.Paths;
4753
import java.util.*;
4854
import java.util.stream.Collectors;
4955

@@ -209,6 +215,22 @@ protected V1TokenizePayload getTokenizePayload(TokenizeRequest request) {
209215
return payloadBuilder.build();
210216
}
211217

218+
protected File getFileForFileUpload(FileUploadRequest fileUploadRequest) throws IOException {
219+
if (fileUploadRequest.getFilePath() != null) {
220+
return new File(fileUploadRequest.getFilePath());
221+
}
222+
else if (fileUploadRequest.getBase64() != null) {
223+
byte[] decodedBytes = Base64.getDecoder().decode(fileUploadRequest.getBase64());
224+
File file = new File(fileUploadRequest.getFileName());
225+
Files.write(file.toPath(), decodedBytes);
226+
return file;
227+
}
228+
else if (fileUploadRequest.getFileObject() != null) {
229+
return fileUploadRequest.getFileObject();
230+
}
231+
return null;
232+
}
233+
212234
protected void setBearerToken() throws SkyflowException {
213235
prioritiseCredentials();
214236
Validations.validateCredentials(this.finalCredentials);

src/main/java/com/skyflow/errors/ErrorMessage.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ public enum ErrorMessage {
124124
InvalidRequestBody("%s0 Validation error. Invalid request body. Specify the request body as an object."),
125125
EmptyRequestBody("%s0 Validation error. Request body can't be empty. Specify a valid request body."),
126126

127+
// File upload
128+
ColumnNameKeyErrorFileUpload("%s0 Validation error. columnName is missing from the payload. Specify a columnName key."),
129+
MissingFileSourceInUploadFileRequest("%s0 Validation error. Provide exactly one of filePath, base64, or fileObject."),
130+
FileNameMustBeProvidedWithFileObject("%s0 Validation error. fileName must be provided when using fileObject."),
131+
InvalidFileObject("%s0 Validation error. Invalid file object in file upload request. Specify a valid file object."),
132+
InvalidBase64("%s0 Validation error. Invalid base64 string in file upload request. Specify a valid base64 string."),
133+
127134
// detect
128135
InvalidTextInDeIdentify("%s0 Validation error. The text field is required and must be a non-empty string. Specify a valid text."),
129136
InvalidTextInReIdentify("%s0 Validation error. The text field is required and must be a non-empty string. Specify a valid text."),

src/main/java/com/skyflow/generated/rest/core/ApiClientApiException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public Map<String, List<String>> headers() {
6565
return this.headers;
6666
}
6767

68-
@Override
68+
@java.lang.Override
6969
public String toString() {
7070
return "ApiClientApiException{" + "message: " + getMessage() + ", statusCode: " + statusCode + ", body: " + body
7171
+ "}";

src/main/java/com/skyflow/generated/rest/core/ClientOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private ClientOptions(
3434
{
3535
put("X-Fern-Language", "JAVA");
3636
put("X-Fern-SDK-Name", "com.skyflow.fern:api-sdk");
37-
put("X-Fern-SDK-Version", "0.0.305");
37+
put("X-Fern-SDK-Version", "0.0.322");
3838
}
3939
});
4040
this.headerSuppliers = headerSuppliers;

src/main/java/com/skyflow/generated/rest/errors/BadRequestError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public BadRequestError(Object body, Response rawResponse) {
2525
/**
2626
* @return the body
2727
*/
28-
@Override
28+
@java.lang.Override
2929
public Object body() {
3030
return this.body;
3131
}

src/main/java/com/skyflow/generated/rest/errors/InternalServerError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public InternalServerError(ErrorResponse body, Response rawResponse) {
2626
/**
2727
* @return the body
2828
*/
29-
@Override
29+
@java.lang.Override
3030
public ErrorResponse body() {
3131
return this.body;
3232
}

src/main/java/com/skyflow/generated/rest/errors/NotFoundError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public NotFoundError(Object body, Response rawResponse) {
2525
/**
2626
* @return the body
2727
*/
28-
@Override
28+
@java.lang.Override
2929
public Object body() {
3030
return this.body;
3131
}

src/main/java/com/skyflow/generated/rest/errors/UnauthorizedError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public UnauthorizedError(Object body, Response rawResponse) {
2525
/**
2626
* @return the body
2727
*/
28-
@Override
28+
@java.lang.Override
2929
public Object body() {
3030
return this.body;
3131
}

0 commit comments

Comments
 (0)