Skip to content

Commit 95c2ec6

Browse files
authored
User search by role names instead of ids (#233)
* Search by role names instead of IDs * Bump version
1 parent f9212ac commit 95c2ec6

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>com.descope</groupId>
66
<artifactId>java-sdk</artifactId>
77
<modelVersion>4.0.0</modelVersion>
8-
<version>1.0.50</version>
8+
<version>1.0.51</version>
99
<name>${project.groupId}:${project.artifactId}</name>
1010
<description>Java library used to integrate with Descope.</description>
1111
<url>https://github.com/descope/descope-java</url>

src/main/java/com/descope/model/user/request/UserSearchRequest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
@AllArgsConstructor
1818
public class UserSearchRequest {
1919
List<String> tenantIds;
20-
List<String> roles;
20+
List<String> roles; // Roles should not be used unless you have the role IDs
21+
List<String> roleNames; // Search by role names
2122
@Builder.Default
2223
Integer limit = 0;
2324
@Builder.Default

src/test/java/com/descope/model/user/request/UserSearchRequestTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@ public void testInstantSerialization() throws JsonProcessingException {
2222
.toModifiedTime(now)
2323
.tenantIds(Collections.singletonList("tenant1"))
2424
.roles(Collections.singletonList("role1"))
25+
.roleNames(Collections.singletonList("rolename1"))
2526
.build();
2627

2728
String json = mapper.writeValueAsString(request);
2829

2930
long expectedMillis = now.toEpochMilli();
3031
String expectedJson = String.format(
31-
"{\"tenantIds\":[\"tenant1\"],\"roles\":[\"role1\"],\"limit\":0,\"page\":0,\"withTestUser\":null,"
32+
"{\"tenantIds\":[\"tenant1\"],\"roles\":[\"role1\"],\"roleNames\":[\"rolename1\"],\"limit\":0,\"page\":0,"
33+
+ "\"withTestUser\":null,"
3234
+ "\"testUsersOnly\":null,\"customAttributes\":null,\"statuses\":null,\"emails\":null,\"phones\":null,"
3335
+ "\"loginIds\":null,\"userIds\":null,\"ssoAppIds\":null,\"fromCreatedTime\":%d,\"toCreatedTime\":%d,"
3436
+ "\"fromModifiedTime\":%d,\"toModifiedTime\":%d,"
@@ -44,14 +46,16 @@ public void testTenantRoleIdsAndNamesSerialization() throws JsonProcessingExcept
4446
UserSearchRequest request = UserSearchRequest.builder()
4547
.tenantIds(Collections.singletonList("tenant1"))
4648
.roles(Collections.singletonList("role1"))
49+
.roleNames(Collections.singletonList("rolename1"))
4750
.tenantRoleIds(Collections.singletonMap("tenant1",
4851
RolesList.builder().values(Collections.singletonList("roleA")).build()))
4952
.tenantRoleNames(Collections.singletonMap("tenant2",
5053
RolesList.builder().values(Collections.singletonList("roleX")).build()))
5154
.build();
5255

5356
String json = mapper.writeValueAsString(request);
54-
String expectedJson = "{\"tenantIds\":[\"tenant1\"],\"roles\":[\"role1\"],\"limit\":0,\"page\":0,"
57+
String expectedJson = "{\"tenantIds\":[\"tenant1\"],\"roles\":[\"role1\"],\"roleNames\":[\"rolename1\"],"
58+
+ "\"limit\":0,\"page\":0,"
5559
+ "\"withTestUser\":null,\"testUsersOnly\":null,\"customAttributes\":null,\"statuses\":null,\"emails\":null,"
5660
+ "\"phones\":null,\"loginIds\":null,\"userIds\":null,\"ssoAppIds\":null,\"fromCreatedTime\":null,"
5761
+ "\"toCreatedTime\":null,\"fromModifiedTime\":null,\"toModifiedTime\":null,"

src/test/java/com/descope/sdk/mgmt/impl/OutboundAppsByTokenServiceImplTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.descope.sdk.mgmt.impl;
22

3-
import static com.descope.literals.Routes.ManagementEndPoints.MANAGEMENT_FETCH_OUTBOUND_APP_TENANT_TOKEN;
4-
import static com.descope.literals.Routes.ManagementEndPoints.MANAGEMENT_FETCH_OUTBOUND_APP_TENANT_TOKEN_LATEST;
5-
import static com.descope.literals.Routes.ManagementEndPoints.MANAGEMENT_FETCH_OUTBOUND_APP_USER_TOKEN;
6-
import static com.descope.literals.Routes.ManagementEndPoints.MANAGEMENT_FETCH_OUTBOUND_APP_USER_TOKEN_LATEST;
73
import static org.junit.jupiter.api.Assertions.assertEquals;
84
import static org.junit.jupiter.api.Assertions.assertNotNull;
95
import static org.junit.jupiter.api.Assertions.assertThrows;

0 commit comments

Comments
 (0)