@SafeVarargs public final T with(Class<? extends GlobalFunction>... fn) { account.withGlobalRole( Optional.of( new GlobalRole( "test", "Test global role", "", ImmutableSet.copyOf(fn), Collections.emptySet() ) ) ); //noinspection unchecked return (T) this; }
public boolean isGranted(Class<? extends GlobalFunction> fn) { return (globalRole != null && globalRole.isGlobalFunctionGranted(fn)); }
@Override public Collection<AccountGroup> findAccountGroupsByGlobalRole(GlobalRole globalRole, Function<ID, AccountGroup> accountGroupLoader) { return getNamedParameterJdbcTemplate().query( "SELECT G.* FROM ACCOUNT_GROUPS G " + "INNER JOIN GROUP_GLOBAL_AUTHORIZATIONS A " + "ON A.ACCOUNTGROUP = G.ID " + "WHERE A.ROLE = :role " + "ORDER BY G.NAME", params("role", globalRole.getId()), (rs, num) -> accountGroupLoader.apply(id(rs)) ); }
public boolean isGranted(int projectId, Class<? extends ProjectFunction> fn) { return (globalRole != null && globalRole.isProjectFunctionGranted(fn)) || projectRoleAssociations.stream().anyMatch(pa -> pa.getProjectId() == projectId && pa.isGranted(fn)); }
@Override public Collection<Account> findAccountsByGlobalRole(GlobalRole globalRole, Function<ID, Account> accountLoader) { return getNamedParameterJdbcTemplate().query( "SELECT G.* FROM ACCOUNTS G " + "INNER JOIN GLOBAL_AUTHORIZATIONS A " + "ON A.ACCOUNT = G.ID " + "WHERE A.ROLE = :role " + "ORDER BY G.NAME", params("role", globalRole.getId()), (rs, num) -> accountLoader.apply(id(rs)) ); }