diff --git a/common/src/main/java/com/skyflow/vault/data/BaseGetRequest.java b/common/src/main/java/com/skyflow/vault/data/BaseGetRequest.java index de2ecd12..e12b2467 100644 --- a/common/src/main/java/com/skyflow/vault/data/BaseGetRequest.java +++ b/common/src/main/java/com/skyflow/vault/data/BaseGetRequest.java @@ -1,47 +1,11 @@ package com.skyflow.vault.data; -import java.util.ArrayList; - public class BaseGetRequest { - private final BaseGetRequestBuilder builder; - protected BaseGetRequest(BaseGetRequestBuilder builder) { - this.builder = builder; - } - - public String getTable() { - return this.builder.table; - } - - public ArrayList getIds() { - return this.builder.ids; - } - - public ArrayList getFields() { - return this.builder.fields; } static class BaseGetRequestBuilder { - protected String table; - protected ArrayList ids; - protected ArrayList fields; - protected BaseGetRequestBuilder() { } - - public BaseGetRequestBuilder table(String table) { - this.table = table; - return this; - } - - public BaseGetRequestBuilder ids(ArrayList ids) { - this.ids = ids; - return this; - } - - public BaseGetRequestBuilder fields(ArrayList fields) { - this.fields = fields; - return this; - } } } diff --git a/flowvault/README.md b/flowvault/README.md index 4be55794..214e2faa 100644 --- a/flowvault/README.md +++ b/flowvault/README.md @@ -325,7 +325,7 @@ This reflects supported use cases, not something the SDK validates or blocks — Each method also accepts an optional options object (`BulkInsertOptions`, `BulkTokenizeOptions`, `BulkDetokenizeOptions`, `BulkDeleteTokensOptions`) — see [Custom Request Headers](#custom-request-headers). -A single bulk call accepts at most **10,000** records or tokens; anything larger is rejected up front with a `SkyflowException`. Under that ceiling the SDK splits the payload into batches and sends them concurrently, which is why errors from one call can carry different `requestId` values. +A single bulk call accepts at most **100,000** records or tokens; anything larger is rejected up front with a `SkyflowException`. Under that ceiling the SDK splits the payload into batches and sends them concurrently, which is why errors from one call can carry different `requestId` values. Every bulk response has the same two-part shape: @@ -340,10 +340,10 @@ Batch size and concurrency are configured **per operation** through environment | Operation | Batch size variable | Default | Max | Concurrency variable | Default | Max | |-----------|--------------------|---------|-----|---------------------|---------|-----| -| Bulk insert | `INSERT_BATCH_SIZE` | 50 | 1000 | `INSERT_CONCURRENCY_LIMIT` | 1 | 10 | -| Bulk tokenize | `TOKENIZE_BATCH_SIZE` | 50 | 1000 | `TOKENIZE_CONCURRENCY_LIMIT` | 1 | 10 | -| Bulk detokenize | `DETOKENIZE_BATCH_SIZE` | 50 | 1000 | `DETOKENIZE_CONCURRENCY_LIMIT` | 1 | 10 | -| Bulk delete tokens | `DELETE_TOKENS_BATCH_SIZE` | 50 | 1000 | `DELETE_TOKENS_CONCURRENCY_LIMIT` | 1 | 10 | +| Bulk insert | `INSERT_BATCH_SIZE` | 50 | 1000 | `INSERT_CONCURRENCY_LIMIT` | 1 | 100 | +| Bulk tokenize | `TOKENIZE_BATCH_SIZE` | 50 | 1000 | `TOKENIZE_CONCURRENCY_LIMIT` | 1 | 100 | +| Bulk detokenize | `DETOKENIZE_BATCH_SIZE` | 50 | 1000 | `DETOKENIZE_CONCURRENCY_LIMIT` | 1 | 100 | +| Bulk delete tokens | `DELETE_TOKENS_BATCH_SIZE` | 50 | 1000 | `DELETE_TOKENS_CONCURRENCY_LIMIT` | 1 | 100 | Concurrency defaults to **1**, so batches are sent one after another unless you raise the limit. @@ -362,7 +362,7 @@ INSERT_BATCH_SIZE=100 INSERT_CONCURRENCY_LIMIT=5 ``` -The 10,000-item ceiling per bulk call is a separate, fixed limit and is not configurable. +The 100,000-item ceiling per bulk call is a separate, fixed limit and is not configurable. # VaultController — Unary operations @@ -389,7 +389,7 @@ Everything the bulk machinery adds — batching, concurrency, the payload ceilin |---|---|---| | Async variant | Yes — `bulkInsertAsync`, and so on | **No.** Wrap the call yourself if you need one | | Batching and concurrency | Configured per operation — see [Batching and concurrency](#batching-and-concurrency) | Not applicable — one payload, one call | -| Payload ceiling | 10,000 records or tokens per call | Not enforced by the SDK; the vault's own request limits still apply | +| Payload ceiling | 100,000 records or tokens per call | Not enforced by the SDK; the vault's own request limits still apply | | Response summary | `getSummary()` | None — read the records list | | Per-item `getIndex()` / `getRequestId()` | Yes | No. Records come back in submitted order, and the `x-request-id` of the single call reaches you only through a thrown `SkyflowException` | | Retry helper | `getRecordsToRetry()` / `getTokensToRetry()` | None — filter the records yourself, see [Retrying the failed records](#retrying-the-failed-records) | @@ -990,10 +990,10 @@ Read records back from a table, by skyflow ID or by unique value, optionally ove **Note:** -- A `GetRequest` works in one of two modes, and they are mutually exclusive: **single-table** (`table`, `ids`/`uniqueValues`, `fields`, `columnRedactions`, `limit`, `offset`) or **multi-table** (`records`, a list of `GetRequestRecord`). Setting fields from both modes fails validation. -- `table` is required, and exactly one of `ids` or `uniqueValues` must be supplied — both, or neither, fails validation. This holds per record in multi-table mode. +- A `GetRequest` works in one of two modes, and they are mutually exclusive: **single-table** (`tableName`, `skyflowIds`/`uniqueValues`, `columns`, `columnRedactions`, `limit`, `offset`) or **multi-table** (`records`, a list of `GetRequestRecord`). Setting fields from both modes fails validation. +- `tableName` is required, and exactly one of `skyflowIds` or `uniqueValues` must be supplied — both, or neither, fails validation. This holds per record in multi-table mode. - `uniqueValues` is a `List>`: one map per record, each holding the unique column-name/value pairs that identify it. -- `fields` selects the columns to return; omit it for all of them. When supplied, it must be non-empty with no blank entries. +- `columns` selects the columns to return; omit it for all of them. When supplied, it must be non-empty with no blank entries. - `limit` and `offset` apply to the call as a whole and are **only sent in single-table mode** — a `GetRequestRecord` has no `limit`/`offset` of its own, and values set on a multi-table request are not sent. ### Construct a get request @@ -1020,11 +1020,11 @@ public class GetExample { // Step 2: Build the GetRequest — single-table mode, selecting records by skyflow ID GetRequest getRequest = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Arrays.asList( + .tableName("table1") + .skyflowIds(new ArrayList<>(Arrays.asList( "9fac9201-7b8a-4446-93f8-5244e1213bd1", "b2308e2a-c1f5-469b-97b7-1f193159399b"))) - .fields(new ArrayList<>(Arrays.asList("card_number", "cardholder_name"))) + .columns(new ArrayList<>(Arrays.asList("card_number", "cardholder_name"))) .columnRedactions(Collections.singletonList(redaction)) .limit(10) .offset(0) @@ -1037,14 +1037,14 @@ public class GetExample { } ``` -To select records by unique value instead of skyflow ID, swap `ids(...)` for `uniqueValues(...)`: +To select records by unique value instead of skyflow ID, swap `skyflowIds(...)` for `uniqueValues(...)`: ```java Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "jane.doe@example.com"); GetRequest getRequest = GetRequest.builder() - .table("table2") + .tableName("table2") .uniqueValues(Collections.singletonList(uniqueValue)) .build(); ``` @@ -1053,13 +1053,13 @@ To read from more than one table in a single call, use multi-table mode — each ```java GetRequestRecord fromTable1 = GetRequestRecord.builder() - .table("table1") - .ids(Arrays.asList("9fac9201-7b8a-4446-93f8-5244e1213bd1")) - .fields(Arrays.asList("card_number")) + .tableName("table1") + .skyflowIds(Arrays.asList("9fac9201-7b8a-4446-93f8-5244e1213bd1")) + .columns(Arrays.asList("card_number")) .build(); GetRequestRecord fromTable2 = GetRequestRecord.builder() - .table("table2") + .tableName("table2") .uniqueValues(Collections.singletonList(uniqueValue)) .build(); @@ -1204,7 +1204,7 @@ Delete records from a table by skyflow ID or unique value, in a single API call. **Note:** - This deletes the records themselves. [Bulk Delete Tokens](#bulk-delete-tokens) is a different operation — it removes tokens and leaves the underlying record in place. -- `table` is required, and exactly one of `ids` or `uniqueValues` must be supplied — both, or neither, fails validation. +- `tableName` is required, and exactly one of `skyflowIds` or `uniqueValues` must be supplied — both, or neither, fails validation. - `uniqueValues` takes the same shape as in [Get](#get): one `Map` per record, holding the unique column-name/value pairs that identify it. ### Construct a delete request @@ -1227,8 +1227,8 @@ public class DeleteExample { )); DeleteRequest deleteRequest = DeleteRequest.builder() - .table("table1") - .ids(ids) + .tableName("table1") + .skyflowIds(ids) .build(); DeleteResponse deleteResponse = vault.delete(deleteRequest); @@ -1367,7 +1367,7 @@ This is the mental model to hold for every operation, bulk or unary: | Layer | What it covers | How you see it | |---|---|---| -| **Request-level** | The call could not be made or the whole call failed: invalid request shape, missing credentials, auth failure, payload over the 10,000-item limit. | A thrown `SkyflowException`. No results at all. | +| **Request-level** | The call could not be made or the whole call failed: invalid request shape, missing credentials, auth failure, payload over the 100,000-item limit. | A thrown `SkyflowException`. No results at all. | | **Record-level** | The call succeeded, but individual records or tokens inside it did not. | A returned response. **Nothing is thrown.** Each entry in `getRecords()` reports its own `httpCode` and `error`. | The second layer is what distinguishes `flowvault` from an all-or-nothing API: **a call that returns normally can still contain failures, and a call where every single record failed also returns normally rather than throwing.** Checking only for a thrown exception will silently miss failed records — always read the summary and the per-record results. @@ -1474,7 +1474,7 @@ vault.bulkInsertAsync(insertRequest) | Request ID | `getRequestId()` | The `x-request-id` header — useful for support escalations. | | Details | `getDetails()` | `JsonArray` of additional error context from the server. Empty array for validation errors, `null` if the server response omitted the field. | -**Validation errors** (table name at the wrong level, empty token list, payload over 10,000 items, and similar) are thrown before any network call: +**Validation errors** (table name at the wrong level, empty token list, payload over 100,000 items, and similar) are thrown before any network call: - `httpCode` is always `400` - `requestId` and `grpcCode` are `null` diff --git a/flowvault/api-report/skyflow-flowvault-java.baseline.jar b/flowvault/api-report/skyflow-flowvault-java.baseline.jar index 591acef4..226cca9c 100644 Binary files a/flowvault/api-report/skyflow-flowvault-java.baseline.jar and b/flowvault/api-report/skyflow-flowvault-java.baseline.jar differ diff --git a/flowvault/samples/src/main/java/com/example/vault/DeleteExample.java b/flowvault/samples/src/main/java/com/example/vault/DeleteExample.java index 347b9557..c604739a 100644 --- a/flowvault/samples/src/main/java/com/example/vault/DeleteExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/DeleteExample.java @@ -33,7 +33,7 @@ public static void main(String[] args) { VaultConfig vaultConfig = new VaultConfig(); vaultConfig.setVaultId(""); vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -44,15 +44,13 @@ public static void main(String[] args) { // Step 4: Prepare the skyflow IDs to delete. // Either ids or uniqueValues is required; specifying both fails validation. - // Running this actually removes the record — rerunning GetExample/UpdateExample - // against the same skyflowId afterward will then fail, since it's gone. List ids = new ArrayList<>(); ids.add(""); // Step 5: Build and execute the delete request DeleteRequest request = DeleteRequest.builder() - .table("") - .ids(ids) + .tableName("") + .skyflowIds(ids) .build(); DeleteOptions options = DeleteOptions.builder() diff --git a/flowvault/samples/src/main/java/com/example/vault/DetokenizeExample.java b/flowvault/samples/src/main/java/com/example/vault/DetokenizeExample.java index 4f077223..9f1cd576 100644 --- a/flowvault/samples/src/main/java/com/example/vault/DetokenizeExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/DetokenizeExample.java @@ -32,7 +32,7 @@ public static void main(String[] args) { VaultConfig vaultConfig = new VaultConfig(); vaultConfig.setVaultId(""); vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -43,11 +43,11 @@ public static void main(String[] args) { // Step 4: Prepare the tokens to detokenize and any per-group redactions List tokens = new ArrayList<>(); - tokens.add(""); + tokens.add("98579059870301"); List tokenGroupRedactions = new ArrayList<>(); tokenGroupRedactions.add(TokenGroupRedactions.builder() - .tokenGroupName("") + .tokenGroupName("nondeterministic") .redaction("plain_text") .build()); diff --git a/flowvault/samples/src/main/java/com/example/vault/GetExample.java b/flowvault/samples/src/main/java/com/example/vault/GetExample.java index b9c539b2..cd809542 100644 --- a/flowvault/samples/src/main/java/com/example/vault/GetExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/GetExample.java @@ -38,7 +38,7 @@ public static void main(String[] args) { vaultConfig.setVaultId(""); vaultConfig.setVaultUrl(""); // vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -53,14 +53,14 @@ public static void main(String[] args) { ids.add(""); List columnRedactions = new ArrayList<>(); columnRedactions.add(ColumnRedactions.builder() - .columnName("") - .redaction("plain_text") + .columnName("") + .redaction("") .build()); // Step 5: Build and execute the get request GetRequest request = GetRequest.builder() - .table("") - .ids(ids) + .tableName("") + .skyflowIds(ids) .columnRedactions(columnRedactions) .build(); diff --git a/flowvault/samples/src/main/java/com/example/vault/InsertExample.java b/flowvault/samples/src/main/java/com/example/vault/InsertExample.java index 0725b409..fcad7880 100644 --- a/flowvault/samples/src/main/java/com/example/vault/InsertExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/InsertExample.java @@ -25,14 +25,25 @@ public static void main(String[] args) { try { // Step 1: Initialize credentials with the path to your service account key file // String filePath = ""; +// Credentials credentials = new Credentials(); +// credentials.setToken(""); +// +// // Step 2: Configure the vault with required parameters +// VaultConfig vaultConfig = new VaultConfig(); +// vaultConfig.setVaultId(""); +// vaultConfig.setClusterId(""); +// vaultConfig.setEnv(Env.DEV); +// vaultConfig.setCredentials(credentials); Credentials credentials = new Credentials(); credentials.setToken(""); // Step 2: Configure the vault with required parameters VaultConfig vaultConfig = new VaultConfig(); vaultConfig.setVaultId(""); +// vaultConfig.setVaultId(""); +// vaultConfig.setVaultUrl(""); vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -43,19 +54,40 @@ public static void main(String[] args) { // Step 4: Prepare the record to insert Map data = new HashMap<>(); - data.put("", ""); + data.put("card_number", "41111111111111"); +// data.put("name", "name"); +// data.put("passport", "name"); +// data.put("email", "name@gm.com"); + + +// data.put("name", "name"); + Map data2 = new HashMap<>(); + data2.put("card_number", "412323232323"); // cspell:disable-line -- deliberately misspelled to demonstrate an invalid-column error + data2.put("name", "name"); + + List columns = new ArrayList<>(); + columns.add("name"); + UpsertOptions upsertOptions = UpsertOptions.builder().uniqueColumns(columns).updateType("REPLACE").build(); InsertRequestRecord record = InsertRequestRecord.builder() + .data(data2) + .tableName("uniqTable") + .upsert(upsertOptions) + .build(); + InsertRequestRecord record2 = InsertRequestRecord.builder() .data(data) - .tableName("") + .tableName("table5") +// .upsert(upsertOptions) .build(); List records = new ArrayList<>(); records.add(record); + records.add(record2); // Step 5: Build and execute the insert request InsertRequest request = InsertRequest.builder() -// .tableName("") +// .tableName("uniqTable") +// .upsert(upsertOptions) .records(records) .build(); InsertOptions options = InsertOptions.builder() @@ -64,7 +96,7 @@ public static void main(String[] args) { }) .build(); InsertResponse response = skyflowClient.vault().insert(request, options); - + System.out.println("response"+ response.getRecords().size()); // Step 6: Print every field on each response record. for (InsertResponseRecord insertedRecord : response.getRecords()) { System.out.println("tableName:\t" + insertedRecord.getTableName()); diff --git a/flowvault/samples/src/main/java/com/example/vault/QueryExample.java b/flowvault/samples/src/main/java/com/example/vault/QueryExample.java index 4dd2e61e..36bcc553 100644 --- a/flowvault/samples/src/main/java/com/example/vault/QueryExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/QueryExample.java @@ -27,7 +27,7 @@ public static void main(String[] args) { VaultConfig vaultConfig = new VaultConfig(); vaultConfig.setVaultId(""); vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -38,7 +38,7 @@ public static void main(String[] args) { // Step 4: Build and execute the query request QueryRequest request = QueryRequest.builder() - .query("SELECT * FROM LIMIT 1") + .query("SELECT * FROM table1") .build(); QueryResponse response = skyflowClient.vault().query(request); diff --git a/flowvault/samples/src/main/java/com/example/vault/UpdateExample.java b/flowvault/samples/src/main/java/com/example/vault/UpdateExample.java index 9b91b348..3f5cc04b 100644 --- a/flowvault/samples/src/main/java/com/example/vault/UpdateExample.java +++ b/flowvault/samples/src/main/java/com/example/vault/UpdateExample.java @@ -1,5 +1,10 @@ package com.example.vault; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import com.skyflow.Skyflow; import com.skyflow.config.Credentials; import com.skyflow.config.VaultConfig; @@ -12,11 +17,6 @@ import com.skyflow.vault.data.UpdateResponse; import com.skyflow.vault.data.UpdateResponseRecord; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - /** * This sample demonstrates the Skyflow Java SDK's unary update operation. This makes exactly one * API call per invocation: there is no internal batching or concurrency to configure. @@ -34,7 +34,7 @@ public static void main(String[] args) { VaultConfig vaultConfig = new VaultConfig(); vaultConfig.setVaultId(""); vaultConfig.setClusterId(""); - vaultConfig.setEnv(Env.PROD); + vaultConfig.setEnv(Env.DEV); vaultConfig.setCredentials(credentials); // Step 3: Create Skyflow client instance with error logging @@ -45,7 +45,7 @@ public static void main(String[] args) { // Step 4: Prepare the record to update, identified by its skyflow ID Map data = new HashMap<>(); - data.put("", ""); + data.put("", ""); UpdateRequestRecord updateRecord = UpdateRequestRecord.builder() .skyflowId("") @@ -58,7 +58,7 @@ public static void main(String[] args) { // Step 5: Build and execute the update request. // updateType accepts UpdateType.UPDATE (default) or UpdateType.REPLACE. UpdateRequest request = UpdateRequest.builder() - .tableName("") + .tableName("table5") .records(records) .updateType(UpdateType.REPLACE) .build(); diff --git a/flowvault/src/main/java/com/skyflow/utils/Utils.java b/flowvault/src/main/java/com/skyflow/utils/Utils.java index 67bf90fc..4c3ab8cf 100644 --- a/flowvault/src/main/java/com/skyflow/utils/Utils.java +++ b/flowvault/src/main/java/com/skyflow/utils/Utils.java @@ -224,14 +224,14 @@ public static V1GetRequest getGetRequestBody(GetRequest request, VaultConfig con return builder.records(recordDataList).build(); } - if (hasText(request.getTable())) { - builder.tableName(request.getTable()); + if (hasText(request.getTableName())) { + builder.tableName(request.getTableName()); } - if (request.getIds() != null && !request.getIds().isEmpty()) { - builder.skyflowIDs(request.getIds()); + if (request.getSkyflowIds() != null && !request.getSkyflowIds().isEmpty()) { + builder.skyflowIDs(request.getSkyflowIds()); } - if (request.getFields() != null && !request.getFields().isEmpty()) { - builder.columns(request.getFields()); + if (request.getColumns() != null && !request.getColumns().isEmpty()) { + builder.columns(request.getColumns()); } if (request.getColumnRedactions() != null && !request.getColumnRedactions().isEmpty()) { builder.columnRedactions(toV1ColumnRedactionsList(request.getColumnRedactions())); @@ -249,12 +249,12 @@ public static V1GetRequest getGetRequestBody(GetRequest request, VaultConfig con } private static V1GetRequestData toV1GetRequestData(GetRequestRecord record) { - V1GetRequestData.Builder data = V1GetRequestData.builder().tableName(record.getTable()); - if (record.getIds() != null && !record.getIds().isEmpty()) { - data.skyflowIDs(record.getIds()); + V1GetRequestData.Builder data = V1GetRequestData.builder().tableName(record.getTableName()); + if (record.getSkyflowIds() != null && !record.getSkyflowIds().isEmpty()) { + data.skyflowIDs(record.getSkyflowIds()); } - if (record.getFields() != null && !record.getFields().isEmpty()) { - data.columns(record.getFields()); + if (record.getColumns() != null && !record.getColumns().isEmpty()) { + data.columns(record.getColumns()); } if (record.getColumnRedactions() != null && !record.getColumnRedactions().isEmpty()) { data.columnRedactions(toV1ColumnRedactionsList(record.getColumnRedactions())); @@ -287,9 +287,9 @@ private static List toV1UniqueValueList(List> public static V1DeleteRequest getDeleteRequestBody(DeleteRequest request, VaultConfig config) { V1DeleteRequest.Builder builder = V1DeleteRequest.builder() .vaultId(config.getVaultId()) - .tableName(request.getTable()); - if (request.getIds() != null && !request.getIds().isEmpty()) { - builder.skyflowIDs(request.getIds()); + .tableName(request.getTableName()); + if (request.getSkyflowIds() != null && !request.getSkyflowIds().isEmpty()) { + builder.skyflowIDs(request.getSkyflowIds()); } if (request.getUniqueValues() != null && !request.getUniqueValues().isEmpty()) { builder.uniqueValues(toV1UniqueValueList(request.getUniqueValues())); diff --git a/flowvault/src/main/java/com/skyflow/utils/validations/Validations.java b/flowvault/src/main/java/com/skyflow/utils/validations/Validations.java index d3038e13..7c272d80 100644 --- a/flowvault/src/main/java/com/skyflow/utils/validations/Validations.java +++ b/flowvault/src/main/java/com/skyflow/utils/validations/Validations.java @@ -420,8 +420,8 @@ public static void validateDeleteRequest(DeleteRequest deleteRequest) throws Sky )); throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.DeleteRequestNull.getMessage()); } - validateTableRequired(deleteRequest.getTable(), InterfaceName.DELETE_RECORDS); - validateIdsOrUniqueValues(deleteRequest.getIds(), deleteRequest.getUniqueValues(), InterfaceName.DELETE_RECORDS); + validateTableRequired(deleteRequest.getTableName(), InterfaceName.DELETE_RECORDS); + validateIdsOrUniqueValues(deleteRequest.getSkyflowIds(), deleteRequest.getUniqueValues(), InterfaceName.DELETE_RECORDS); } public static void validateBulkDeleteTokensRequest(BulkDeleteTokensRequest request) throws SkyflowException { @@ -583,9 +583,9 @@ public static void validateGetRequest(GetRequest getRequest) throws SkyflowExcep throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.GetRequestNull.getMessage()); } - boolean hasSingleTableFields = hasText(getRequest.getTable()) - || (getRequest.getIds() != null && !getRequest.getIds().isEmpty()) - || (getRequest.getFields() != null && !getRequest.getFields().isEmpty()) + boolean hasSingleTableFields = hasText(getRequest.getTableName()) + || (getRequest.getSkyflowIds() != null && !getRequest.getSkyflowIds().isEmpty()) + || (getRequest.getColumns() != null && !getRequest.getColumns().isEmpty()) || (getRequest.getUniqueValues() != null && !getRequest.getUniqueValues().isEmpty()) || (getRequest.getColumnRedactions() != null && !getRequest.getColumnRedactions().isEmpty()); boolean hasRecords = getRequest.getRecords() != null && !getRequest.getRecords().isEmpty(); @@ -605,17 +605,17 @@ public static void validateGetRequest(GetRequest getRequest) throws SkyflowExcep )); throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.NullGetRecordRequest.getMessage()); } - validateTableRequired(record.getTable(), InterfaceName.GET); - validateIdsOrUniqueValues(record.getIds(), record.getUniqueValues(), InterfaceName.GET); - validateFields(record.getFields()); + validateTableRequired(record.getTableName(), InterfaceName.GET); + validateIdsOrUniqueValues(record.getSkyflowIds(), record.getUniqueValues(), InterfaceName.GET); + validateFields(record.getColumns()); validateColumnRedactions(record.getColumnRedactions()); } return; } - validateTableRequired(getRequest.getTable(), InterfaceName.GET); - validateIdsOrUniqueValues(getRequest.getIds(), getRequest.getUniqueValues(), InterfaceName.GET); - validateFields(getRequest.getFields()); + validateTableRequired(getRequest.getTableName(), InterfaceName.GET); + validateIdsOrUniqueValues(getRequest.getSkyflowIds(), getRequest.getUniqueValues(), InterfaceName.GET); + validateFields(getRequest.getColumns()); validateColumnRedactions(getRequest.getColumnRedactions()); } diff --git a/flowvault/src/main/java/com/skyflow/vault/data/DeleteRequest.java b/flowvault/src/main/java/com/skyflow/vault/data/DeleteRequest.java index 47e75b87..1be192d9 100644 --- a/flowvault/src/main/java/com/skyflow/vault/data/DeleteRequest.java +++ b/flowvault/src/main/java/com/skyflow/vault/data/DeleteRequest.java @@ -12,13 +12,13 @@ protected DeleteRequest(DeleteRequestBuilder builder) { this.builder = builder; } - public String getTable() { - return this.builder.table; + public String getTableName() { + return this.builder.tableName; } /** Either this or {@code uniqueValues} is required; specifying both fails validation. */ - public List getIds() { - return this.builder.ids; + public List getSkyflowIds() { + return this.builder.skyflowIds; } public List> getUniqueValues() { @@ -30,20 +30,20 @@ public static DeleteRequestBuilder builder() { } public static final class DeleteRequestBuilder { - private String table; - private List ids; + private String tableName; + private List skyflowIds; private List> uniqueValues; protected DeleteRequestBuilder() { } - public DeleteRequestBuilder table(String table) { - this.table = table; + public DeleteRequestBuilder tableName(String tableName) { + this.tableName = tableName; return this; } - public DeleteRequestBuilder ids(List ids) { - this.ids = ids; + public DeleteRequestBuilder skyflowIds(List skyflowIds) { + this.skyflowIds = skyflowIds; return this; } diff --git a/flowvault/src/main/java/com/skyflow/vault/data/GetRequest.java b/flowvault/src/main/java/com/skyflow/vault/data/GetRequest.java index 167e918e..8e94402a 100644 --- a/flowvault/src/main/java/com/skyflow/vault/data/GetRequest.java +++ b/flowvault/src/main/java/com/skyflow/vault/data/GetRequest.java @@ -1,6 +1,5 @@ package com.skyflow.vault.data; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -12,11 +11,23 @@ protected GetRequest(GetRequestBuilder builder) { this.builder = builder; } + public String getTableName() { + return this.builder.tableName; + } + + public List getSkyflowIds() { + return this.builder.skyflowIds; + } + + public List getColumns() { + return this.builder.columns; + } + public List getColumnRedactions() { return this.builder.columnRedactions; } - /** Either this or {@code ids} is required in single-table mode; specifying both fails validation. */ + /** Either this or {@code skyflowIds} is required in single-table mode; specifying both fails validation. */ public List> getUniqueValues() { return this.builder.uniqueValues; } @@ -31,7 +42,7 @@ public Integer getOffset() { /** * Multi-table lookup: mutually exclusive with the single-table fields above - * (table/ids/fields/uniqueValues/columnRedactions) — specify one or the other, not both. + * (tableName/skyflowIds/columns/uniqueValues/columnRedactions) — specify one or the other, not both. */ public List getRecords() { return this.builder.records; @@ -42,6 +53,9 @@ public static GetRequestBuilder builder() { } public static final class GetRequestBuilder extends BaseGetRequestBuilder { + private String tableName; + private List skyflowIds; + private List columns; private List columnRedactions; private List> uniqueValues; private Integer limit; @@ -51,21 +65,18 @@ public static final class GetRequestBuilder extends BaseGetRequestBuilder { private GetRequestBuilder() { } - @Override - public GetRequestBuilder table(String table) { - super.table(table); + public GetRequestBuilder tableName(String tableName) { + this.tableName = tableName; return this; } - @Override - public GetRequestBuilder ids(ArrayList ids) { - super.ids(ids); + public GetRequestBuilder skyflowIds(List skyflowIds) { + this.skyflowIds = skyflowIds; return this; } - @Override - public GetRequestBuilder fields(ArrayList fields) { - super.fields(fields); + public GetRequestBuilder columns(List columns) { + this.columns = columns; return this; } diff --git a/flowvault/src/main/java/com/skyflow/vault/data/GetRequestRecord.java b/flowvault/src/main/java/com/skyflow/vault/data/GetRequestRecord.java index 78cfe500..25b6346c 100644 --- a/flowvault/src/main/java/com/skyflow/vault/data/GetRequestRecord.java +++ b/flowvault/src/main/java/com/skyflow/vault/data/GetRequestRecord.java @@ -13,16 +13,16 @@ protected GetRequestRecord(GetRequestRecordBuilder builder) { this.builder = builder; } - public String getTable() { - return this.builder.table; + public String getTableName() { + return this.builder.tableName; } - public List getIds() { - return this.builder.ids; + public List getSkyflowIds() { + return this.builder.skyflowIds; } - public List getFields() { - return this.builder.fields; + public List getColumns() { + return this.builder.columns; } public List getColumnRedactions() { @@ -38,27 +38,27 @@ public static GetRequestRecordBuilder builder() { } public static final class GetRequestRecordBuilder { - private String table; - private List ids; - private List fields; + private String tableName; + private List skyflowIds; + private List columns; private List columnRedactions; private List> uniqueValues; protected GetRequestRecordBuilder() { } - public GetRequestRecordBuilder table(String table) { - this.table = table; + public GetRequestRecordBuilder tableName(String tableName) { + this.tableName = tableName; return this; } - public GetRequestRecordBuilder ids(List ids) { - this.ids = ids; + public GetRequestRecordBuilder skyflowIds(List skyflowIds) { + this.skyflowIds = skyflowIds; return this; } - public GetRequestRecordBuilder fields(List fields) { - this.fields = fields; + public GetRequestRecordBuilder columns(List columns) { + this.columns = columns; return this; } diff --git a/flowvault/src/test/java/com/skyflow/utils/UtilsTests.java b/flowvault/src/test/java/com/skyflow/utils/UtilsTests.java index be3115d8..937aafc3 100644 --- a/flowvault/src/test/java/com/skyflow/utils/UtilsTests.java +++ b/flowvault/src/test/java/com/skyflow/utils/UtilsTests.java @@ -568,9 +568,9 @@ public void testGetGetRequestBody_singleTableMode() { Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) - .fields(new ArrayList<>(Collections.singletonList("name"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) + .columns(new ArrayList<>(Collections.singletonList("name"))) .columnRedactions(Collections.singletonList( ColumnRedactions.builder().columnName("email").redaction("MASKED").build())) .limit(10) @@ -594,7 +594,7 @@ public void testGetGetRequestBody_singleTableMode() { @Test public void testGetGetRequestBody_multiTableModeIgnoresSingleTableFields() { GetRequestRecord nested = GetRequestRecord.builder() - .table("table2").ids(Collections.singletonList("id2")).build(); + .tableName("table2").skyflowIds(Collections.singletonList("id2")).build(); GetRequest request = GetRequest.builder().records(Collections.singletonList(nested)).build(); VaultConfig config = new VaultConfig(); config.setVaultId("vault123"); @@ -645,7 +645,7 @@ public void testFormatGetResponse_requestIdOnlyPopulatedOnError() { @Test public void testGetDeleteRequestBody_withIds() { - DeleteRequest request = DeleteRequest.builder().table("table1").ids(Collections.singletonList("id1")).build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").skyflowIds(Collections.singletonList("id1")).build(); VaultConfig config = new VaultConfig(); config.setVaultId("vault123"); @@ -662,7 +662,7 @@ public void testGetDeleteRequestBody_withUniqueValues() { Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); DeleteRequest request = DeleteRequest.builder() - .table("table1").uniqueValues(Collections.singletonList(uniqueValue)).build(); + .tableName("table1").uniqueValues(Collections.singletonList(uniqueValue)).build(); VaultConfig config = new VaultConfig(); config.setVaultId("vault123"); diff --git a/flowvault/src/test/java/com/skyflow/utils/validations/ValidationsTests.java b/flowvault/src/test/java/com/skyflow/utils/validations/ValidationsTests.java index e5245db2..7ad11ab4 100644 --- a/flowvault/src/test/java/com/skyflow/utils/validations/ValidationsTests.java +++ b/flowvault/src/test/java/com/skyflow/utils/validations/ValidationsTests.java @@ -1661,7 +1661,7 @@ public void testValidateDeleteRequest_nullRequestThrows() { @Test public void testValidateDeleteRequest_nullTableThrows() { - DeleteRequest request = DeleteRequest.builder().ids(Collections.singletonList("id1")).build(); + DeleteRequest request = DeleteRequest.builder().skyflowIds(Collections.singletonList("id1")).build(); try { Validations.validateDeleteRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -1672,7 +1672,7 @@ public void testValidateDeleteRequest_nullTableThrows() { @Test public void testValidateDeleteRequest_blankTableThrows() { - DeleteRequest request = DeleteRequest.builder().table(" ").ids(Collections.singletonList("id1")).build(); + DeleteRequest request = DeleteRequest.builder().tableName(" ").skyflowIds(Collections.singletonList("id1")).build(); try { Validations.validateDeleteRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -1683,7 +1683,7 @@ public void testValidateDeleteRequest_blankTableThrows() { @Test public void testValidateDeleteRequest_neitherIdsNorUniqueValuesThrows() { - DeleteRequest request = DeleteRequest.builder().table("table1").build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").build(); try { Validations.validateDeleteRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -1697,8 +1697,8 @@ public void testValidateDeleteRequest_bothIdsAndUniqueValuesThrows() { Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); DeleteRequest request = DeleteRequest.builder() - .table("table1") - .ids(Collections.singletonList("id1")) + .tableName("table1") + .skyflowIds(Collections.singletonList("id1")) .uniqueValues(Collections.singletonList(uniqueValue)) .build(); try { @@ -1711,7 +1711,7 @@ public void testValidateDeleteRequest_bothIdsAndUniqueValuesThrows() { @Test public void testValidateDeleteRequest_blankIdInIdsThrows() { - DeleteRequest request = DeleteRequest.builder().table("table1").ids(Arrays.asList("id1", " ")).build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").skyflowIds(Arrays.asList("id1", " ")).build(); try { Validations.validateDeleteRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -1723,7 +1723,7 @@ public void testValidateDeleteRequest_blankIdInIdsThrows() { @Test public void testValidateDeleteRequest_emptyUniqueValueInUniqueValuesThrows() { DeleteRequest request = DeleteRequest.builder() - .table("table1") + .tableName("table1") .uniqueValues(Collections.singletonList(new HashMap<>())) .build(); try { @@ -1736,7 +1736,7 @@ public void testValidateDeleteRequest_emptyUniqueValueInUniqueValuesThrows() { @Test public void testValidateDeleteRequest_validWithIdsDoesNotThrow() { - DeleteRequest request = DeleteRequest.builder().table("table1").ids(Collections.singletonList("id1")).build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").skyflowIds(Collections.singletonList("id1")).build(); try { Validations.validateDeleteRequest(request); } catch (SkyflowException e) { @@ -1749,7 +1749,7 @@ public void testValidateDeleteRequest_validWithUniqueValuesDoesNotThrow() { Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); DeleteRequest request = DeleteRequest.builder() - .table("table1") + .tableName("table1") .uniqueValues(Collections.singletonList(uniqueValue)) .build(); try { @@ -1968,10 +1968,10 @@ public void testValidateGetRequest_nullRequestThrows() { @Test public void testValidateGetRequest_bothSingleTableFieldsAndRecordsThrows() { - GetRequestRecord nestedRecord = GetRequestRecord.builder().table("table2").ids(Collections.singletonList("id1")).build(); + GetRequestRecord nestedRecord = GetRequestRecord.builder().tableName("table2").skyflowIds(Collections.singletonList("id1")).build(); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .records(Collections.singletonList(nestedRecord)) .build(); try { @@ -1997,7 +1997,7 @@ public void testValidateGetRequest_nullRecordInRecordsListThrows() { @Test public void testValidateGetRequest_nullTableThrows() { - GetRequest request = GetRequest.builder().ids(new ArrayList<>(Collections.singletonList("id1"))).build(); + GetRequest request = GetRequest.builder().skyflowIds(new ArrayList<>(Collections.singletonList("id1"))).build(); try { Validations.validateGetRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -2008,7 +2008,7 @@ public void testValidateGetRequest_nullTableThrows() { @Test public void testValidateGetRequest_blankTableThrows() { - GetRequest request = GetRequest.builder().table(" ").ids(new ArrayList<>(Collections.singletonList("id1"))).build(); + GetRequest request = GetRequest.builder().tableName(" ").skyflowIds(new ArrayList<>(Collections.singletonList("id1"))).build(); try { Validations.validateGetRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -2019,7 +2019,7 @@ public void testValidateGetRequest_blankTableThrows() { @Test public void testValidateGetRequest_neitherIdsNorUniqueValuesThrows() { - GetRequest request = GetRequest.builder().table("table1").build(); + GetRequest request = GetRequest.builder().tableName("table1").build(); try { Validations.validateGetRequest(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -2033,8 +2033,8 @@ public void testValidateGetRequest_bothIdsAndUniqueValuesThrows() { Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .uniqueValues(Collections.singletonList(uniqueValue)) .build(); try { @@ -2048,8 +2048,8 @@ public void testValidateGetRequest_bothIdsAndUniqueValuesThrows() { @Test public void testValidateGetRequest_blankIdInIdsThrows() { GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Arrays.asList("id1", " "))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Arrays.asList("id1", " "))) .build(); try { Validations.validateGetRequest(request); @@ -2062,7 +2062,7 @@ public void testValidateGetRequest_blankIdInIdsThrows() { @Test public void testValidateGetRequest_emptyUniqueValueInUniqueValuesThrows() { GetRequest request = GetRequest.builder() - .table("table1") + .tableName("table1") .uniqueValues(Collections.singletonList(new HashMap<>())) .build(); try { @@ -2076,9 +2076,9 @@ public void testValidateGetRequest_emptyUniqueValueInUniqueValuesThrows() { @Test public void testValidateGetRequest_emptyFieldsThrows() { GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) - .fields(new ArrayList<>()) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) + .columns(new ArrayList<>()) .build(); try { Validations.validateGetRequest(request); @@ -2091,9 +2091,9 @@ public void testValidateGetRequest_emptyFieldsThrows() { @Test public void testValidateGetRequest_blankFieldInFieldsThrows() { GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) - .fields(new ArrayList<>(Arrays.asList("name", " "))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) + .columns(new ArrayList<>(Arrays.asList("name", " "))) .build(); try { Validations.validateGetRequest(request); @@ -2108,8 +2108,8 @@ public void testValidateGetRequest_nullColumnRedactionInListThrows() { List columnRedactions = new ArrayList<>(); columnRedactions.add(null); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .columnRedactions(columnRedactions) .build(); try { @@ -2124,8 +2124,8 @@ public void testValidateGetRequest_nullColumnRedactionInListThrows() { public void testValidateGetRequest_blankColumnNameInColumnRedactionThrows() { ColumnRedactions redaction = ColumnRedactions.builder().redaction("MASKED").build(); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .columnRedactions(Collections.singletonList(redaction)) .build(); try { @@ -2140,8 +2140,8 @@ public void testValidateGetRequest_blankColumnNameInColumnRedactionThrows() { public void testValidateGetRequest_blankRedactionInColumnRedactionThrows() { ColumnRedactions redaction = ColumnRedactions.builder().columnName("email").build(); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .columnRedactions(Collections.singletonList(redaction)) .build(); try { @@ -2155,8 +2155,8 @@ public void testValidateGetRequest_blankRedactionInColumnRedactionThrows() { @Test public void testValidateGetRequest_validSingleTableWithIdsDoesNotThrow() { GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("id1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("id1"))) .build(); try { Validations.validateGetRequest(request); @@ -2170,7 +2170,7 @@ public void testValidateGetRequest_validSingleTableWithUniqueValuesDoesNotThrow( Map uniqueValue = new HashMap<>(); uniqueValue.put("email", "john@example.com"); GetRequest request = GetRequest.builder() - .table("table1") + .tableName("table1") .uniqueValues(Collections.singletonList(uniqueValue)) .build(); try { @@ -2183,12 +2183,12 @@ public void testValidateGetRequest_validSingleTableWithUniqueValuesDoesNotThrow( @Test public void testValidateGetRequest_validMultiTableRecordsModeDoesNotThrow() { GetRequestRecord nestedRecord1 = GetRequestRecord.builder() - .table("table1") - .ids(Collections.singletonList("id1")) + .tableName("table1") + .skyflowIds(Collections.singletonList("id1")) .build(); GetRequestRecord nestedRecord2 = GetRequestRecord.builder() - .table("table2") - .ids(Collections.singletonList("id2")) + .tableName("table2") + .skyflowIds(Collections.singletonList("id2")) .build(); GetRequest request = GetRequest.builder() .records(Arrays.asList(nestedRecord1, nestedRecord2)) @@ -2202,7 +2202,7 @@ public void testValidateGetRequest_validMultiTableRecordsModeDoesNotThrow() { @Test public void testValidateGetRequest_multiTableRecordMissingTableThrows() { - GetRequestRecord nestedRecord = GetRequestRecord.builder().ids(Collections.singletonList("id1")).build(); + GetRequestRecord nestedRecord = GetRequestRecord.builder().skyflowIds(Collections.singletonList("id1")).build(); GetRequest request = GetRequest.builder().records(Collections.singletonList(nestedRecord)).build(); try { Validations.validateGetRequest(request); diff --git a/flowvault/src/test/java/com/skyflow/vault/controller/VaultControllerTests.java b/flowvault/src/test/java/com/skyflow/vault/controller/VaultControllerTests.java index 870cb5ce..2314a04b 100644 --- a/flowvault/src/test/java/com/skyflow/vault/controller/VaultControllerTests.java +++ b/flowvault/src/test/java/com/skyflow/vault/controller/VaultControllerTests.java @@ -263,7 +263,7 @@ public void testDelete_success() throws Exception { when(mockRaw.delete(any(), any())).thenReturn(httpResp); VaultController controller = createControllerWithMock(mockApi); - DeleteRequest request = DeleteRequest.builder().table("table1").ids(Collections.singletonList("sky-1")).build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").skyflowIds(Collections.singletonList("sky-1")).build(); DeleteResponse response = controller.delete(request); Assert.assertEquals(1, response.getRecords().size()); @@ -275,7 +275,7 @@ public void testDelete_success() throws Exception { public void testDelete_invalidRequestThrowsSkyflowException() throws Exception { ApiClient mockApi = Mockito.mock(ApiClient.class); VaultController controller = createControllerWithMock(mockApi); - DeleteRequest request = DeleteRequest.builder().table("table1").build(); + DeleteRequest request = DeleteRequest.builder().tableName("table1").build(); try { controller.delete(request); Assert.fail(EXCEPTION_NOT_THROWN); @@ -418,8 +418,8 @@ public void testGet_success() throws Exception { VaultController controller = createControllerWithMock(mockApi); GetRequest request = GetRequest.builder() - .table("table1") - .ids(new ArrayList<>(Collections.singletonList("sky-1"))) + .tableName("table1") + .skyflowIds(new ArrayList<>(Collections.singletonList("sky-1"))) .build(); GetResponse response = controller.get(request); @@ -431,7 +431,7 @@ public void testGet_success() throws Exception { public void testGet_invalidRequestThrowsSkyflowException() throws Exception { ApiClient mockApi = Mockito.mock(ApiClient.class); VaultController controller = createControllerWithMock(mockApi); - GetRequest request = GetRequest.builder().table("table1").build(); + GetRequest request = GetRequest.builder().tableName("table1").build(); try { controller.get(request); Assert.fail(EXCEPTION_NOT_THROWN); diff --git a/skyvault/api-report/skyflow-java.baseline.jar b/skyvault/api-report/skyflow-java.baseline.jar index 81085660..6ba58495 100644 Binary files a/skyvault/api-report/skyflow-java.baseline.jar and b/skyvault/api-report/skyflow-java.baseline.jar differ diff --git a/skyvault/src/main/java/com/skyflow/vault/data/GetRequest.java b/skyvault/src/main/java/com/skyflow/vault/data/GetRequest.java index edd9872e..642efd50 100644 --- a/skyvault/src/main/java/com/skyflow/vault/data/GetRequest.java +++ b/skyvault/src/main/java/com/skyflow/vault/data/GetRequest.java @@ -19,6 +19,18 @@ public static GetRequestBuilder builder() { return new GetRequestBuilder(); } + public String getTable() { + return this.builder.table; + } + + public ArrayList getIds() { + return this.builder.ids; + } + + public ArrayList getFields() { + return this.builder.fields; + } + public RedactionType getRedactionType() { return this.builder.redactionType; } @@ -61,6 +73,9 @@ public String getOrderBy() { } public static final class GetRequestBuilder extends BaseGetRequestBuilder { + private String table; + private ArrayList ids; + private ArrayList fields; private RedactionType redactionType; private Boolean returnTokens; private String offset; @@ -75,21 +90,18 @@ private GetRequestBuilder() { this.downloadUrl = true; } - @Override public GetRequestBuilder table(String table) { - super.table(table); + this.table = table; return this; } - @Override public GetRequestBuilder ids(ArrayList ids) { - super.ids(ids); + this.ids = ids; return this; } - @Override public GetRequestBuilder fields(ArrayList fields) { - super.fields(fields); + this.fields = fields; return this; }