Skip to content

Commit 980e378

Browse files
[BKNDLSS-25270]: Get users by role (#500)
Co-authored-by: Vladimir Yalovy <[email protected]>
1 parent e0cfa4e commit 980e378

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/com/backendless/UserService.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,13 @@
2626
import com.backendless.exceptions.BackendlessFault;
2727
import com.backendless.exceptions.ExceptionMessage;
2828
import com.backendless.persistence.BackendlessSerializer;
29+
import com.backendless.persistence.DataQueryBuilder;
2930
import com.backendless.persistence.local.UserIdStorageFactory;
3031
import com.backendless.persistence.local.UserTokenStorageFactory;
3132
import com.backendless.property.AbstractProperty;
3233
import com.backendless.property.UserProperty;
3334
import com.backendless.rt.RTClientFactory;
35+
import com.backendless.utils.ResponderHelper;
3436
import weborb.types.Types;
3537

3638
import java.util.ArrayList;
@@ -655,6 +657,31 @@ public void handleFault( BackendlessFault fault )
655657
}
656658
}
657659

660+
public List<BackendlessUser> findByRole( String roleName, boolean loadRoles, DataQueryBuilder queryBuilder )
661+
{
662+
if( roleName != null && roleName.isEmpty() )
663+
throw new IllegalArgumentException( ExceptionMessage.NULL_ROLE_NAME );
664+
665+
return Arrays.asList( (BackendlessUser[]) Invoker.invokeSync( USER_MANAGER_SERVER_ALIAS, "findByRole", new Object[] { roleName, loadRoles, queryBuilder.build() } ) );
666+
}
667+
668+
public void findByRole( String roleName, boolean loadRoles, DataQueryBuilder queryBuilder, final AsyncCallback<List<BackendlessUser>> responder )
669+
{
670+
try
671+
{
672+
if( roleName != null && roleName.isEmpty() )
673+
throw new IllegalArgumentException( ExceptionMessage.NULL_ROLE_NAME );
674+
675+
Invoker.invokeAsync( USER_MANAGER_SERVER_ALIAS, "findByRole", new Object[] { roleName, loadRoles, queryBuilder.build() },
676+
responder, ResponderHelper.getCollectionAdaptingResponder( BackendlessUser.class ) );
677+
}
678+
catch ( Throwable e )
679+
{
680+
if( responder != null )
681+
responder.handleFault( new BackendlessFault( e ) );
682+
}
683+
}
684+
658685
public List<UserProperty> describeUserClass() throws BackendlessException
659686
{
660687
UserProperty[] response = Invoker.invokeSync( USER_MANAGER_SERVER_ALIAS, "describeUserClass", new Object[] { } );

0 commit comments

Comments
 (0)