private Set<OrganizationPermission> loadOrganizationPermissions(String organizationUuid) { Set<String> permissionKeys; try (DbSession dbSession = dbClient.openSession(false)) { if (userDto != null && userDto.getId() != null) { permissionKeys = dbClient.authorizationDao().selectOrganizationPermissions(dbSession, organizationUuid, userDto.getId()); } else { permissionKeys = dbClient.authorizationDao().selectOrganizationPermissionsOfAnonymous(dbSession, organizationUuid); } } return permissionKeys.stream() .map(OrganizationPermission::fromKey) .collect(MoreCollectors.toSet(permissionKeys.size())); }
/** * Anonymous user only benefits from the permissions granted to * "Anyone" */ @Test public void selectOrganizationPermissions_for_anonymous_user() { db.users().insertPermissionOnAnyone(organization, "perm1"); // ignored permissions db.users().insertPermissionOnUser(organization, user, "ignored"); db.users().insertPermissionOnGroup(group1, "ignored"); Set<String> permissions = underTest.selectOrganizationPermissionsOfAnonymous(dbSession, organization.getUuid()); assertThat(permissions).containsOnly("perm1"); }
private Set<OrganizationPermission> loadOrganizationPermissions(String organizationUuid) { Set<String> permissionKeys; try (DbSession dbSession = dbClient.openSession(false)) { if (userDto != null && userDto.getId() != null) { permissionKeys = dbClient.authorizationDao().selectOrganizationPermissions(dbSession, organizationUuid, userDto.getId()); } else { permissionKeys = dbClient.authorizationDao().selectOrganizationPermissionsOfAnonymous(dbSession, organizationUuid); } } return permissionKeys.stream() .map(OrganizationPermission::fromKey) .collect(MoreCollectors.toSet(permissionKeys.size())); }