Skip to content

Commit c6e59f8

Browse files
committed
Reset password on startup support
1 parent 99ea4e1 commit c6e59f8

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

administration/src/main/java/ua/timetracker/administration/service/users/InitialUserCreation.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ua.timetracker.administration.service.users;
22

33
import lombok.RequiredArgsConstructor;
4+
import org.springframework.beans.factory.annotation.Value;
45
import org.springframework.stereotype.Service;
56
import org.springframework.transaction.annotation.Transactional;
67
import reactor.core.publisher.Mono;
@@ -18,6 +19,9 @@ public class InitialUserCreation {
1819
private final GroupsRepository groups;
1920
private final UserManager users;
2021

22+
@Value("demo.reset-admin-password-on-start")
23+
private boolean resetAdminPasswordOnStart;
24+
2125
@Transactional(REACTIVE_TX_MANAGER)
2226
@PostConstruct
2327
public void initInitialUser() {
@@ -26,6 +30,11 @@ public void initInitialUser() {
2630
() -> groups
2731
.findByName("Root admins group")
2832
.flatMap(admins -> users.createUser(admins.getId(), new UserCreateDto("admin", "super", "admin", "0"))))
29-
).subscribe();
33+
).flatMap(user -> {
34+
if (resetAdminPasswordOnStart) {
35+
return users.updatePassword(user.getId(), "admin");
36+
}
37+
return Mono.just(user);
38+
}).subscribe();
3039
}
3140
}

administration/src/main/java/ua/timetracker/administration/service/users/UserManager.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ public Mono<UserDto> updatePassword(long userId, PasswordUpdateDto passwordUpdat
7373
}).map(UserDto.MAP::map);
7474
}
7575

76+
@Transactional(REACTIVE_TX_MANAGER)
77+
public Mono<UserDto> updatePassword(long userId, String password) {
78+
return users.findById(userId)
79+
.flatMap(it -> {
80+
it.setEncodedPassword(encoder.encode(password));
81+
return users.save(it);
82+
}).map(UserDto.MAP::map);
83+
}
84+
7685
@Transactional(REACTIVE_TX_MANAGER)
7786
public Mono<Void> deleteUser(long userId) {
7887
return users.deleteById(userId);

administration/src/main/resources/application.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,7 @@ image-upload:
5353

5454
api:
5555
client:
56-
min-client-version: 20210420
56+
min-client-version: 20210420
57+
58+
demo:
59+
reset-admin-password-on-start: true

0 commit comments

Comments
 (0)