Skip to content

Commit 042c705

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
Super admin flag in user collection
1 parent e5d44f6 commit 042c705

File tree

5 files changed

+9
-6
lines changed

5 files changed

+9
-6
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/User.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public class User extends HasIdAndAuditing implements BeforeMongodbWrite, AfterM
5050

5151
private String tpAvatarLink;
5252

53+
private Boolean superAdmin;
54+
5355
private UserState state;
5456

5557
@Builder.Default

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public interface UserService {
3636

3737
Mono<User> findByAuthUserRawId(AuthUser authUser);
3838

39-
Mono<User> createNewUserByAuthUser(AuthUser authUser);
39+
Mono<User> createNewUserByAuthUser(AuthUser authUser, boolean isSuperAdmin);
4040

4141
Mono<Void> getUserAvatar(ServerWebExchange exchange, String userId);
4242

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,12 @@ public Mono<User> findByAuthUserRawId(AuthUser authUser) {
160160
}
161161

162162
@Override
163-
public Mono<User> createNewUserByAuthUser(AuthUser authUser) {
163+
public Mono<User> createNewUserByAuthUser(AuthUser authUser, boolean isSuperAdmin) {
164164
User.UserBuilder userBuilder = User.builder()
165165
.name(authUser.getUsername())
166166
.email(authUser.getEmail())
167167
.state(UserState.ACTIVATED)
168+
.superAdmin(isSuperAdmin)
168169
.isEnabled(true)
169170
.tpAvatarLink(authUser.getAvatar());
170171

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ protected Mono<AuthUser> authenticate(String authId, @Deprecated String source,
116116
@Override
117117
public Mono<Void> loginOrRegister(AuthUser authUser, ServerWebExchange exchange,
118118
String invitationId, boolean linKExistingUser) {
119-
return updateOrCreateUser(authUser, linKExistingUser)
119+
return updateOrCreateUser(authUser, linKExistingUser, false)
120120
.delayUntil(user -> ReactiveSecurityContextHolder.getContext()
121121
.doOnNext(securityContext -> securityContext.setAuthentication(AuthenticationUtils.toAuthentication(user))))
122122
// save token and set cookie
@@ -147,7 +147,7 @@ public Mono<Void> loginOrRegister(AuthUser authUser, ServerWebExchange exchange,
147147
.then(businessEventPublisher.publishUserLoginEvent(authUser.getSource()));
148148
}
149149

150-
public Mono<User> updateOrCreateUser(AuthUser authUser, boolean linkExistingUser) {
150+
public Mono<User> updateOrCreateUser(AuthUser authUser, boolean linkExistingUser, boolean isSuperAdmin) {
151151

152152
if(linkExistingUser) {
153153
return sessionUserService.getVisitor()
@@ -188,7 +188,7 @@ public Mono<User> updateOrCreateUser(AuthUser authUser, boolean linkExistingUser
188188

189189

190190
if (authUser.getAuthContext().getAuthConfig().isEnableRegister()) {
191-
return userService.createNewUserByAuthUser(authUser);
191+
return userService.createNewUserByAuthUser(authUser, isSuperAdmin);
192192
}
193193
return Mono.error(new BizException(USER_NOT_EXIST, "USER_NOT_EXIST"));
194194
});

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void addOrUpdateSuperAdmin() {
2929

3030
AuthUser authUser = formulateAuthUser();
3131

32-
authenticationApiService.updateOrCreateUser(authUser, false)
32+
authenticationApiService.updateOrCreateUser(authUser, false, true)
3333
.delayUntil(user -> {
3434
if (user.getIsNewUser()) {
3535
return authenticationApiService.onUserRegister(user, true);

0 commit comments

Comments
 (0)