dev #1

Open
backdev wants to merge 47 commits from dev into main
3 changed files with 10 additions and 3 deletions
Showing only changes of commit ed52fe3c51 - Show all commits
@@ -34,6 +34,9 @@ public class AdminUserRequest {
@JsonProperty("is_active") @JsonProperty("is_active")
private Boolean isActive; private Boolean isActive;
@JsonProperty("change_password")
private Boolean changePassword;
@JsonProperty("permissions") @JsonProperty("permissions")
private Map<String, Integer> permissions; private Map<String, Integer> permissions;
@@ -108,11 +108,15 @@ public class AdminUserHandler implements RequestHandler {
private BaseResponse handleCreate(BaseRequest request, AdminUserRequest adminRequest) { private BaseResponse handleCreate(BaseRequest request, AdminUserRequest adminRequest) {
try { try {
boolean superAdmin = adminRequest.getIsSuperAdmin() != null && adminRequest.getIsSuperAdmin(); boolean superAdmin = adminRequest.getIsSuperAdmin() != null && adminRequest.getIsSuperAdmin();
boolean changePassword = adminRequest.getChangePassword() != null ? adminRequest.getChangePassword():
!superAdmin;
AdminUser admin = adminUserService.create( AdminUser admin = adminUserService.create(
adminRequest.getFullName(), adminRequest.getFullName(),
adminRequest.getEmail(), adminRequest.getEmail(),
adminRequest.getPassword(), adminRequest.getPassword(),
superAdmin); changePassword, superAdmin);
Map<String, Integer> permissions = adminRequest.getPermissions(); Map<String, Integer> permissions = adminRequest.getPermissions();
Map<AdminSection, Integer> sectionPermissons = new HashMap<>(); Map<AdminSection, Integer> sectionPermissons = new HashMap<>();
@@ -22,7 +22,7 @@ public class AdminUserService {
private final PasswordEncoder passwordEncoder; private final PasswordEncoder passwordEncoder;
@Transactional @Transactional
public AdminUser create(String fullName, String email, String password, boolean superAdmin) { public AdminUser create(String fullName, String email, String password, boolean changePassword, boolean superAdmin) {
if (adminUserRepository.existsByEmail(email)) { if (adminUserRepository.existsByEmail(email)) {
throw new EmailAlreadyExistsException("Email already exists: " + email); throw new EmailAlreadyExistsException("Email already exists: " + email);
} }
@@ -33,7 +33,7 @@ public class AdminUserService {
admin.setPassword(passwordEncoder.encode(password)); admin.setPassword(passwordEncoder.encode(password));
admin.setCreatedAt(LocalDateTime.now()); admin.setCreatedAt(LocalDateTime.now());
admin.setIsActive(true); admin.setIsActive(true);
admin.setIsActivePassword(superAdmin); admin.setIsActivePassword(changePassword);
admin.setPermissions(superAdmin ? AdminPermission.SUPER_ADMIN_PERMISSIONS : AdminPermission.DEFAULT_PERMISSIONS); admin.setPermissions(superAdmin ? AdminPermission.SUPER_ADMIN_PERMISSIONS : AdminPermission.DEFAULT_PERMISSIONS);
return adminUserRepository.save(admin); return adminUserRepository.save(admin);