This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git


The following commit(s) were added to refs/heads/develop by this push:
     new 2d04a992b Add method to finduser
     new 093e84f53 Merge pull request #375 from isururanawaka/develop
2d04a992b is described below

commit 2d04a992b7b408bca0a9e6968ed671c7d42f325e
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Mon Apr 10 15:28:07 2023 -0400

    Add method to finduser
---
 .../management/client/UserManagementClient.java    | 46 ++++++++++++++++++++++
 .../custos/clients/CustosClientProvider.java       |  1 +
 2 files changed, 47 insertions(+)

diff --git 
a/custos-client-sdks/custos-java-clients/user-management-client/src/main/java/org/apache/custos/user/management/client/UserManagementClient.java
 
b/custos-client-sdks/custos-java-clients/user-management-client/src/main/java/org/apache/custos/user/management/client/UserManagementClient.java
index 23eef6f70..363498474 100644
--- 
a/custos-client-sdks/custos-java-clients/user-management-client/src/main/java/org/apache/custos/user/management/client/UserManagementClient.java
+++ 
b/custos-client-sdks/custos-java-clients/user-management-client/src/main/java/org/apache/custos/user/management/client/UserManagementClient.java
@@ -253,6 +253,52 @@ public class UserManagementClient extends AbstractClient {
 
     }
 
+    /**
+     * This method provides functionality to search users across child tenants 
of main tenant
+     * @param clientId Custos client Id of the tenant to search users
+     * @param username
+     * @param firstName
+     * @param lastName
+     * @param email
+     * @param offset
+     * @param limit
+     * @return
+     */
+    public FindUsersResponse findUser(String clientId,
+                                      String username, String firstName, 
String lastName,
+                                      String email, int offset, int limit) {
+
+        UserSearchMetadata.Builder builder = UserSearchMetadata
+                .newBuilder();
+
+        if (username != null) {
+            builder = builder.setUsername(username);
+        }
+
+        if (firstName != null) {
+            builder = builder.setFirstName(firstName);
+        }
+
+        if (lastName != null) {
+            builder = builder.setLastName(lastName);
+        }
+
+        if (email != null) {
+            builder = builder.setEmail(email);
+        }
+        UserSearchMetadata metadata = builder.build();
+
+        FindUsersRequest request = FindUsersRequest
+                .newBuilder()
+                .setUser(metadata)
+                .setLimit(limit)
+                .setOffset(offset)
+                .build();
+
+        return blockingStub.findUsers(request);
+
+    }
+
 
     public OperationStatus resetUserPassword(String username, String password) 
{
 
diff --git 
a/custos-client-sdks/custos-java-sdk/src/main/java/org/apache/custos/clients/CustosClientProvider.java
 
b/custos-client-sdks/custos-java-sdk/src/main/java/org/apache/custos/clients/CustosClientProvider.java
index 3128799e2..d4c582ee4 100644
--- 
a/custos-client-sdks/custos-java-sdk/src/main/java/org/apache/custos/clients/CustosClientProvider.java
+++ 
b/custos-client-sdks/custos-java-sdk/src/main/java/org/apache/custos/clients/CustosClientProvider.java
@@ -28,6 +28,7 @@ import 
org.apache.custos.sharing.management.client.SharingManagementClient;
 import org.apache.custos.tenant.manamgement.client.TenantManagementClient;
 import org.apache.custos.user.management.client.UserManagementClient;
 
+
 import java.io.IOException;
 
 /**

Reply via email to