package crmdna.user;
import crmdna.client.Client;
import crmdna.common.Utils;
import crmdna.user.User.GroupLevelPrivilege;
import java.util.HashSet;
import java.util.Set;
import static crmdna.common.AssertUtils.ensureNotNull;
public class UserHelper {
public static Set<Long> getGroupIdsWithPrivilage(String client, String email,
GroupLevelPrivilege privilege) {
Client.ensureValid(client);
UserEntity userEntity = User.safeGet(client, email);
ensureNotNull(privilege, "privilege is null");
Set<Long> groupIds = new HashSet<>();
for (String rawPrivilege : userEntity.privileges) {
String[] split = rawPrivilege.split("\\|\\|");
if (split.length != 3)
continue;
String resourceType = split[0];
String resource = split[1];
String action = split[2];
if (resourceType.equalsIgnoreCase("GROUP") && action.equalsIgnoreCase(privilege.toString())) {
if (Utils.canParseAsLong(resource))
groupIds.add(Utils.safeParseAsLong(resource));
}
}
return groupIds;
}
}