Skip to content

Commit 6ceb68a

Browse files
committed
require unlockuuid for bulk requests
1 parent 9404dee commit 6ceb68a

File tree

2 files changed

+55
-21
lines changed

2 files changed

+55
-21
lines changed

src/main/java/org/databunker/DatabunkerproApi.java

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,31 @@ public Map<String, Object> updatePolicy(String policyid, Map<String, Object> dat
253253
}
254254

255255
// Bulk Operations - Additional methods
256+
public Map<String, Object> bulkListUnlock(Map<String, Object> requestMetadata) throws IOException {
257+
return makeRequest("BulkListUnlock", null, requestMetadata);
258+
}
259+
260+
public Map<String, Object> bulkListUsers(String unlockuuid, int offset, int limit, Map<String, Object> requestMetadata) throws IOException {
261+
Map<String, Object> data = new HashMap<>();
262+
data.put("unlockuuid", unlockuuid);
263+
data.put("offset", offset);
264+
data.put("limit", limit);
265+
return makeRequest("BulkListUsers", data, requestMetadata);
266+
}
267+
268+
public Map<String, Object> bulkListGroupUsers(String unlockuuid, String groupname, int offset, int limit, Map<String, Object> requestMetadata) throws IOException {
269+
Map<String, Object> data = new HashMap<>();
270+
data.put("unlockuuid", unlockuuid);
271+
data.put("offset", offset);
272+
data.put("limit", limit);
273+
if (groupname.matches("\\d+")) {
274+
data.put("groupid", groupname);
275+
} else {
276+
data.put("groupname", groupname);
277+
}
278+
return makeRequest("BulkListGroupUsers", data, requestMetadata);
279+
}
280+
256281
public Map<String, Object> bulkListUserRequests(String unlockuuid, int offset, int limit, Map<String, Object> requestMetadata) throws IOException {
257282
Map<String, Object> data = new HashMap<>();
258283
data.put("unlockuuid", unlockuuid);
@@ -269,6 +294,26 @@ public Map<String, Object> bulkListAuditEvents(String unlockuuid, int offset, in
269294
return makeRequest("BulkListAuditEvents", data, requestMetadata);
270295
}
271296

297+
public Map<String, Object> bulkListTokens(String unlockuuid, String[] tokens, Map<String, Object> requestMetadata) throws IOException {
298+
Map<String, Object> data = new HashMap<>();
299+
data.put("unlockuuid", unlockuuid);
300+
data.put("tokens", tokens);
301+
if (requestMetadata != null) {
302+
data.put("request_metadata", requestMetadata);
303+
}
304+
return makeRequest("BulkListTokens", data, null);
305+
}
306+
307+
public Map<String, Object> bulkDeleteTokens(String unlockuuid, String[] tokens, Map<String, Object> requestMetadata) throws IOException {
308+
Map<String, Object> data = new HashMap<>();
309+
data.put("unlockuuid", unlockuuid);
310+
data.put("tokens", tokens);
311+
if (requestMetadata != null) {
312+
data.put("request_metadata", requestMetadata);
313+
}
314+
return makeRequest("BulkDeleteTokens", data, null);
315+
}
316+
272317
// System Configuration - Additional methods
273318
public Map<String, Object> getUIConf() throws IOException {
274319
return makeRequest("TenantGetUIConf", null, null);
@@ -442,24 +487,6 @@ public Map<String, Object> deleteToken(String token, Map<String, Object> request
442487
return makeRequest("TokenDelete", data, null);
443488
}
444489

445-
public Map<String, Object> listTokensBulk(String[] tokens, Map<String, Object> requestMetadata) throws IOException {
446-
Map<String, Object> data = new HashMap<>();
447-
data.put("tokens", tokens);
448-
if (requestMetadata != null) {
449-
data.put("request_metadata", requestMetadata);
450-
}
451-
return makeRequest("TokenListBulk", data, null);
452-
}
453-
454-
public Map<String, Object> deleteTokensBulk(String[] tokens, Map<String, Object> requestMetadata) throws IOException {
455-
Map<String, Object> data = new HashMap<>();
456-
data.put("tokens", tokens);
457-
if (requestMetadata != null) {
458-
data.put("request_metadata", requestMetadata);
459-
}
460-
return makeRequest("TokenDeleteBulk", data, null);
461-
}
462-
463490
// Access Token Management
464491
public Map<String, Object> createXToken(String mode, String identity, Map<String, Object> requestMetadata) throws IOException {
465492
Map<String, Object> data = new HashMap<>();

src/test/java/org/databunker/DatabunkerproApiPciTest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,14 @@ public void testBulkCreditCardTokenization() throws IOException {
188188
tokenList[i] = (String) createdTokens.get(i).get("tokenbase");
189189
}
190190

191-
Map<String, Object> bulkData = api.listTokensBulk(tokenList, null);
191+
// Get unlockuuid for bulk operations
192+
Map<String, Object> unlockResult = api.bulkListUnlock(null);
193+
assertNotNull(unlockResult);
194+
assertEquals("ok", unlockResult.get("status"));
195+
String unlockuuid = (String) unlockResult.get("unlockuuid");
196+
assertNotNull(unlockuuid);
197+
198+
Map<String, Object> bulkData = api.bulkListTokens(unlockuuid, tokenList, null);
192199
System.out.println("Bulk data: " + bulkData);
193200
assertNotNull(bulkData);
194201
assertEquals("ok", bulkData.get("status"));
@@ -210,12 +217,12 @@ public void testBulkCreditCardTokenization() throws IOException {
210217
System.out.println("Successfully retrieved all tokenized records in bulk");
211218

212219
// Step 3: Delete multiple tokens in bulk
213-
Map<String, Object> deleteBulkResult = api.deleteTokensBulk(tokenList, null);
220+
Map<String, Object> deleteBulkResult = api.bulkDeleteTokens(unlockuuid, tokenList, null);
214221
assertNotNull(deleteBulkResult);
215222
assertEquals("ok", deleteBulkResult.get("status"));
216223

217224
// Verify all tokens are deleted
218-
Map<String, Object> remainingTokens = api.listTokensBulk(tokenList, null);
225+
Map<String, Object> remainingTokens = api.bulkListTokens(unlockuuid, tokenList, null);
219226
assertNotNull(remainingTokens);
220227
assertEquals("ok", remainingTokens.get("status"));
221228
assertEquals(0, ((List<?>) remainingTokens.get("rows")).size());

0 commit comments

Comments
 (0)