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;
/**