diff --git a/src/main/java/dbdr/domain/careworker/controller/CareworkerController.java b/src/main/java/dbdr/domain/careworker/controller/CareworkerController.java index ddd50334..dce107be 100644 --- a/src/main/java/dbdr/domain/careworker/controller/CareworkerController.java +++ b/src/main/java/dbdr/domain/careworker/controller/CareworkerController.java @@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.net.URI; @@ -17,7 +16,6 @@ @RestController @RequestMapping("/${spring.app.version}/careworker") @RequiredArgsConstructor -@PreAuthorize("hasAnyAuthority('ADMIN')") public class CareworkerController { private final CareworkerService careworkerService; diff --git a/src/main/java/dbdr/domain/careworker/repository/CareworkerRepository.java b/src/main/java/dbdr/domain/careworker/repository/CareworkerRepository.java index b5593615..714c2b4d 100644 --- a/src/main/java/dbdr/domain/careworker/repository/CareworkerRepository.java +++ b/src/main/java/dbdr/domain/careworker/repository/CareworkerRepository.java @@ -11,12 +11,13 @@ public interface CareworkerRepository extends JpaRepository { List findByInstitutionId(Long institutionId); - boolean existsByEmail(String email); - Optional findByLineUserId(String userId); List findByAlertTime(LocalTime currentTime); Optional findByPhone(String phoneNumber); - boolean existsByPhone(String phone); + + boolean ensureUniqueEmail(String email); + + boolean ensureUniquePhone(String phone); } diff --git a/src/main/java/dbdr/domain/careworker/service/CareworkerService.java b/src/main/java/dbdr/domain/careworker/service/CareworkerService.java index 6b439be4..625143ce 100644 --- a/src/main/java/dbdr/domain/careworker/service/CareworkerService.java +++ b/src/main/java/dbdr/domain/careworker/service/CareworkerService.java @@ -78,7 +78,7 @@ private Careworker findCareworkerById(Long id) { } private void emailExists(String email) { - if (careworkerRepository.existsByEmail(email)) { + if (careworkerRepository.ensureUniqueEmail(email)) { throw new ApplicationException(ApplicationError.DUPLICATE_EMAIL); } } diff --git a/src/main/java/dbdr/domain/excel/service/ExcelUploadService.java b/src/main/java/dbdr/domain/excel/service/ExcelUploadService.java index 75b6c307..1b8a5048 100644 --- a/src/main/java/dbdr/domain/excel/service/ExcelUploadService.java +++ b/src/main/java/dbdr/domain/excel/service/ExcelUploadService.java @@ -82,7 +82,7 @@ private void processCareworkerRow(Row row, List successList try { checkDuplicate(seenPhones, phone, ApplicationError.DUPLICATE_PHONE); - validatePhone(phone, careworkerRepository.existsByPhone(phone)); + validatePhone(phone, careworkerRepository.ensureUniquePhone(phone)); seenPhones.add(phone); Careworker careworker = Careworker.builder() @@ -104,7 +104,7 @@ private void processGuardianRow(Row row, List successList, try { checkDuplicate(seenPhones, phone, ApplicationError.DUPLICATE_PHONE); - validatePhone(phone, guardianRepository.existsByPhone(phone)); + validatePhone(phone, guardianRepository.ensureUniquePhone(phone)); seenPhones.add(phone); Guardian guardian = Guardian.builder() @@ -127,7 +127,7 @@ private void processRecipientRow(Row row, List successList, try { checkDuplicate(seenCareNumbers, careNumber, ApplicationError.DUPLICATE_CARE_NUMBER); - validateCareNumber(careNumber, recipientRepository.existsByCareNumber(careNumber)); + validateCareNumber(careNumber, recipientRepository.ensureUniqueCareNumber(careNumber)); seenCareNumbers.add(careNumber); Recipient recipient = Recipient.builder() diff --git a/src/main/java/dbdr/domain/guardian/repository/GuardianRepository.java b/src/main/java/dbdr/domain/guardian/repository/GuardianRepository.java index ecf00897..04985abf 100644 --- a/src/main/java/dbdr/domain/guardian/repository/GuardianRepository.java +++ b/src/main/java/dbdr/domain/guardian/repository/GuardianRepository.java @@ -10,7 +10,7 @@ public interface GuardianRepository extends JpaRepository { - boolean existsByPhone(String phone); + boolean ensureUniquePhone(String phone); Optional findByLineUserId(String userId); diff --git a/src/main/java/dbdr/domain/guardian/service/GuardianService.java b/src/main/java/dbdr/domain/guardian/service/GuardianService.java index df0b2bda..cf61c5c0 100644 --- a/src/main/java/dbdr/domain/guardian/service/GuardianService.java +++ b/src/main/java/dbdr/domain/guardian/service/GuardianService.java @@ -60,7 +60,7 @@ private Guardian findGuardianById(Long guardianId) { } private void phoneNumberExists(String phone) { - if (guardianRepository.existsByPhone(phone)) { + if (guardianRepository.ensureUniquePhone(phone)) { throw new ApplicationException(ApplicationError.DUPLICATE_PHONE); } } diff --git a/src/main/java/dbdr/domain/institution/repository/InstitutionRepository.java b/src/main/java/dbdr/domain/institution/repository/InstitutionRepository.java index 677c77e1..fd578597 100644 --- a/src/main/java/dbdr/domain/institution/repository/InstitutionRepository.java +++ b/src/main/java/dbdr/domain/institution/repository/InstitutionRepository.java @@ -5,7 +5,7 @@ public interface InstitutionRepository extends JpaRepository { - boolean existsByInstitutionNumber(Long institutionNumber); + boolean ensureUniqueInstitutionNumber(Long institutionNumber); Institution findByInstitutionNumber(Long institutionNumber); } diff --git a/src/main/java/dbdr/domain/institution/service/InstitutionService.java b/src/main/java/dbdr/domain/institution/service/InstitutionService.java index 40e6dfed..c4a304d7 100644 --- a/src/main/java/dbdr/domain/institution/service/InstitutionService.java +++ b/src/main/java/dbdr/domain/institution/service/InstitutionService.java @@ -56,7 +56,7 @@ public void deleteInstitutionById(Long id) { } private void institutionIdExists(Long institutionNumber) { - if (institutionRepository.existsByInstitutionNumber(institutionNumber)) { + if (institutionRepository.ensureUniqueInstitutionNumber(institutionNumber)) { throw new ApplicationException(ApplicationError.DUPLICATE_INSTITUTION_NUMBER); } } diff --git a/src/main/java/dbdr/domain/recipient/repository/RecipientRepository.java b/src/main/java/dbdr/domain/recipient/repository/RecipientRepository.java index e056c3e5..3bdd9add 100644 --- a/src/main/java/dbdr/domain/recipient/repository/RecipientRepository.java +++ b/src/main/java/dbdr/domain/recipient/repository/RecipientRepository.java @@ -5,5 +5,5 @@ public interface RecipientRepository extends JpaRepository { - boolean existsByCareNumber(String careNumber); + boolean ensureUniqueCareNumber(String careNumber); } diff --git a/src/main/java/dbdr/domain/recipient/service/RecipientService.java b/src/main/java/dbdr/domain/recipient/service/RecipientService.java index 0bbeace2..d83669ab 100644 --- a/src/main/java/dbdr/domain/recipient/service/RecipientService.java +++ b/src/main/java/dbdr/domain/recipient/service/RecipientService.java @@ -79,7 +79,7 @@ private Recipient findRecipientById(Long id) { } private void careNumberExists(String careNumber) { - if (recipientRepository.existsByCareNumber(careNumber)) { + if (recipientRepository.ensureUniqueCareNumber(careNumber)) { throw new ApplicationException(ApplicationError.DUPLICATE_CARE_NUMBER); } } diff --git a/src/main/java/dbdr/security/service/BaseUserDetailsService.java b/src/main/java/dbdr/security/service/BaseUserDetailsService.java index 1d8b730c..a717cb55 100644 --- a/src/main/java/dbdr/security/service/BaseUserDetailsService.java +++ b/src/main/java/dbdr/security/service/BaseUserDetailsService.java @@ -45,7 +45,7 @@ public BaseUserDetails loadUserByUsernameAndRole(String username, Role role) { } private BaseUserDetails getInstitutionDetails(String userId) { - if (!institutionRepository.existsByInstitutionNumber(Long.parseLong(userId))) { + if (!institutionRepository.ensureUniqueInstitutionNumber(Long.parseLong(userId))) { throw new ApplicationException(ApplicationError.INSTITUTION_NOT_FOUND); }