@Override public void deleteRoleMapping(RealmModel realm, String userId, RoleModel role) { TypedQuery<FederatedUserRoleMappingEntity> query = em.createNamedQuery("feduserRoleMappings", FederatedUserRoleMappingEntity.class); query.setParameter("userId", userId); List<FederatedUserRoleMappingEntity> results = query.getResultList(); for (FederatedUserRoleMappingEntity entity : results) { if (entity.getRoleId().equals(role.getId())) em.remove(entity); } em.flush(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof RoleModel)) return false; RoleModel that = (RoleModel) o; return that.getId().equals(getId()); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof RoleModel)) return false; RoleModel that = (RoleModel) o; return that.getId().equals(getId()); }
@Override public String getId() { if (updated != null) return updated.getId(); return cached.getId(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof RoleModel)) return false; RoleModel that = (RoleModel) o; return that.getId().equals(getId()); }
@Override public void grantRole(RoleModel role) { getMongoStore().pushItemToList(group, "roleIds", role.getId(), true, invocationContext); }
@Override public RoleModel addRole(String id, String name) { getDelegateForUpdate(); RoleModel role = updated.addRole(id, name); cacheSession.registerRoleInvalidation(role.getId()); return role; }
@Override public RoleModel addRole(String name) { getDelegateForUpdate(); RoleModel role = updated.addRole(name); cacheSession.registerRoleInvalidation(role.getId()); return role; }
@Override public void deleteScopeMapping(RoleModel role) { getMongoStore().pullItemFromList(this.getMongoEntity(), "scopeIds", role.getId(), invocationContext); }
@Override public void addScopeMapping(RoleModel role) { getMongoStore().pushItemToList(this.getMongoEntity(), "scopeIds", role.getId(), true, invocationContext); }
@Override public boolean hasRole(RoleModel role) { if (updated != null) return updated.hasRole(role); if (cached.getRoleMappings().contains(role.getId())) return true; Set<RoleModel> mappings = getRoleMappings(); for (RoleModel mapping: mappings) { if (mapping.hasRole(role)) return true; } return false; }
public void grantRoleImpl(RoleModel role) { UserRoleMappingEntity entity = new UserRoleMappingEntity(); entity.setUser(getEntity()); entity.setRoleId(role.getId()); em.persist(entity); em.flush(); em.detach(entity); }
@Override public void deleteRoleMapping(RoleModel role) { if (user == null || role == null) return; getMongoStore().pullItemFromList(getUser(), "roleIds", role.getId(), invocationContext); }
@Override public boolean hasScope(RoleModel role) { if (isUpdated()) return updated.hasScope(role); if (cached.getScope().contains(role.getId())) return true; Set<RoleModel> roles = getScopeMappings(); for (RoleModel mapping : roles) { if (mapping.hasRole(role)) return true; } return false; }
@Override public RoleModel addRealmRole(RealmModel realm, String id, String name) { RoleModel role = getRealmDelegate().addRealmRole(realm, id, name); addedRole(role.getId(), realm.getId()); return role; }
@Override public RoleModel addClientRole(RealmModel realm, ClientModel client, String id, String name) { RoleModel role = getRealmDelegate().addClientRole(realm, client, id, name); addedRole(role.getId(), client.getId()); return role; }
@Override public boolean hasRole(RoleModel role) { if (updated != null) return updated.hasRole(role); if (cached.getRoleMappings(modelSupplier).contains(role.getId())) return true; Set<RoleModel> mappings = getRoleMappings(); for (RoleModel mapping: mappings) { if (mapping.hasRole(role)) return true; } return RoleUtils.hasRoleFromGroup(getGroups(), role, true); }
@Override public void preRemove(RealmModel realm, RoleModel role) { DBObject query = new QueryBuilder() .and("roleIds").is(role.getId()) .get(); DBObject pull = new BasicDBObject("$pull", query); getMongoStore().updateEntities(FederatedUser.class, query, pull, invocationContext); }
@Override public boolean removeRole(RealmModel realm, RoleModel role) { session.users().preRemove(realm, role); RoleContainerModel container = role.getContainer(); if (container.getDefaultRoles().contains(role.getName())) { container.removeDefaultRoles(role.getName()); } return getMongoStore().removeEntity(MongoRoleEntity.class, role.getId(), invocationContext); }