Skip to content

Commit 7a0f859

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
Add superadmin to all organizations with superadmin role.
1 parent 8056315 commit 7a0f859

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/organization/service/OrgMemberServiceImpl.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,10 @@ public Mono<Void> bulkAddToOrgs(Collection<String> orgIds, String userId, Member
263263

264264
@Override
265265
public Mono<Void> addToAllOrgAsAdminIfNot(String userId) {
266-
List<String> oldOrgIds = getAllActiveOrgs(userId).map(OrgMember::getOrgId).toStream().toList();
267-
List<String> allOrgIds = organizationService.getAllActive().map(HasIdAndAuditing::getId).toStream().toList();
268-
List<String> newOrgIds = allOrgIds.stream().filter(orgId -> !oldOrgIds.contains(orgId)).toList();
269-
return bulkAddToOrgs(newOrgIds, userId, MemberRole.SUPER_ADMIN).then();
266+
Flux<String> oldOrgIdsFlux = getAllActiveOrgs(userId).map(OrgMember::getOrgId);
267+
Flux<String> allOrgIdsFlux = organizationService.getAllActive().map(HasIdAndAuditing::getId);
268+
Flux<String> newOrgIdsMono = oldOrgIdsFlux.collectList().flatMapMany(oldList -> allOrgIdsFlux.filter(item -> !oldList.contains(item)));
269+
return newOrgIdsMono.collectList().flatMapMany(newOrgIds -> bulkAddToOrgs(newOrgIds, userId, MemberRole.SUPER_ADMIN)).then();
270270
}
271271

272272
private Mono<Void> bulkAddToAllUserGroup(String orgId, Collection<String> userIds) {
@@ -279,9 +279,8 @@ private Mono<Void> bulkAddToAllUserGroup(String orgId, Collection<String> userId
279279
}
280280

281281
private Mono<Void> bulkAddToAllUserGroup(Collection<String> orgIds, String userId, MemberRole memberRole) {
282-
return Mono.just(orgIds.stream().map(orgId -> groupService.getAllUsersGroup(orgId)
283-
.flatMap(group -> groupMemberService.addMember(orgId, group.getId(), userId, memberRole)).block()).toList())
284-
.then();
282+
return Flux.fromIterable(orgIds).flatMap(orgId -> groupService.getAllUsersGroup(orgId)
283+
.flatMap(group -> groupMemberService.addMember(orgId, group.getId(), userId, memberRole))).then();
285284
}
286285

287286
@Override

server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddSuperAdminUserImpl.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,11 @@ public class AddSuperAdminUserImpl implements AddSuperAdminUser {
3333
private final CommonConfig commonConfig;
3434
private final UserService userService;
3535
private final OrgMemberService orgMemberService;
36-
private final OrganizationService organizationService;
3736

3837
@Override
3938
public void addOrUpdateSuperAdmin() {
4039

4140
AuthUser authUser = formulateAuthUser();
42-
4341
authenticationApiService.updateOrCreateUser(authUser, false, true)
4442
.delayUntil(user -> {
4543
if (user.getIsNewUser()) {
@@ -49,7 +47,7 @@ public void addOrUpdateSuperAdmin() {
4947
})
5048
.delayUntil(user -> userService.setPassword(user.getId(), ((FormAuthRequestContext)authUser.getAuthContext()).getPassword()))
5149
.delayUntil(user -> orgMemberService.addToAllOrgAsAdminIfNot(user.getId()))
52-
.block();
50+
.subscribe();
5351
}
5452

5553
private AuthUser formulateAuthUser() {

0 commit comments

Comments
 (0)