dev #1
@@ -34,6 +34,9 @@ public class AdminUserRequest {
|
||||
@JsonProperty("is_active")
|
||||
private Boolean isActive;
|
||||
|
||||
@JsonProperty("change_password")
|
||||
private Boolean changePassword;
|
||||
|
||||
@JsonProperty("permissions")
|
||||
private Map<String, Integer> permissions;
|
||||
|
||||
|
||||
@@ -108,11 +108,15 @@ public class AdminUserHandler implements RequestHandler {
|
||||
private BaseResponse handleCreate(BaseRequest request, AdminUserRequest adminRequest) {
|
||||
try {
|
||||
boolean superAdmin = adminRequest.getIsSuperAdmin() != null && adminRequest.getIsSuperAdmin();
|
||||
boolean changePassword = adminRequest.getChangePassword() != null ? adminRequest.getChangePassword():
|
||||
!superAdmin;
|
||||
|
||||
AdminUser admin = adminUserService.create(
|
||||
adminRequest.getFullName(),
|
||||
adminRequest.getEmail(),
|
||||
adminRequest.getPassword(),
|
||||
superAdmin);
|
||||
changePassword, superAdmin);
|
||||
|
||||
Map<String, Integer> permissions = adminRequest.getPermissions();
|
||||
Map<AdminSection, Integer> sectionPermissons = new HashMap<>();
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ public class AdminUserService {
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
@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)) {
|
||||
throw new EmailAlreadyExistsException("Email already exists: " + email);
|
||||
}
|
||||
@@ -33,7 +33,7 @@ public class AdminUserService {
|
||||
admin.setPassword(passwordEncoder.encode(password));
|
||||
admin.setCreatedAt(LocalDateTime.now());
|
||||
admin.setIsActive(true);
|
||||
admin.setIsActivePassword(superAdmin);
|
||||
admin.setIsActivePassword(changePassword);
|
||||
admin.setPermissions(superAdmin ? AdminPermission.SUPER_ADMIN_PERMISSIONS : AdminPermission.DEFAULT_PERMISSIONS);
|
||||
|
||||
return adminUserRepository.save(admin);
|
||||
|
||||
Reference in New Issue
Block a user