From dbf3a406a397f685f43350de646e73df819f7224 Mon Sep 17 00:00:00 2001 From: kobeomseok95 <37062337+kobeomseok95@users.noreply.github.com> Date: Sun, 2 May 2021 18:30:09 +0900 Subject: [PATCH 01/16] =?UTF-8?q?refactor=20:=20domain=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=20=EC=83=9D=EC=84=B1=20=EB=B0=8F=20account,=20interes?= =?UTF-8?q?t,=20mainactivityzone=20=EC=98=AE=EA=B9=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 33 ++----------------- .../security/CustomUserDetailService.java | 2 +- .../infra/config/security/LoginUser.java | 2 +- .../config/security/oauth/OAuthService.java | 3 +- .../project/devidea/modules/InitService.java | 2 +- .../account/{ => domains}/Account.java | 2 +- .../account/{ => domains}/Interest.java | 3 +- .../{ => domains}/MainActivityZone.java | 3 +- .../account/repository/AccountRepository.java | 2 +- .../repository/AccountRepositoryCustom.java | 4 +-- .../AccountRepositoryCustomImpl.java | 7 +--- .../repository/InterestRepository.java | 4 +-- .../MainActivityZoneRepository.java | 4 +-- .../services/Delete_AccountServiceImpl.java | 6 ++-- .../services/interest/InterestService.java | 4 +-- .../interest/InterestServiceImpl.java | 4 +-- .../services/login/LoginServiceImpl.java | 3 -- .../MainActivityZoneService.java | 4 +-- .../MainActivityZoneServiceImpl.java | 4 +-- .../signUp/CommonSignUpServiceImpl.java | 2 +- .../signUp/OAuthSignUpServiceImpl.java | 2 +- .../signUpDetail/SignUpDetailServiceImpl.java | 6 ++-- .../account/util/LoginServiceUtil.java | 2 +- .../devidea/modules/community/Comment.java | 2 +- .../devidea/modules/community/Community.java | 2 +- .../community/CommunityRepository.java | 2 +- .../modules/community/CommunityService.java | 6 +--- .../community/form/RequestCommunity.java | 5 --- .../modules/content/mentoring/Mentee.java | 4 +-- .../content/mentoring/MenteeController.java | 2 +- .../content/mentoring/MenteeService.java | 3 +- .../modules/content/mentoring/Mentor.java | 2 +- .../content/mentoring/MentorController.java | 4 +-- .../content/mentoring/MentorService.java | 4 +-- .../modules/content/resume/Resume.java | 2 +- .../content/resume/ResumeController.java | 6 +--- .../modules/content/resume/ResumeService.java | 3 +- .../resume/activity/ActivityController.java | 2 +- .../resume/activity/ActivityService.java | 3 +- .../content/resume/award/AwardController.java | 2 +- .../content/resume/award/AwardService.java | 3 +- .../resume/career/CareerController.java | 2 +- .../content/resume/career/CareerService.java | 3 +- .../resume/education/EducationController.java | 4 +-- .../resume/education/EducationService.java | 2 +- .../resume/project/ProjectController.java | 2 +- .../resume/project/ProjectService.java | 5 +-- .../devidea/modules/content/study/Study.java | 4 --- .../modules/content/study/StudyFactory.java | 2 +- .../modules/content/study/StudyMember.java | 2 +- .../content/study/StudySampleGenerator.java | 3 +- .../study/aop/StudyNotificationAspect.java | 6 +--- .../content/study/apply/StudyApply.java | 2 +- .../content/study/apply/StudyApplyForm.java | 3 -- .../study/apply/StudyApplyListForm.java | 1 - .../study/apply/StudyApplyRepository.java | 2 +- .../content/study/form/StudyDetailForm.java | 9 ----- .../study/notification/StudyNotification.java | 4 +-- .../notification/StudyNotificationImpl.java | 2 +- .../repository/StudyMemberRepository.java | 2 +- .../study/repository/StudyRepository.java | 1 - .../repository/StudyRepositoryCustom.java | 2 -- .../content/study/service/StudyService.java | 12 +------ .../study/service/StudyServiceImpl.java | 15 +-------- .../content/suggestion/Suggestion.java | 2 +- .../suggestion/SuggestionController.java | 2 +- .../suggestion/SuggestionRepository.java | 2 +- .../content/suggestion/SuggestionService.java | 2 +- .../modules/notification/Notification.java | 2 +- .../notification/NotificationController.java | 4 +-- .../notification/NotificationRepository.java | 2 +- .../notification/NotificationService.java | 4 +-- .../notification/aop/NotificationAop.java | 2 +- .../devidea/modules/ModuleGenerator.java | 2 +- .../account/AccountControllerTest.java | 3 ++ .../devidea/modules/account/AccountDummy.java | 3 ++ .../account/AccountInfoControllerTest.java | 3 +- .../devidea/modules/account/AccountTest.java | 3 ++ .../account/InterestRepositoryTest.java | 5 ++- .../AccountRepositoryCustomImplTest.java | 13 ++------ .../repository/AccountRepositoryTest.java | 3 +- .../interest/InterestServiceImplTest.java | 4 +-- .../MainActivityZoneServiceImplTest.java | 4 +-- .../signUp/CommonSignUpServiceImplTest.java | 2 +- .../signUp/OAuthSignUpServiceImplTest.java | 2 +- .../SignUpDetailServiceImplTest.java | 6 ++-- .../account/util/LoginServiceUtilTest.java | 2 +- .../community/CommunityControllerTest.java | 3 +- .../modules/community/CommunityDummy.java | 5 +-- .../community/CommunityRepositoryTest.java | 2 +- .../community/CommunityServiceTest.java | 3 +- .../mentoring/MenteeControllerTest.java | 2 +- .../mentoring/MentorControllerTest.java | 2 +- .../WithAccountSecurityContextFactory.java | 2 +- .../content/resume/CareerControllerTest.java | 5 +-- .../content/resume/ResumeControllerTest.java | 2 +- .../content/study/StudyControllerTest.java | 2 +- .../content/study/StudyDomainTest.java | 2 +- .../content/study/StudyServiceTest.java | 2 +- .../suggestion/SuggestionControllerTest.java | 2 +- .../NotificationControllerTest.java | 12 +------ .../NotificationRepositoryTest.java | 2 +- .../notification/NotificationServiceTest.java | 2 +- 103 files changed, 121 insertions(+), 261 deletions(-) rename src/main/java/com/project/devidea/modules/account/{ => domains}/Account.java (99%) rename src/main/java/com/project/devidea/modules/account/{ => domains}/Interest.java (84%) rename src/main/java/com/project/devidea/modules/account/{ => domains}/MainActivityZone.java (82%) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 51737e01..cf340553 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -29,26 +29,7 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -335,7 +305,8 @@ - + + 1618063878165 diff --git a/src/main/java/com/project/devidea/infra/config/security/CustomUserDetailService.java b/src/main/java/com/project/devidea/infra/config/security/CustomUserDetailService.java index f6a79fd7..7345bcca 100644 --- a/src/main/java/com/project/devidea/infra/config/security/CustomUserDetailService.java +++ b/src/main/java/com/project/devidea/infra/config/security/CustomUserDetailService.java @@ -1,7 +1,7 @@ package com.project.devidea.infra.config.security; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; diff --git a/src/main/java/com/project/devidea/infra/config/security/LoginUser.java b/src/main/java/com/project/devidea/infra/config/security/LoginUser.java index 141d4a40..79b4b821 100644 --- a/src/main/java/com/project/devidea/infra/config/security/LoginUser.java +++ b/src/main/java/com/project/devidea/infra/config/security/LoginUser.java @@ -1,7 +1,7 @@ package com.project.devidea.infra.config.security; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.Getter; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; diff --git a/src/main/java/com/project/devidea/infra/config/security/oauth/OAuthService.java b/src/main/java/com/project/devidea/infra/config/security/oauth/OAuthService.java index 7e9ba9c2..0b5a8cbf 100644 --- a/src/main/java/com/project/devidea/infra/config/security/oauth/OAuthService.java +++ b/src/main/java/com/project/devidea/infra/config/security/oauth/OAuthService.java @@ -1,10 +1,9 @@ package com.project.devidea.infra.config.security.oauth; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.Login; import com.project.devidea.modules.account.dto.SignUp; -import java.security.NoSuchAlgorithmException; import java.util.Map; // todo : 구조 리팩토링 public interface OAuthService { diff --git a/src/main/java/com/project/devidea/modules/InitService.java b/src/main/java/com/project/devidea/modules/InitService.java index ee8b744e..f7638a12 100644 --- a/src/main/java/com/project/devidea/modules/InitService.java +++ b/src/main/java/com/project/devidea/modules/InitService.java @@ -3,7 +3,7 @@ import com.project.devidea.modules.environment.Environment; import com.project.devidea.modules.environment.EnvironmentRepository; import com.project.devidea.infra.config.security.SHA256; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.Mentee; import com.project.devidea.modules.content.mentoring.MenteeRepository; diff --git a/src/main/java/com/project/devidea/modules/account/Account.java b/src/main/java/com/project/devidea/modules/account/domains/Account.java similarity index 99% rename from src/main/java/com/project/devidea/modules/account/Account.java rename to src/main/java/com/project/devidea/modules/account/domains/Account.java index 4ae1a716..89c7a8e8 100644 --- a/src/main/java/com/project/devidea/modules/account/Account.java +++ b/src/main/java/com/project/devidea/modules/account/domains/Account.java @@ -1,4 +1,4 @@ -package com.project.devidea.modules.account; +package com.project.devidea.modules.account.domains; import com.project.devidea.infra.error.exception.ErrorCode; import com.project.devidea.modules.account.dto.SignUp; diff --git a/src/main/java/com/project/devidea/modules/account/Interest.java b/src/main/java/com/project/devidea/modules/account/domains/Interest.java similarity index 84% rename from src/main/java/com/project/devidea/modules/account/Interest.java rename to src/main/java/com/project/devidea/modules/account/domains/Interest.java index 8710d6f2..89758d7f 100644 --- a/src/main/java/com/project/devidea/modules/account/Interest.java +++ b/src/main/java/com/project/devidea/modules/account/domains/Interest.java @@ -1,5 +1,6 @@ -package com.project.devidea.modules.account; +package com.project.devidea.modules.account.domains; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.tagzone.tag.Tag; import lombok.*; diff --git a/src/main/java/com/project/devidea/modules/account/MainActivityZone.java b/src/main/java/com/project/devidea/modules/account/domains/MainActivityZone.java similarity index 82% rename from src/main/java/com/project/devidea/modules/account/MainActivityZone.java rename to src/main/java/com/project/devidea/modules/account/domains/MainActivityZone.java index 738988bb..0d789cc7 100644 --- a/src/main/java/com/project/devidea/modules/account/MainActivityZone.java +++ b/src/main/java/com/project/devidea/modules/account/domains/MainActivityZone.java @@ -1,5 +1,6 @@ -package com.project.devidea.modules.account; +package com.project.devidea.modules.account.domains; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.tagzone.zone.Zone; import lombok.*; diff --git a/src/main/java/com/project/devidea/modules/account/repository/AccountRepository.java b/src/main/java/com/project/devidea/modules/account/repository/AccountRepository.java index d32d4413..8f2557be 100644 --- a/src/main/java/com/project/devidea/modules/account/repository/AccountRepository.java +++ b/src/main/java/com/project/devidea/modules/account/repository/AccountRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.account.repository; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustom.java b/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustom.java index b01860ea..bc28f263 100644 --- a/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustom.java +++ b/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustom.java @@ -1,8 +1,6 @@ package com.project.devidea.modules.account.repository; -import com.project.devidea.modules.account.Account; - -import java.util.Optional; +import com.project.devidea.modules.account.domains.Account; public interface AccountRepositoryCustom { diff --git a/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImpl.java b/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImpl.java index f3947557..145d0271 100644 --- a/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImpl.java +++ b/src/main/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImpl.java @@ -1,14 +1,9 @@ package com.project.devidea.modules.account.repository; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.QAccount; -import com.project.devidea.modules.account.QInterest; -import com.project.devidea.modules.account.QMainActivityZone; +import com.project.devidea.modules.account.domains.Account; import com.querydsl.jpa.impl.JPAQueryFactory; import lombok.RequiredArgsConstructor; -import java.util.Optional; - import static com.project.devidea.modules.account.QAccount.*; import static com.project.devidea.modules.account.QInterest.*; import static com.project.devidea.modules.account.QMainActivityZone.*; diff --git a/src/main/java/com/project/devidea/modules/account/repository/InterestRepository.java b/src/main/java/com/project/devidea/modules/account/repository/InterestRepository.java index 9490a3cd..e34d2a60 100644 --- a/src/main/java/com/project/devidea/modules/account/repository/InterestRepository.java +++ b/src/main/java/com/project/devidea/modules/account/repository/InterestRepository.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.repository; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.tagzone.tag.Tag; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/project/devidea/modules/account/repository/MainActivityZoneRepository.java b/src/main/java/com/project/devidea/modules/account/repository/MainActivityZoneRepository.java index 42a5a0d6..d49d4dd3 100644 --- a/src/main/java/com/project/devidea/modules/account/repository/MainActivityZoneRepository.java +++ b/src/main/java/com/project/devidea/modules/account/repository/MainActivityZoneRepository.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.repository; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.MainActivityZone; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/project/devidea/modules/account/services/Delete_AccountServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/Delete_AccountServiceImpl.java index 227d96d7..31b10cd2 100644 --- a/src/main/java/com/project/devidea/modules/account/services/Delete_AccountServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/Delete_AccountServiceImpl.java @@ -1,8 +1,8 @@ //package com.project.devidea.modules.account.service; // -//import com.project.devidea.modules.account.Account; -//import com.project.devidea.modules.account.Interest; -//import com.project.devidea.modules.account.MainActivityZone; +//import com.project.devidea.modules.account.domains.Account; +//import com.project.devidea.modules.account.domains.Interest; +//import com.project.devidea.modules.account.domains.MainActivityZone; //import com.project.devidea.modules.environment.EnvironmentRepository; //import com.project.devidea.infra.config.security.LoginUser; //import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; diff --git a/src/main/java/com/project/devidea/modules/account/services/interest/InterestService.java b/src/main/java/com/project/devidea/modules/account/services/interest/InterestService.java index 5cad22e3..21ba4dd7 100644 --- a/src/main/java/com/project/devidea/modules/account/services/interest/InterestService.java +++ b/src/main/java/com/project/devidea/modules/account/services/interest/InterestService.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.interest; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.tagzone.tag.Tag; import java.util.HashSet; diff --git a/src/main/java/com/project/devidea/modules/account/services/interest/InterestServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/interest/InterestServiceImpl.java index d3a730e5..7d8f297b 100644 --- a/src/main/java/com/project/devidea/modules/account/services/interest/InterestServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/interest/InterestServiceImpl.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.interest; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.account.repository.InterestRepository; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagService; diff --git a/src/main/java/com/project/devidea/modules/account/services/login/LoginServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/login/LoginServiceImpl.java index 4bc8d6a9..d28e5555 100644 --- a/src/main/java/com/project/devidea/modules/account/services/login/LoginServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/login/LoginServiceImpl.java @@ -1,11 +1,8 @@ package com.project.devidea.modules.account.services.login; -import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; import com.project.devidea.modules.account.dto.Login; import com.project.devidea.modules.account.exception.AccountException; -import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.account.util.LoginServiceUtil; import lombok.RequiredArgsConstructor; import org.springframework.security.authentication.AuthenticationManager; diff --git a/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneService.java b/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneService.java index 8ac40e86..7c2b9f1d 100644 --- a/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneService.java +++ b/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneService.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.mainActivityZone; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.tagzone.zone.Zone; import java.util.HashSet; diff --git a/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImpl.java index 4815d6d5..45905c50 100644 --- a/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImpl.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.mainActivityZone; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.repository.MainActivityZoneRepository; import com.project.devidea.modules.tagzone.zone.Zone; import com.project.devidea.modules.tagzone.zone.ZoneService; diff --git a/src/main/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImpl.java index a399e8cf..c4ac9133 100644 --- a/src/main/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImpl.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.signUp; import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.event.SendEmailToken; import com.project.devidea.modules.account.exception.AccountException; diff --git a/src/main/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImpl.java index b36b3fd1..b1d00aad 100644 --- a/src/main/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImpl.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.account.services.signUp; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.repository.AccountRepository; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImpl.java b/src/main/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImpl.java index ef3fc702..73d78704 100644 --- a/src/main/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImpl.java @@ -1,8 +1,8 @@ package com.project.devidea.modules.account.services.signUpDetail; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.account.services.interest.InterestService; diff --git a/src/main/java/com/project/devidea/modules/account/util/LoginServiceUtil.java b/src/main/java/com/project/devidea/modules/account/util/LoginServiceUtil.java index 846bc99a..1ba302c4 100644 --- a/src/main/java/com/project/devidea/modules/account/util/LoginServiceUtil.java +++ b/src/main/java/com/project/devidea/modules/account/util/LoginServiceUtil.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.util; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; diff --git a/src/main/java/com/project/devidea/modules/community/Comment.java b/src/main/java/com/project/devidea/modules/community/Comment.java index 03b25f24..fafbf28b 100644 --- a/src/main/java/com/project/devidea/modules/community/Comment.java +++ b/src/main/java/com/project/devidea/modules/community/Comment.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.community; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/project/devidea/modules/community/Community.java b/src/main/java/com/project/devidea/modules/community/Community.java index 6712e310..cfbbc655 100644 --- a/src/main/java/com/project/devidea/modules/community/Community.java +++ b/src/main/java/com/project/devidea/modules/community/Community.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.community; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/project/devidea/modules/community/CommunityRepository.java b/src/main/java/com/project/devidea/modules/community/CommunityRepository.java index 76803ca7..ecf789d3 100644 --- a/src/main/java/com/project/devidea/modules/community/CommunityRepository.java +++ b/src/main/java/com/project/devidea/modules/community/CommunityRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.community; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/community/CommunityService.java b/src/main/java/com/project/devidea/modules/community/CommunityService.java index 646984ab..cc70769e 100644 --- a/src/main/java/com/project/devidea/modules/community/CommunityService.java +++ b/src/main/java/com/project/devidea/modules/community/CommunityService.java @@ -1,12 +1,8 @@ package com.project.devidea.modules.community; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.community.form.RequestCommunity; -import lombok.NoArgsConstructor; import lombok.RequiredArgsConstructor; -import org.modelmapper.ModelMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/community/form/RequestCommunity.java b/src/main/java/com/project/devidea/modules/community/form/RequestCommunity.java index d220c8ba..f9ced080 100644 --- a/src/main/java/com/project/devidea/modules/community/form/RequestCommunity.java +++ b/src/main/java/com/project/devidea/modules/community/form/RequestCommunity.java @@ -1,17 +1,12 @@ package com.project.devidea.modules.community.form; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.community.Comment; import com.project.devidea.modules.community.CommunityType; import com.project.devidea.modules.community.validator.Enum; import lombok.Builder; import lombok.Getter; import lombok.Setter; -import javax.persistence.*; import javax.validation.constraints.NotEmpty; -import java.time.LocalDateTime; -import java.util.List; @Getter @Setter diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/Mentee.java b/src/main/java/com/project/devidea/modules/content/mentoring/Mentee.java index cb7f0dc7..a771e7aa 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/Mentee.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/Mentee.java @@ -1,14 +1,12 @@ package com.project.devidea.modules.content.mentoring; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.zone.Zone; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.springframework.security.access.AccessDeniedException; -import org.springframework.web.bind.MethodArgumentNotValidException; import javax.persistence.*; import javax.validation.constraints.NotNull; diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/MenteeController.java b/src/main/java/com/project/devidea/modules/content/mentoring/MenteeController.java index 07e51469..ea048bc7 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/MenteeController.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/MenteeController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.mentoring; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.mentoring.form.CreateMenteeRequest; import com.project.devidea.modules.content.mentoring.form.UpdateMenteeRequest; diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/MenteeService.java b/src/main/java/com/project/devidea/modules/content/mentoring/MenteeService.java index 50a2b0c0..bfbb4004 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/MenteeService.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/MenteeService.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.mentoring; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.AlreadyExistException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.mentoring.form.CreateMenteeRequest; @@ -9,7 +9,6 @@ import com.project.devidea.modules.tagzone.tag.TagRepository; import com.project.devidea.modules.tagzone.zone.Zone; import com.project.devidea.modules.tagzone.zone.ZoneRepository; -import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/Mentor.java b/src/main/java/com/project/devidea/modules/content/mentoring/Mentor.java index 286d45c6..9eee4f7d 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/Mentor.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/Mentor.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.mentoring; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.zone.Zone; diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/MentorController.java b/src/main/java/com/project/devidea/modules/content/mentoring/MentorController.java index 40545dae..8e5c2ca0 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/MentorController.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/MentorController.java @@ -1,11 +1,10 @@ package com.project.devidea.modules.content.mentoring; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.mentoring.form.CreateMentorRequest; import com.project.devidea.modules.content.mentoring.form.UpdateMentorRequest; -import com.project.devidea.modules.content.mentoring.validator.MentorRequestValidator; import io.swagger.annotations.ApiOperation; import lombok.Data; import lombok.RequiredArgsConstructor; @@ -13,7 +12,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.AccessDeniedException; -import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; diff --git a/src/main/java/com/project/devidea/modules/content/mentoring/MentorService.java b/src/main/java/com/project/devidea/modules/content/mentoring/MentorService.java index 8a32cf54..8ccd7940 100644 --- a/src/main/java/com/project/devidea/modules/content/mentoring/MentorService.java +++ b/src/main/java/com/project/devidea/modules/content/mentoring/MentorService.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.mentoring; -import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.AlreadyExistException; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; @@ -14,7 +13,6 @@ import com.project.devidea.modules.tagzone.tag.TagRepository; import com.project.devidea.modules.tagzone.zone.Zone; import com.project.devidea.modules.tagzone.zone.ZoneRepository; -import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/content/resume/Resume.java b/src/main/java/com/project/devidea/modules/content/resume/Resume.java index 317edf43..d1ef862b 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/Resume.java +++ b/src/main/java/com/project/devidea/modules/content/resume/Resume.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.resume; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.resume.activity.Activity; import com.project.devidea.modules.content.resume.award.Award; import com.project.devidea.modules.content.resume.career.Career; diff --git a/src/main/java/com/project/devidea/modules/content/resume/ResumeController.java b/src/main/java/com/project/devidea/modules/content/resume/ResumeController.java index 863d215d..52a70453 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/ResumeController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/ResumeController.java @@ -1,23 +1,19 @@ package com.project.devidea.modules.content.resume; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.infra.config.security.LoginUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.form.CreateResumeRequest; import com.project.devidea.modules.content.resume.form.UpdateResumeRequest; import io.swagger.annotations.ApiOperation; import lombok.Data; import lombok.RequiredArgsConstructor; -import org.modelmapper.internal.Errors; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.AccessDeniedException; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.List; @RestController @RequestMapping(value = "/resume") diff --git a/src/main/java/com/project/devidea/modules/content/resume/ResumeService.java b/src/main/java/com/project/devidea/modules/content/resume/ResumeService.java index f3c88af0..6aab60bb 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/ResumeService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/ResumeService.java @@ -1,12 +1,11 @@ package com.project.devidea.modules.content.resume; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.AlreadyExistException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.form.CreateResumeRequest; import com.project.devidea.modules.content.resume.form.UpdateResumeRequest; import lombok.RequiredArgsConstructor; -import org.modelmapper.ModelMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityController.java b/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityController.java index a19368e3..a5dd0194 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.resume.activity; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.content.resume.ResumeRepository; diff --git a/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityService.java b/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityService.java index 95157bc2..be7b8bb0 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/activity/ActivityService.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.resume.activity; -import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; diff --git a/src/main/java/com/project/devidea/modules/content/resume/award/AwardController.java b/src/main/java/com/project/devidea/modules/content/resume/award/AwardController.java index dfffea10..a74e9c25 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/award/AwardController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/award/AwardController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.resume.award; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.content.resume.ResumeRepository; diff --git a/src/main/java/com/project/devidea/modules/content/resume/award/AwardService.java b/src/main/java/com/project/devidea/modules/content/resume/award/AwardService.java index 6654b6a1..805a4e26 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/award/AwardService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/award/AwardService.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.resume.award; -import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.AbstractService; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; diff --git a/src/main/java/com/project/devidea/modules/content/resume/career/CareerController.java b/src/main/java/com/project/devidea/modules/content/resume/career/CareerController.java index 09a56ae7..6b0c6e29 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/career/CareerController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/career/CareerController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.resume.career; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.content.resume.ResumeRepository; diff --git a/src/main/java/com/project/devidea/modules/content/resume/career/CareerService.java b/src/main/java/com/project/devidea/modules/content/resume/career/CareerService.java index 8a45cc21..29356777 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/career/CareerService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/career/CareerService.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.resume.career; -import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.AbstractService; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; diff --git a/src/main/java/com/project/devidea/modules/content/resume/education/EducationController.java b/src/main/java/com/project/devidea/modules/content/resume/education/EducationController.java index b8ac2657..b2fd7ed6 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/education/EducationController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/education/EducationController.java @@ -1,20 +1,18 @@ package com.project.devidea.modules.content.resume.education; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.content.resume.ResumeRepository; import com.project.devidea.modules.content.resume.form.education.CreateEducationRequest; import com.project.devidea.modules.content.resume.form.education.UpdateEducationRequest; -import com.project.devidea.modules.content.resume.validator.EducationRequestValidator; import io.swagger.annotations.ApiOperation; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.AccessDeniedException; -import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; diff --git a/src/main/java/com/project/devidea/modules/content/resume/education/EducationService.java b/src/main/java/com/project/devidea/modules/content/resume/education/EducationService.java index 53274cfe..dcf9f955 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/education/EducationService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/education/EducationService.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.resume.education; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.AbstractService; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; diff --git a/src/main/java/com/project/devidea/modules/content/resume/project/ProjectController.java b/src/main/java/com/project/devidea/modules/content/resume/project/ProjectController.java index 4aa04778..936ca80b 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/project/ProjectController.java +++ b/src/main/java/com/project/devidea/modules/content/resume/project/ProjectController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.resume.project; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.resume.Resume; import com.project.devidea.modules.content.resume.ResumeRepository; diff --git a/src/main/java/com/project/devidea/modules/content/resume/project/ProjectService.java b/src/main/java/com/project/devidea/modules/content/resume/project/ProjectService.java index cb36ff22..a4a5e977 100644 --- a/src/main/java/com/project/devidea/modules/content/resume/project/ProjectService.java +++ b/src/main/java/com/project/devidea/modules/content/resume/project/ProjectService.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.resume.project; -import com.project.devidea.infra.error.exception.ErrorCode; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.AbstractService; import com.project.devidea.modules.content.mentoring.exception.InvalidInputException; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; @@ -10,8 +9,6 @@ import com.project.devidea.modules.content.resume.form.project.CreateProjectRequest; import com.project.devidea.modules.content.resume.form.project.ProjectRequest; import com.project.devidea.modules.content.resume.form.project.UpdateProjectRequest; -import com.project.devidea.modules.content.resume.project.Project; -import com.project.devidea.modules.content.resume.project.ProjectRepository; import com.project.devidea.modules.tagzone.tag.TagRepository; import com.project.devidea.modules.tagzone.zone.ZoneRepository; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/project/devidea/modules/content/study/Study.java b/src/main/java/com/project/devidea/modules/content/study/Study.java index 82cd2baf..d5a62c52 100644 --- a/src/main/java/com/project/devidea/modules/content/study/Study.java +++ b/src/main/java/com/project/devidea/modules/content/study/Study.java @@ -1,18 +1,14 @@ package com.project.devidea.modules.content.study; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.content.study.form.StudyMakingForm; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.zone.Zone; import lombok.*; import javax.persistence.*; -import javax.validation.Valid; import java.io.Serializable; import java.time.LocalDateTime; import java.util.*; -import java.util.stream.Collectors; @Entity @Data diff --git a/src/main/java/com/project/devidea/modules/content/study/StudyFactory.java b/src/main/java/com/project/devidea/modules/content/study/StudyFactory.java index eec73383..8e289d56 100644 --- a/src/main/java/com/project/devidea/modules/content/study/StudyFactory.java +++ b/src/main/java/com/project/devidea/modules/content/study/StudyFactory.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.apply.StudyApply; import com.project.devidea.modules.content.study.apply.StudyApplyForm; import com.project.devidea.modules.content.study.exception.StudyNullException; diff --git a/src/main/java/com/project/devidea/modules/content/study/StudyMember.java b/src/main/java/com/project/devidea/modules/content/study/StudyMember.java index 61e7ee81..8c0782fb 100644 --- a/src/main/java/com/project/devidea/modules/content/study/StudyMember.java +++ b/src/main/java/com/project/devidea/modules/content/study/StudyMember.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.*; import javax.persistence.*; diff --git a/src/main/java/com/project/devidea/modules/content/study/StudySampleGenerator.java b/src/main/java/com/project/devidea/modules/content/study/StudySampleGenerator.java index ffc78645..1e33b516 100644 --- a/src/main/java/com/project/devidea/modules/content/study/StudySampleGenerator.java +++ b/src/main/java/com/project/devidea/modules/content/study/StudySampleGenerator.java @@ -1,7 +1,6 @@ package com.project.devidea.modules.content.study; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.content.study.repository.StudyRepository; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagRepository; import com.project.devidea.modules.tagzone.zone.Zone; diff --git a/src/main/java/com/project/devidea/modules/content/study/aop/StudyNotificationAspect.java b/src/main/java/com/project/devidea/modules/content/study/aop/StudyNotificationAspect.java index 78ada2e0..0e1dc8fd 100644 --- a/src/main/java/com/project/devidea/modules/content/study/aop/StudyNotificationAspect.java +++ b/src/main/java/com/project/devidea/modules/content/study/aop/StudyNotificationAspect.java @@ -1,14 +1,10 @@ package com.project.devidea.modules.content.study.aop; -import com.project.devidea.infra.error.exception.BusinessException; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.repository.InterestRepository; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; import com.project.devidea.modules.content.study.StudyFactory; import com.project.devidea.modules.content.study.apply.StudyApplyForm; -import com.project.devidea.modules.content.study.apply.StudyApplyRepository; import com.project.devidea.modules.content.study.exception.StudyNullException; -import com.project.devidea.modules.content.study.form.StudyDetailForm; import com.project.devidea.modules.content.study.notification.*; import com.project.devidea.modules.content.study.repository.StudyMemberRepository; import com.project.devidea.modules.content.study.repository.StudyRepository; diff --git a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApply.java b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApply.java index 8a86c34c..ce4359f9 100644 --- a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApply.java +++ b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApply.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study.apply; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; import lombok.*; diff --git a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyForm.java b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyForm.java index d7cb62d1..d8d7fea2 100644 --- a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyForm.java +++ b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyForm.java @@ -1,13 +1,10 @@ package com.project.devidea.modules.content.study.apply; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.content.study.Study; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data diff --git a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyListForm.java b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyListForm.java index 37ad9673..727d9fc6 100644 --- a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyListForm.java +++ b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyListForm.java @@ -1,6 +1,5 @@ package com.project.devidea.modules.content.study.apply; -import com.project.devidea.modules.account.Account; import com.project.devidea.modules.content.study.Study; import lombok.Data; diff --git a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyRepository.java b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyRepository.java index 0e41d558..eb8db93b 100644 --- a/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyRepository.java +++ b/src/main/java/com/project/devidea/modules/content/study/apply/StudyApplyRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study.apply; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/project/devidea/modules/content/study/form/StudyDetailForm.java b/src/main/java/com/project/devidea/modules/content/study/form/StudyDetailForm.java index 4f932844..01d468df 100644 --- a/src/main/java/com/project/devidea/modules/content/study/form/StudyDetailForm.java +++ b/src/main/java/com/project/devidea/modules/content/study/form/StudyDetailForm.java @@ -1,19 +1,10 @@ package com.project.devidea.modules.content.study.form; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.content.study.Level; import com.project.devidea.modules.content.study.Study; -import com.project.devidea.modules.tagzone.tag.Tag; -import com.project.devidea.modules.tagzone.zone.Zone; -import lombok.Data; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotification.java b/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotification.java index 06600fd1..0f49cdc5 100644 --- a/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotification.java +++ b/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotification.java @@ -1,9 +1,7 @@ package com.project.devidea.modules.content.study.notification; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.repository.AccountRepository; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; -import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Component; @Component diff --git a/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotificationImpl.java b/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotificationImpl.java index 661faaea..71180900 100644 --- a/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotificationImpl.java +++ b/src/main/java/com/project/devidea/modules/content/study/notification/StudyNotificationImpl.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study.notification; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.InterestRepository; import com.project.devidea.modules.content.study.Study; import com.project.devidea.modules.content.study.StudyMember; diff --git a/src/main/java/com/project/devidea/modules/content/study/repository/StudyMemberRepository.java b/src/main/java/com/project/devidea/modules/content/study/repository/StudyMemberRepository.java index 6bb45e06..c8bae1a1 100644 --- a/src/main/java/com/project/devidea/modules/content/study/repository/StudyMemberRepository.java +++ b/src/main/java/com/project/devidea/modules/content/study/repository/StudyMemberRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.study.repository; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; import com.project.devidea.modules.content.study.StudyMember; import com.project.devidea.modules.content.study.StudyRole; diff --git a/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepository.java b/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepository.java index 2a6cd2eb..8780f6f8 100644 --- a/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepository.java +++ b/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepository.java @@ -1,5 +1,4 @@ package com.project.devidea.modules.content.study.repository; -import com.project.devidea.modules.account.Account; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; import com.project.devidea.modules.content.study.Study; diff --git a/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepositoryCustom.java b/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepositoryCustom.java index 398712a3..8ea094ba 100644 --- a/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepositoryCustom.java +++ b/src/main/java/com/project/devidea/modules/content/study/repository/StudyRepositoryCustom.java @@ -1,8 +1,6 @@ package com.project.devidea.modules.content.study.repository; -import com.project.devidea.modules.account.Account; import com.project.devidea.modules.content.study.Study; -import com.project.devidea.modules.content.study.form.StudyListForm; import com.project.devidea.modules.content.study.form.StudySearchForm; import org.springframework.data.jpa.repository.EntityGraph; diff --git a/src/main/java/com/project/devidea/modules/content/study/service/StudyService.java b/src/main/java/com/project/devidea/modules/content/study/service/StudyService.java index 00a5fd9f..e7eaabfc 100644 --- a/src/main/java/com/project/devidea/modules/content/study/service/StudyService.java +++ b/src/main/java/com/project/devidea/modules/content/study/service/StudyService.java @@ -1,25 +1,15 @@ package com.project.devidea.modules.content.study.service; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; -import com.project.devidea.modules.content.study.StudyMember; import com.project.devidea.modules.content.study.StudyRole; -import com.project.devidea.modules.content.study.apply.StudyApply; import com.project.devidea.modules.content.study.apply.StudyApplyForm; import com.project.devidea.modules.content.study.apply.StudyApplyListForm; import com.project.devidea.modules.content.study.exception.AlreadyStudyExistsException; import com.project.devidea.modules.content.study.form.*; -import com.project.devidea.modules.notification.Notification; -import com.project.devidea.modules.tagzone.tag.Tag; -import com.project.devidea.modules.tagzone.zone.Zone; import javax.validation.Valid; -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.HashSet; import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; public interface StudyService { //스터디관련 검색 및 조회 diff --git a/src/main/java/com/project/devidea/modules/content/study/service/StudyServiceImpl.java b/src/main/java/com/project/devidea/modules/content/study/service/StudyServiceImpl.java index 2fb94f90..7529839d 100644 --- a/src/main/java/com/project/devidea/modules/content/study/service/StudyServiceImpl.java +++ b/src/main/java/com/project/devidea/modules/content/study/service/StudyServiceImpl.java @@ -1,41 +1,28 @@ package com.project.devidea.modules.content.study.service; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.study.Study; import com.project.devidea.modules.content.study.StudyFactory; import com.project.devidea.modules.content.study.StudyMember; import com.project.devidea.modules.content.study.StudyRole; -import com.project.devidea.modules.content.study.aop.AlreadyExistError; import com.project.devidea.modules.content.study.apply.StudyApply; import com.project.devidea.modules.content.study.apply.StudyApplyForm; import com.project.devidea.modules.content.study.apply.StudyApplyListForm; import com.project.devidea.modules.content.study.apply.StudyApplyRepository; import com.project.devidea.modules.content.study.exception.AlreadyStudyExistsException; -import com.project.devidea.modules.content.study.exception.AlreadyStudyExistsException; import com.project.devidea.modules.content.study.exception.StudyNullException; import com.project.devidea.modules.content.study.form.*; import com.project.devidea.modules.content.study.repository.StudyMemberRepository; import com.project.devidea.modules.content.study.repository.StudyRepository; -import com.project.devidea.modules.notification.Notification; -import com.project.devidea.modules.notification.NotificationRepository; -import com.project.devidea.modules.tagzone.tag.Tag; -import com.project.devidea.modules.tagzone.tag.TagRepository; -import com.project.devidea.modules.tagzone.zone.Zone; -import com.project.devidea.modules.tagzone.zone.ZoneRepository; import lombok.RequiredArgsConstructor; import org.modelmapper.ModelMapper; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.ExceptionHandler; import javax.validation.Valid; -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.HashSet; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; @Service diff --git a/src/main/java/com/project/devidea/modules/content/suggestion/Suggestion.java b/src/main/java/com/project/devidea/modules/content/suggestion/Suggestion.java index b5878b70..025e2710 100644 --- a/src/main/java/com/project/devidea/modules/content/suggestion/Suggestion.java +++ b/src/main/java/com/project/devidea/modules/content/suggestion/Suggestion.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.suggestion; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.*; import javax.persistence.*; diff --git a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionController.java b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionController.java index e64fa2ac..7fe03db4 100644 --- a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionController.java +++ b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionController.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.suggestion; import com.project.devidea.infra.config.security.CurrentUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.exception.NotFoundException; import com.project.devidea.modules.content.suggestion.form.SuggestionRequest; import io.swagger.annotations.ApiOperation; diff --git a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionRepository.java b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionRepository.java index 0ed21b32..46475632 100644 --- a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionRepository.java +++ b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.suggestion; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionService.java b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionService.java index f3f1157c..e025e162 100644 --- a/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionService.java +++ b/src/main/java/com/project/devidea/modules/content/suggestion/SuggestionService.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.content.suggestion; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.mentoring.Mentee; import com.project.devidea.modules.content.mentoring.MenteeRepository; import com.project.devidea.modules.content.mentoring.Mentor; diff --git a/src/main/java/com/project/devidea/modules/notification/Notification.java b/src/main/java/com/project/devidea/modules/notification/Notification.java index bfc69db2..e8e8bd82 100644 --- a/src/main/java/com/project/devidea/modules/notification/Notification.java +++ b/src/main/java/com/project/devidea/modules/notification/Notification.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.notification; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import lombok.*; import javax.persistence.*; diff --git a/src/main/java/com/project/devidea/modules/notification/NotificationController.java b/src/main/java/com/project/devidea/modules/notification/NotificationController.java index 6d4def65..05e9157b 100644 --- a/src/main/java/com/project/devidea/modules/notification/NotificationController.java +++ b/src/main/java/com/project/devidea/modules/notification/NotificationController.java @@ -2,8 +2,7 @@ import com.project.devidea.infra.config.security.LoginUser; import com.project.devidea.infra.error.exception.EntityNotFoundException; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.content.techNews.TechSite; +import com.project.devidea.modules.account.domains.Account; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.Data; @@ -15,7 +14,6 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Optional; @RestController @RequiredArgsConstructor diff --git a/src/main/java/com/project/devidea/modules/notification/NotificationRepository.java b/src/main/java/com/project/devidea/modules/notification/NotificationRepository.java index e7cf12d2..7939a163 100644 --- a/src/main/java/com/project/devidea/modules/notification/NotificationRepository.java +++ b/src/main/java/com/project/devidea/modules/notification/NotificationRepository.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.notification; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/notification/NotificationService.java b/src/main/java/com/project/devidea/modules/notification/NotificationService.java index 209d13f3..82a480aa 100644 --- a/src/main/java/com/project/devidea/modules/notification/NotificationService.java +++ b/src/main/java/com/project/devidea/modules/notification/NotificationService.java @@ -1,8 +1,6 @@ package com.project.devidea.modules.notification; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.repository.InterestRepository; -import lombok.NoArgsConstructor; +import com.project.devidea.modules.account.domains.Account; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/project/devidea/modules/notification/aop/NotificationAop.java b/src/main/java/com/project/devidea/modules/notification/aop/NotificationAop.java index a936291b..8a5e9b14 100644 --- a/src/main/java/com/project/devidea/modules/notification/aop/NotificationAop.java +++ b/src/main/java/com/project/devidea/modules/notification/aop/NotificationAop.java @@ -1,7 +1,7 @@ //package com.project.devidea.modules.notification.aop; // // -//import com.project.devidea.modules.account.Account; +//import com.project.devidea.modules.account.domains.Account; //import com.project.devidea.modules.account.repository.AccountRepository; //import com.project.devidea.modules.notification.Notification; //import com.project.devidea.modules.notification.NotificationRepository; diff --git a/src/test/java/com/project/devidea/modules/ModuleGenerator.java b/src/test/java/com/project/devidea/modules/ModuleGenerator.java index 9a39d42a..a0d099e9 100644 --- a/src/test/java/com/project/devidea/modules/ModuleGenerator.java +++ b/src/test/java/com/project/devidea/modules/ModuleGenerator.java @@ -1,6 +1,6 @@ package com.project.devidea.modules; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.content.study.Study; import com.project.devidea.modules.content.study.StudyMember; import com.project.devidea.modules.tagzone.tag.Tag; diff --git a/src/test/java/com/project/devidea/modules/account/AccountControllerTest.java b/src/test/java/com/project/devidea/modules/account/AccountControllerTest.java index 255714a9..dd75dfad 100644 --- a/src/test/java/com/project/devidea/modules/account/AccountControllerTest.java +++ b/src/test/java/com/project/devidea/modules/account/AccountControllerTest.java @@ -5,6 +5,9 @@ import com.project.devidea.infra.config.security.CustomUserDetailService; import com.project.devidea.infra.config.security.LoginUser; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.dto.*; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.account.repository.InterestRepository; diff --git a/src/test/java/com/project/devidea/modules/account/AccountDummy.java b/src/test/java/com/project/devidea/modules/account/AccountDummy.java index 591ce0d4..7c5f736c 100644 --- a/src/test/java/com/project/devidea/modules/account/AccountDummy.java +++ b/src/test/java/com/project/devidea/modules/account/AccountDummy.java @@ -1,6 +1,9 @@ package com.project.devidea.modules.account; import com.project.devidea.infra.SHA256; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.dto.*; import com.project.devidea.modules.tagzone.tag.TagDummy; import com.project.devidea.modules.tagzone.zone.ZoneDummy; diff --git a/src/test/java/com/project/devidea/modules/account/AccountInfoControllerTest.java b/src/test/java/com/project/devidea/modules/account/AccountInfoControllerTest.java index e373e3c7..fe7ebd7c 100644 --- a/src/test/java/com/project/devidea/modules/account/AccountInfoControllerTest.java +++ b/src/test/java/com/project/devidea/modules/account/AccountInfoControllerTest.java @@ -4,12 +4,11 @@ import com.project.devidea.infra.config.security.CustomUserDetailService; import com.project.devidea.infra.config.security.LoginUser; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.*; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.buf.StringUtils; -import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestMethodOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; diff --git a/src/test/java/com/project/devidea/modules/account/AccountTest.java b/src/test/java/com/project/devidea/modules/account/AccountTest.java index 4800d0e9..bbae953b 100644 --- a/src/test/java/com/project/devidea/modules/account/AccountTest.java +++ b/src/test/java/com/project/devidea/modules/account/AccountTest.java @@ -1,5 +1,8 @@ package com.project.devidea.modules.account; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.dto.*; import com.project.devidea.modules.account.exception.AccountException; import com.project.devidea.modules.tagzone.tag.Tag; diff --git a/src/test/java/com/project/devidea/modules/account/InterestRepositoryTest.java b/src/test/java/com/project/devidea/modules/account/InterestRepositoryTest.java index a11591e9..d6229db8 100644 --- a/src/test/java/com/project/devidea/modules/account/InterestRepositoryTest.java +++ b/src/test/java/com/project/devidea/modules/account/InterestRepositoryTest.java @@ -1,14 +1,13 @@ package com.project.devidea.modules.account; import com.project.devidea.modules.ModuleGenerator; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.account.repository.InterestRepository; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagRepository; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; diff --git a/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImplTest.java b/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImplTest.java index 9d036cd2..672abdd6 100644 --- a/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryCustomImplTest.java @@ -1,12 +1,10 @@ package com.project.devidea.modules.account.repository; import com.project.devidea.infra.TestConfig; -import com.project.devidea.infra.config.security.CustomUserDetailService; -import com.project.devidea.infra.config.security.LoginUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; -import com.project.devidea.modules.account.Interest; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagDummy; import com.project.devidea.modules.tagzone.tag.TagRepository; @@ -14,19 +12,14 @@ import com.project.devidea.modules.tagzone.zone.ZoneDummy; import com.project.devidea.modules.tagzone.zone.ZoneRepository; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; -import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; import org.springframework.test.context.ActiveProfiles; -import org.springframework.transaction.annotation.Transactional; -import java.time.ZonedDateTime; import java.util.HashSet; import java.util.List; -import java.util.Optional; import java.util.Set; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryTest.java b/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryTest.java index d0b2eeb1..ad3921f5 100644 --- a/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryTest.java +++ b/src/test/java/com/project/devidea/modules/account/repository/AccountRepositoryTest.java @@ -1,8 +1,7 @@ package com.project.devidea.modules.account.repository; import com.project.devidea.infra.TestConfig; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.repository.AccountRepository; +import com.project.devidea.modules.account.domains.Account; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/project/devidea/modules/account/services/interest/InterestServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/interest/InterestServiceImplTest.java index 46d472fb..6d4643dc 100644 --- a/src/test/java/com/project/devidea/modules/account/services/interest/InterestServiceImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/services/interest/InterestServiceImplTest.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.interest; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.account.repository.InterestRepository; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagService; diff --git a/src/test/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImplTest.java index 3cb14c2a..9e2b8074 100644 --- a/src/test/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImplTest.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.services.mainActivityZone; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.repository.MainActivityZoneRepository; import com.project.devidea.modules.tagzone.zone.Zone; import com.project.devidea.modules.tagzone.zone.ZoneService; diff --git a/src/test/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImplTest.java index 7cbc819f..20a56ccc 100644 --- a/src/test/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImplTest.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.account.services.signUp; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.event.SendEmailToken; import com.project.devidea.modules.account.repository.AccountRepository; diff --git a/src/test/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImplTest.java index bacfb3e9..baeb20ff 100644 --- a/src/test/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImplTest.java @@ -1,6 +1,6 @@ package com.project.devidea.modules.account.services.signUp; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.repository.AccountRepository; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImplTest.java index b0b6d97d..d9505621 100644 --- a/src/test/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImplTest.java +++ b/src/test/java/com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImplTest.java @@ -1,8 +1,8 @@ package com.project.devidea.modules.account.services.signUpDetail; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.Interest; -import com.project.devidea.modules.account.MainActivityZone; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; import com.project.devidea.modules.account.dto.SignUp; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.account.services.interest.InterestService; diff --git a/src/test/java/com/project/devidea/modules/account/util/LoginServiceUtilTest.java b/src/test/java/com/project/devidea/modules/account/util/LoginServiceUtilTest.java index 93dfc4da..c422f1ba 100644 --- a/src/test/java/com/project/devidea/modules/account/util/LoginServiceUtilTest.java +++ b/src/test/java/com/project/devidea/modules/account/util/LoginServiceUtilTest.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.account.util; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/src/test/java/com/project/devidea/modules/community/CommunityControllerTest.java b/src/test/java/com/project/devidea/modules/community/CommunityControllerTest.java index 5c1f1442..6fd80feb 100644 --- a/src/test/java/com/project/devidea/modules/community/CommunityControllerTest.java +++ b/src/test/java/com/project/devidea/modules/community/CommunityControllerTest.java @@ -7,10 +7,9 @@ import com.project.devidea.infra.config.security.LoginUser; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; import com.project.devidea.infra.error.exception.EntityNotFoundException; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; -import com.project.devidea.modules.community.CommunityRepository; import com.project.devidea.modules.community.form.RequestCommunity; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/com/project/devidea/modules/community/CommunityDummy.java b/src/test/java/com/project/devidea/modules/community/CommunityDummy.java index 9a6c6739..d34221ac 100644 --- a/src/test/java/com/project/devidea/modules/community/CommunityDummy.java +++ b/src/test/java/com/project/devidea/modules/community/CommunityDummy.java @@ -1,9 +1,6 @@ package com.project.devidea.modules.community; -import com.project.devidea.modules.account.Account; -import com.project.devidea.modules.account.AccountDummy; -import com.project.devidea.modules.notification.Notification; -import com.project.devidea.modules.notification.NotificationType; +import com.project.devidea.modules.account.domains.Account; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/com/project/devidea/modules/community/CommunityRepositoryTest.java b/src/test/java/com/project/devidea/modules/community/CommunityRepositoryTest.java index 4e53d775..5500e527 100644 --- a/src/test/java/com/project/devidea/modules/community/CommunityRepositoryTest.java +++ b/src/test/java/com/project/devidea/modules/community/CommunityRepositoryTest.java @@ -2,7 +2,7 @@ import com.project.devidea.infra.TestConfig; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/com/project/devidea/modules/community/CommunityServiceTest.java b/src/test/java/com/project/devidea/modules/community/CommunityServiceTest.java index 7dfa30dd..d08b08ea 100644 --- a/src/test/java/com/project/devidea/modules/community/CommunityServiceTest.java +++ b/src/test/java/com/project/devidea/modules/community/CommunityServiceTest.java @@ -2,7 +2,7 @@ import com.project.devidea.infra.config.security.CustomUserDetailService; import com.project.devidea.infra.config.security.LoginUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.community.form.RequestCommunity; @@ -10,7 +10,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; diff --git a/src/test/java/com/project/devidea/modules/content/mentoring/MenteeControllerTest.java b/src/test/java/com/project/devidea/modules/content/mentoring/MenteeControllerTest.java index 2588341b..04059090 100644 --- a/src/test/java/com/project/devidea/modules/content/mentoring/MenteeControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/mentoring/MenteeControllerTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.account.WithAccount; import com.project.devidea.modules.content.mentoring.form.CreateMenteeRequest; diff --git a/src/test/java/com/project/devidea/modules/content/mentoring/MentorControllerTest.java b/src/test/java/com/project/devidea/modules/content/mentoring/MentorControllerTest.java index 40311d7b..ae76ef95 100644 --- a/src/test/java/com/project/devidea/modules/content/mentoring/MentorControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/mentoring/MentorControllerTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.account.WithAccount; import com.project.devidea.modules.content.mentoring.form.CreateMentorRequest; diff --git a/src/test/java/com/project/devidea/modules/content/mentoring/account/WithAccountSecurityContextFactory.java b/src/test/java/com/project/devidea/modules/content/mentoring/account/WithAccountSecurityContextFactory.java index 06a31cda..d1f03f1a 100644 --- a/src/test/java/com/project/devidea/modules/content/mentoring/account/WithAccountSecurityContextFactory.java +++ b/src/test/java/com/project/devidea/modules/content/mentoring/account/WithAccountSecurityContextFactory.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.content.mentoring.account; import com.project.devidea.infra.config.security.CustomUserDetailService; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/src/test/java/com/project/devidea/modules/content/resume/CareerControllerTest.java b/src/test/java/com/project/devidea/modules/content/resume/CareerControllerTest.java index a6060a12..75d2a063 100644 --- a/src/test/java/com/project/devidea/modules/content/resume/CareerControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/resume/CareerControllerTest.java @@ -2,13 +2,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.account.WithAccount; import com.project.devidea.modules.content.resume.career.Career; import com.project.devidea.modules.content.resume.career.CareerRepository; import com.project.devidea.modules.content.resume.form.career.CreateCareerRequest; -import com.project.devidea.modules.content.resume.form.career.UpdateCareerRequest; import com.project.devidea.modules.tagzone.tag.Tag; import com.project.devidea.modules.tagzone.tag.TagRepository; import org.junit.jupiter.api.BeforeEach; @@ -18,8 +17,6 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.http.MediaType; -import org.springframework.security.core.context.SecurityContext; -import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.test.web.servlet.MockMvc; import org.springframework.transaction.annotation.Transactional; diff --git a/src/test/java/com/project/devidea/modules/content/resume/ResumeControllerTest.java b/src/test/java/com/project/devidea/modules/content/resume/ResumeControllerTest.java index 6badcb82..55298ec2 100644 --- a/src/test/java/com/project/devidea/modules/content/resume/ResumeControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/resume/ResumeControllerTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.account.WithAccount; import com.project.devidea.modules.content.resume.career.Career; diff --git a/src/test/java/com/project/devidea/modules/content/study/StudyControllerTest.java b/src/test/java/com/project/devidea/modules/content/study/StudyControllerTest.java index 4ba439a4..baf4a08e 100644 --- a/src/test/java/com/project/devidea/modules/content/study/StudyControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/study/StudyControllerTest.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.WithAccount; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.study.apply.StudyApply; import com.project.devidea.modules.content.study.apply.StudyApplyForm; diff --git a/src/test/java/com/project/devidea/modules/content/study/StudyDomainTest.java b/src/test/java/com/project/devidea/modules/content/study/StudyDomainTest.java index 9571ddfa..85ace371 100644 --- a/src/test/java/com/project/devidea/modules/content/study/StudyDomainTest.java +++ b/src/test/java/com/project/devidea/modules/content/study/StudyDomainTest.java @@ -1,6 +1,6 @@ //package com.project.devidea.modules.content.study; // -//import com.project.devidea.modules.account.Account; +//import com.project.devidea.modules.account.domains.Account; //import com.project.devidea.modules.account.AccountRepository; //import com.project.devidea.modules.content.study.repository.StudyMemberRepository; //import com.project.devidea.modules.content.study.repository.StudyRepository; diff --git a/src/test/java/com/project/devidea/modules/content/study/StudyServiceTest.java b/src/test/java/com/project/devidea/modules/content/study/StudyServiceTest.java index 850f7f79..e8f65e0c 100644 --- a/src/test/java/com/project/devidea/modules/content/study/StudyServiceTest.java +++ b/src/test/java/com/project/devidea/modules/content/study/StudyServiceTest.java @@ -2,7 +2,7 @@ import com.project.devidea.infra.config.AppConfig; import com.project.devidea.modules.ModuleGenerator; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.study.apply.StudyApplyRepository; import com.project.devidea.modules.content.study.form.StudyDetailForm; diff --git a/src/test/java/com/project/devidea/modules/content/suggestion/SuggestionControllerTest.java b/src/test/java/com/project/devidea/modules/content/suggestion/SuggestionControllerTest.java index e2fc0d42..f9dd3053 100644 --- a/src/test/java/com/project/devidea/modules/content/suggestion/SuggestionControllerTest.java +++ b/src/test/java/com/project/devidea/modules/content/suggestion/SuggestionControllerTest.java @@ -2,7 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.mentoring.Mentee; import com.project.devidea.modules.content.mentoring.MenteeRepository; diff --git a/src/test/java/com/project/devidea/modules/notification/NotificationControllerTest.java b/src/test/java/com/project/devidea/modules/notification/NotificationControllerTest.java index 293d47a5..3a3b95a9 100644 --- a/src/test/java/com/project/devidea/modules/notification/NotificationControllerTest.java +++ b/src/test/java/com/project/devidea/modules/notification/NotificationControllerTest.java @@ -3,31 +3,21 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.project.devidea.infra.MockMvcTest; -import com.project.devidea.infra.WithAccount; import com.project.devidea.infra.config.security.CustomUserDetailService; import com.project.devidea.infra.config.security.LoginUser; import com.project.devidea.infra.config.security.jwt.JwtTokenUtil; -import com.project.devidea.infra.error.exception.BusinessException; import com.project.devidea.infra.error.exception.EntityNotFoundException; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; -import org.hamcrest.CoreMatchers; -import org.hamcrest.MatcherAssert; -import org.hamcrest.beans.HasPropertyWithValue; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.security.test.context.support.WithUserDetails; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; diff --git a/src/test/java/com/project/devidea/modules/notification/NotificationRepositoryTest.java b/src/test/java/com/project/devidea/modules/notification/NotificationRepositoryTest.java index be5b0fbf..904b0dac 100644 --- a/src/test/java/com/project/devidea/modules/notification/NotificationRepositoryTest.java +++ b/src/test/java/com/project/devidea/modules/notification/NotificationRepositoryTest.java @@ -1,7 +1,7 @@ package com.project.devidea.modules.notification; import com.project.devidea.infra.TestConfig; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/com/project/devidea/modules/notification/NotificationServiceTest.java b/src/test/java/com/project/devidea/modules/notification/NotificationServiceTest.java index fd33fdf2..09fbef0c 100644 --- a/src/test/java/com/project/devidea/modules/notification/NotificationServiceTest.java +++ b/src/test/java/com/project/devidea/modules/notification/NotificationServiceTest.java @@ -2,7 +2,7 @@ import com.project.devidea.infra.config.security.CustomUserDetailService; import com.project.devidea.infra.config.security.LoginUser; -import com.project.devidea.modules.account.Account; +import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.repository.AccountRepository; import com.project.devidea.modules.content.study.Study; From f134829844a4e12c925ac726a056771cc128d691 Mon Sep 17 00:00:00 2001 From: kobeomseok95 <37062337+kobeomseok95@users.noreply.github.com> Date: Sun, 2 May 2021 21:21:02 +0900 Subject: [PATCH 02/16] =?UTF-8?q?refactor=20:=20Account=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executionHistory/executionHistory.bin | Bin 3537331 -> 3801334 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/6.8.2/fileHashes/fileHashes.bin | Bin 338687 -> 385564 bytes .gradle/6.8.2/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .gradle/6.8.2/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/workspace.xml | 193 ++++++++++------ .../compileJava/source-classes-mapping.txt | 104 ++++++--- .../modules/account/AccountController.java | 36 --- .../controllers/GetAccountInfoController.java | 61 ++++++ .../UpdateAccountInfoController.java} | 74 ++----- .../AccountRepositoryCustomImpl.java | 6 +- .../account/services/AccountBasicService.java | 24 -- .../account/services/AccountInfoService.java | 32 --- .../account/services/AccountService.java | 8 - .../services/Delete_AccountServiceImpl.java | 206 ------------------ .../services/info/GetAccountInfoService.java | 19 ++ .../info/GetAccountInfoServiceImpl.java | 64 ++++++ .../info/UpdateAccountInfoService.java | 21 ++ .../info/UpdateAccountInfoServiceImpl.java | 97 +++++++++ .../account/util/AccountToManyUtil.java | 32 +++ 21 files changed, 518 insertions(+), 459 deletions(-) delete mode 100644 src/main/java/com/project/devidea/modules/account/AccountController.java create mode 100644 src/main/java/com/project/devidea/modules/account/controllers/GetAccountInfoController.java rename src/main/java/com/project/devidea/modules/account/{AccountInfoController.java => controllers/UpdateAccountInfoController.java} (56%) delete mode 100644 src/main/java/com/project/devidea/modules/account/services/AccountBasicService.java delete mode 100644 src/main/java/com/project/devidea/modules/account/services/AccountInfoService.java delete mode 100644 src/main/java/com/project/devidea/modules/account/services/AccountService.java delete mode 100644 src/main/java/com/project/devidea/modules/account/services/Delete_AccountServiceImpl.java create mode 100644 src/main/java/com/project/devidea/modules/account/services/info/GetAccountInfoService.java create mode 100644 src/main/java/com/project/devidea/modules/account/services/info/GetAccountInfoServiceImpl.java create mode 100644 src/main/java/com/project/devidea/modules/account/services/info/UpdateAccountInfoService.java create mode 100644 src/main/java/com/project/devidea/modules/account/services/info/UpdateAccountInfoServiceImpl.java create mode 100644 src/main/java/com/project/devidea/modules/account/util/AccountToManyUtil.java diff --git a/.gradle/6.8.2/executionHistory/executionHistory.bin b/.gradle/6.8.2/executionHistory/executionHistory.bin index 71f25f8f79bdb6fc3911109b88021804ea78aa1e..556815693ca9770b45cf1f1e415fe52a7d993d81 100644 GIT binary patch delta 95466 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 F{vQSEgy{eP diff --git a/.gradle/6.8.2/executionHistory/executionHistory.lock b/.gradle/6.8.2/executionHistory/executionHistory.lock index 935f1944a4b8dacc6419bd78ed00b7e8f756f968..5e43c157c287f8507fb6a7dcbdb6dead6c229124 100644 GIT binary patch literal 17 VcmZSn@V|O*tcKkK1~6cK0{}nX1-}3Q literal 17 VcmZSn@V|O*tcKkK1~6c~2LM0N1+f4C diff --git a/.gradle/6.8.2/fileHashes/fileHashes.bin b/.gradle/6.8.2/fileHashes/fileHashes.bin index 56d750b6c1bee279e3b5c64ae46d90339e1e7b7a..077e994136cdcc170d0ce5819e6152cda0c71a9d 100644 GIT binary patch delta 23328 zcma)kc{o*H)c-wqAmcTLt3u{E4Td6_=eQaqnGzYAG)t0HlG&x5zNw^1rAWF(lY}Bd zRHmX-N*Pj_ig%y0Prv7Vum1S$=W*`YYp>5*Yfo#hea=26o25=ZmMNGoi%lH3YoXem#Vuw+=ytM_luI`V`$8B ztu%^E>>EV%nP0?ED5EkD+&!>tt=&6Bd`aQlQ;K0Oi=Hbo>-%aFJ-}Ho+k_ccKs^+$ zv<}g#28se_V^rqe1%<(^-cqC{i9yY8=%mvI#leIIjnsI!?eW9-q9#D0=- zgmX_lgt_6S*ZuniQHYi{$(gBP!c4W9%;h_~1<|Va6uD@O(wKJgNh9`tClN6tzQ{}` z9#gNTAF%yTc>obxohQkZ{JOj=w2Sot(d&QdxVHGK6D{q$@kBQw^(Kuy3d@n$!o56&ZgsYjPtOy{?74ctpbbeSZ? zudB*2&6ic#yhKGl__wqlL8RGB5x>-j5{StUHaKQbs5Bx|IHza2z%B}9jxeM!iqhH( z=}e!z2jv+pW{CBbPmxI%93vX%y8eq;;(>^7{fgq>SGeDvmTQZMof<`&A94hl z9#2cROy73}5!*#MW&MTBylEN!M?NSb+OthXAp_zVbNT$Lvs?VnAYvw)6FykTENa@( zJxgm3qWMsZ=8f5++K`(MHoBagY|Ls!Y~0klWV-{;PIa+h>ugo z)!U3kP?;_jW{P*K8xXbXJ~$PQnK0Lxs2*2sT7-zre4s8IQ)2#?TjF|4N)!>(Gr1qb zvDpHmRRKHaUVDOw&mVFp_F!;~2%M|=D!le7qE`L_v-Vc!kvi1!ZBub?ST(ZWyu!y)#C<5V=Yu>u;D=GmARV`Z_{F~;Q3(iX9tK?z=X{69@~!5Gn)(9p=VNSU#i@+Gp|T1@Y?#G$&Bx*~rvCgVGx97yBkEf{ z?(=Jy0hPJDK0&H+vWMh7z#T5Y@}@EK9?uy*(=-iHUp)fg4i>{yf4pUFed#4c?3f0a zC76k*<+bU@^gih$Vmfzm30BS!^-+|ImHmon^((>f12{7D7CvxU)tP~aPi_O|LpX+9 zHhh{>E5SmbGiKlaZxZ>~hdm&dsJWmpczRC1XM22>Rg_4#*h)gydlJnSjx zPhY`ARP9Xe^KzW3r&PJGvrh$4YbU^~$5m2!H?Hcn9i1<92`>F~b z-A(@X#X@dmAGEb|ho4|3H0JR?6-DQ-oIt!UthwsXFz8g4%&*fJ8M=X}I^JMcEfm}D zxbfOfsum(Z}Hr8L~VWdw-WCt>Brnu zMY0k7)eo?~0k%VsKyTc=_Zo=!%#_P)#N4S=JvorJfp&;{r1(64x-Ap2W_;s5&ZJtvF>H2W3ZJB=F_;N|^d5e>0}yZ5Y><&d zeX6Y1x}mRCAP*5=tNm?;zrPfUoIm$=E_Lk;OoS`{kg7>#N*=l5gDwe1GLaZ%4e+94aR`kSF3>PE1jy5;<8Qx2SvXrO~>XC?A@tfOL zONCyyT)h{BNt5wT%RwMtPaRcfZK!I_O}>U$8)g3r4paYCd*%Fu1){%bgfRSohg7w3A#VI_kN_ zuC#EBseI+8TI3Hh%6TEdoyn$!(3qOiB_Hid$ocM@&W&15gKc=JFu!PIi#n29J)LW_ zk`~X;th*P^KAQL(QJc%?s>WM zb=g+L+PV)&uZ67bd3Vw;OpsxA+isw{mKMTPING}V`}a+VQ)`l&w3Y@3{S(tWmML`7 zou}1uD*|YFa4WHW|M2P!I*7M!4hRgQWif@4EFYMCQboi!$GJa)Xc&VT@3C;6Ls%%H z)}8<|D0gx&h7h=6x1IUD_0z{&&BeSxq8^It+59c&MxY;VYlp*9obAUp{M}i(6!fV1mCHzm!JaBjTg*6=$H&&}W5o=e5 zi!6q#j{uRX3>Igmza(yrO)J2rQ3=Cr-f@&JvSfuNVnq}rWL$3@koYDxUhy8mY!$&w zPddwS(E4Iq(B?3m$G<~9`F2|$BujCvFo`(B3y&F^Cmk=yH4Ojum6%zwRXco)MCgK~ zR@glMc@oWF8wtL-VT2jB=|F)^-W~+(zqbIS2_QRdqe0|qqK$0xKt6eQ1H2{g%7M5S zDy;!l27$kW z&1(qxcA_AMypsf_dQkp1#9}7{zTsH~ZvtUAgOe1%0&Fs;2=3vw#FANM(2r+}$*dZv z^+wWlL7^~}1>}6_W9|*V6sm7}->B@ZOj8cK{}B3gyen?ii%#4Jj)P|AkNDpb(!`D z-52-&{9fFq@zGk#`WcDvLI{C_plg^WDU%U5M{=frN5vV-Q>O;A){soTK=3^rK);_W z|M;^^K5~WSvYoj*+F|ra7#4s;F#a)swk}C%{H*^E@dH+@p6+_qBe}J2(Ic`{qN=X!s{EF%_~@e1kx$n`5Zo601{BC9=Iqh$-ZR zNuUZ|c$DbVcT2aaz1`_Kd);TR8&U}*!hrx#_{ygubfj9kfYDmI7<6DZI{>y4dbYr| z#4NCh06CR#8UZpJ3$Cvv2D(ig=z@2`5P_UIg>M5V#zzw91<)mNDq0LE3}2!zfgdCb zK{7N4PXZuj0ZkI51t2XcATI!k<$yNw?idhRhiE~-oV*JK;pCk+$R+OrKr_6ZljC18avqsN6TtAt%56awyvf{_+2#uh0A%wEA9n;{3OS zGn?2i+OLsH;N-;@CJ8x7NZ-LJwJ03WChF+eGV;Bz<((r^JAL+DblR~_P!LK^6T?iZYfRH)Pe z02el7YJgeTJr4hoOzVJB4CJDR65ZpF1LQ-I&JludG@8Rsfmx>~TX!tmA?)u_dY3GH4e6tU@$nP)(z zv_D}O?E27QDb-mEiu7QY;Z=5o;_)O80}Wn8V%dYcuQ?tI_s#X+U(}lFLL$N-Cq5wM z3a3Kknp><7{>c8W7CFk7lJ#SRgplzLYXbDH##HeL#&IuES=szES5`~3Ie#}g)_Ht= z=;DVY;4sLS#aQmsr8IxY8-NpXjk^jhnppM$h$^hu?EF3jvc^%Gb(lm{f2N9=Wiy4 zm*YyHWCXKsVRkXB2CN~TB;nxTH6`=rPXSXE=NI!2-z&?CIW~?=aY9dMDKobKgDr$9 zPJ$ptg~3v+ThCXyiDh;)Q|{cZ!`^qv4swzq6i}w$0-1=PeG5F;f^4$|gXEnvh&G01 znS~QpIxPo1v8i>L zYxK@hx~}zb)XUi7E81s2l7hA%K{6^}D4eJZy9~_Sifm&6SMp8)#GpH;bAY)Jn$>Gl zyEpi=QdCdS#q!r)bxx7+9}nShn~D|J3B{4RRyhE=TOjpB#SuzznfB>E zuqUB4K{=FDRY4fR);L&zszOx%Z%XY#tCp{pv1KlZuoE@+qJ$9ge)CBB3 zFdI*17vQD%KEufr6?`KL_5pu0$fvLq!FGZFcET*1%I9>PlrDG7K1aaRW> z$-7EmunW~%6bh)TOq);SZ*d{x#0m&30-#N-Hd;7NJ~FqqAdbdcO_?i8iw(l)k8Y-jS72$D$xG0hH# zzdX}Rzuf2HfZ3%udtf|2uXy)v(quQFtp#1xkF{I0jgxoy^gp}C*>yv?b6l{h|S~dZXy2jHlxQWTW>0<R_hD55)Dl7JbWRoaKL8Nk2>W|xuKQ=kmMrT)-9`drzZBbzRSKFZ1xe5PMD zUu_M!=V5;VejRj{LO|BT)jAbLHNnb@l_tB2MoCLxkcKA_;C~X6j5axW()ruWc@bOg zx-{(_Y`j1+wIL=^xZv|PT4uZA$5*q(3npr|-*!k{pKtr=e=+dWh; zc8)W8eoqc*^g}2ICP5f?TVj&ziecv97~7Knr{JHhGAqPL5%&?3v>N>784jha;3Sra z=8O+Ir6#LoZ?iulbsN|mNh2N=xb6fw ze{VH85B9?DRiF}^c2^aU5JRAsrh|JiaL;yU9##3!xt(eGK>wjj8(V9*_Ujg_UY22oJ=r?82udZU9ne2Ww}sxs-joPb6nq!-N47ETWL+!2 zlzE#K>_HfN9fT1BY%`jqw-vJjI?31Sld$ADU0xV?PT)6Ax4 z{>g#gYKGOMDGGpj2vyn~SfD%CA`r6{(>1~?S%CyHTj4KHKlWZJ{ZFScdHHJf-CsTRW;lZ!1X0a)r4K!dzff**8%*g5ezTl(8&4&{B7aN6N9pDG!QNar?}m= zssQVy%Gdad(y>F_u+>PE`%v=gF*7H4CG{>Y3^1FRvbmeCjldqB<6rSB(W95 zoP)v`2}pJtn3;gMF9BC{=b#H>$h*0q5Z_AHB4!5-@BtRUO{KdAs)K+E5D7v%3%5@o zW;bd7H(;SoWhp*>u|4g`$Yq-j3(FTyhhA8r)?veV4^Q(QLFsNP;SAWy;B6vd1=|>i zC!sqlFd2k)1#Cx-#cudOGKnym?GB>9(O3#U9IXy_t+njXk~ydFtLuyolJ1&|q>F;V zY)sN|x4iVjTB(9Ni?xliXXh?HPBL9YOj5D%muK8euat^#acvyO8U~wtR?-iXMh5}$ zJycdSGt0R3tZu_+o#p`#iTij@60rf^~$I||JE?ghrP%9?0k3ek-YW{f8 zr3k0DTq?n5p92h1;gC*U<=LEay13=pexo_L>JxB-iPzu$IZ`!!IWXUgy41c2D1@T! zv$q0l^46vrGz>uP*`XMEpk5EO(~!P2U=W3d4?7!#&xWe=(va$_pezk~mN2o;hBrZo z^-lqh+hvXZWGx+}k!l&x^#wkB>Yt4SJIuhjs=MU~BiD z9irNeeV1}LKD~;sbrkw7ytUN@kPzk%Af8B*R9F>P)cn)x?ke$Bd%a(7fnh4aB#xM- zUE};oBqo{q4A2FIIxcdqZo3_mD6mU?^_XNj!;j=wLj3&i;V)0Mm4dF{@RP~U=2PsP z=hQW`i$rV!{ibl}_+}DYa&__{2t9bJfDFyPdgE8l{lNu7m53#-pIZ?h`W0zebedOf!$4 z{fd}GL17D&>~)H+gE@u>Pp9ZPaHI-$fBERezXrN6+-`6Lu~IwXFHcQJKW=-pUiab! zeJjOxnj*2VW(1-fq%Ebh+;2AMQZ%w{5_|4lwxWIVB4S~kVK+Y{Pe5?0ybpg057)kq zG*H+#!&F5r>J%X_#JdS0=r)}25J?3y%eoCZ-LHOJd6W6t-FiOa@xi6RMC}1FgK$fJ z;0%3KHaTNnou_U20P||NaZ=fmCpfFfp5H$}jWV6Z&Cj9#z+^w^)MwcZ54IbapT2rV z>^u?T>jY=!gQQNl|9>=X{aUTZMIL-F3Nmx*Y!guhQ{Zy|JTVzyD3@*>EnTqpX=crg zl8_ze`AtJ*+Ywh*3E~pG41akVPFW>$zqVrQrpKuljQ2WQ!`Oiscjpm8G<_<<0%27@D9E=QP@ zyPT_Vo-T|jP*ZL?g?>DhUIxZy%~bplfY>td@CYVx^eo@|0u&gL+asM`?B6V@u;Cf) z=&XB)^Y~uGDeODCJ2XB*Eauj^ZxCHyX-=cWyuns}{`pFmtR(_%)SKWwT;j6Om=uq zEwy(zn=!M!5OE&MK%C-@Aomj8TJdL$`5uEd-4H>KZ!ff17Q~!^t=NjVn3aG(kG=(C zad+p@l`tl&^1({cqC-R>qi!uX^)fx2&OC7C(#gwNe2DsTj5~6TuE8%>^5??bM*;GK zi2PhR+wg}*-!QK6U{)I+m#S|)~N~8DR=`D13n&OpfR;E2~Wqd+>RCL2su6;z+O%Wl0 z6p1{J#ZgHh(*Zm0GpEb9`r@uc2je=QH!jD_$cDLrIK_yV$6a@hh)|5a&yt^2VXxkv z{&op5Wx%x>Poj?S!ZXhI7=n%u<7&s-o3WT(j}l2&2*@Z&xD`C>fbAX8XA*V3iKhK< z%M*{olH1`h#QQIU3^Vv+xpUso&tmS|91~*TODb9ARfzVE2R!>#` z)avB0V+ZP!p~N++=R3H^g(#>0wfGicQA^j?+a2Bu-80%#hZ7#`e` zPI@R+LC@O$@dA&1Es39=DOVS&l0wqs5E~VgEuu+sSH7qFV6r{S^e=*acZcS7b(b8w zq!&o)gKxj#BW3s2fOYo`_|3dRLymWghDm)#rK$Mi1(?Lozza_gBuY<@eKE}NN;8Sb zxc6=qKSBUD&JW)~?Eq!dF-e(a=}$`be(q1XZ}`A7XBqOT!I=S|D~8IFHLz-`9yV~1 z?Yh?W>({BS7E(k9*w6+ei)$a?B3ZN|X4kwoHlbhrj8C|Cn=2!hjAW!`nj-w=u}k}` zuHOE!m6^h;X1v_f?plHnS$YUDQ)Vi{^Xg(+#LM-Ccf}iPtA|$TAVlT>!K?fS)Li2Z4?h`9iZI0jY>IVNT~?ux=)qlp6sE&!eA_s z4+`UHEN-PCjp_fotAu5hfv9b^MYR_2oYl~W z{i3EjiV>0H4Z0@jSU@j53*?-^I5Y(HcH-*;Gaj#*A~Gr!aX0O)^H~wIVY+Dn^y_FH|a+PIz0z z{_GsbdG3{`UcZ^Sl-lf1#zDv7P6AJSgP?Z?W2d{D`k90l&o}Rqvj&>py-J3CiuY~m zF~r4yvyOK(REu?%@QDirS2y%&c}%31BScmZLI^+M_-~h#3AddWG4L1KF1Rbt>L0bET0<^o+%z7hj}Kkd31R46g@ zqIGFYVMK!`K4W;{nPIiNGY>!WEm)=+nfU#CTn+gO&6Ps{C<@L~5p-Y6;}^^=`j7Rh zh-cUL5_1x2lSc><7#{o|9V_6Wuf-S47C9s--)~)EBK;rR`5CIVt2BZvgb~mGfj~s` z*8u69+pAWYn%&m2Emei%A8)9o&}HFC%NT^Lq^pCz*^Iex*4_lJDhyrVrp$Os*BPn0 z2nJ`vR)=?2@B-rQI=)~Kcg4Up4Q^&?RTxsjkOle!JWcyaY!r{F!j^>8yP#K@!2$-V zjAM%3^NNow4S9b=KK*w>V8x3SxG6CFIf#JNbmAqWg2MF`@r)A}#saxjcFog|Af{y8 zrNTsi&&jcu0=jAp$@SxbXK)f!$$}T2-Z&^WKj!#8;or;_gT=KeXI~>R$9f3>1-m#E z@ngj!-zab6nYq7T4K$oJk3op6B;vtynHoddY&`Hh3CGI`+*#CgC>9e&0$9te*qs51(p>*5S*IvQ5r(h#F;?Xc=G$JN3! z5LO7scNhNhXga@0^FWLp zluhWsha|DW!T60ABJk9rGezIL?sAc_=gDNn<0NDiQX>9&D#GNkgOK8~^s)&`&~^o? zTnC9DXABK)8&|_uRUEx^-@_x?eXg7MKDK@JBbj`VSiwqQqRCLh&w#*?3QvqZL@4F3 z@92_8*FkT@Wt^YRn-A{a$KIf39cWm z_{8D|Y_te};SdhIwFqzJuoI-f*I)|CN9Gq_e1BH%^3TAp6;!ufu|Ol1)>hb@PZFkwt?(}@FCx0 z4-tyvGQY1vdWGKRCVx)^sl$~3Pki<8!qYx0FK5WEEHUVM_T>BQt!Cw^q%v&+K;d_t zir7O734Ze+^8(nrWXt0GX1JBaBDBAs#1~XL{No3Oy70KkQ{h1MNUoAsvACixjm7XQMk`JlW#Z`ef;?e2>ok5AMh$bSP!3H{Vm#4JrAvrz#TXWNqG z%)3`E!l4G8)eXZYpxZ!WMfcB0-Pyj@?8JqD6f&Nj`FmpD!2E|&FRC9ly z$3MG>$9gN7!%B#?{wvq{BK~QD=fW!S;;m>MW4yS;J$MP~Qa3s$e|6KSDdMes{MRxg zWBu1g+XLnxy7wvW*F5}tjBe~?T;U8j%3xyDKI8tljO)ue{Fpk@hh`n4mBqEbN_Ai` z&&JAak6WQaO4z_XSV--nG5Pj>(to@NJtkmuECg$csZW{3GOpu$kB|{tqa&Dc3s!jF z#{AWb@4|x{xUM(VK$uG%5i=i>Ole(Tj*lov%}@ouxzre@*49Vnr=O!mozcF8yZtt` z2UA({Ysn4qY2-$pQLpm1ZhwE_8K{;*C1VuT$wvR^9~a&;dwy2qfuXQa6LRo)YY{KM zWeW}|-CCnMYBDdzpIhUp(2oY55d}C+&{&SlD@%=kHYubjtnw<|xnMAl9F}C<^{@F= z?As-5azECiS#!*7{WNd5@Z$s7=n)XV3gxw%>U`(h{y?tfMRlXf~`uMI- zx)8~fg_sz!@R!GSOwcTGla&A1SkmZG&c2_^ktOLH5n@{KRK$+R422fGZv8LJ@o?Yg z?>kAvbI6IG>}BBlR30U1m%F1?WGP^RlmaBX0AQ%{LsDEe2=Jw=SRnfh; z3xqAu;0Ct6hF|uCE4^)6CyU1@kXZeOOKYLFz)!-Gug#Ru(?Ha!)!Y|tRJga}`92B2 z?~{VXwhrHk6Hu4>JJ&n8%R2DSzj(e{0`RM)Lgtc%^B?YBj8-Yeli8r{Ep!W*@o>#m zxfe)RXCk+zlgj2}?z^QPrq_A{QJal{$5*{Y34giADV`4(8w^-aU()kGbqpY4Qxn*C0%HTIergs~4t{an ziCl-HNcCbJ{uD(@VS!Xf$SRN8%X6Q^k#M5bCzlPuJP61KZA?fk}4hQ|I8*4K+)8%; zTrUYF!gaw#Nej!}&Ivsr5jTm$Ozz1I)!DTTF^}Y~9+Nv+|M4eTiti9$;{O6KJn~*CKC$fV zUmf)3#$xQ{ozlZ30(LW=1Xck5Rq%|DfsOL?IX9vMPwZQ5WitB`$prfePyE;6g-7hn zqZvw^?KK@q5qFMSIypKZgxv@MpvW!;;vG;dSamG7tXtYIG+^+_J~4j8WRD>xQJ1M= z1J~DwuMAJ0-)^<*znbOM#Mp*!YDqsQx)gt?>~PYgd6X7B_*r#j%X~wl1xTu`6Ozg= zJXNaLsYh*#x>J^ZHSkL;-EFs%M0fx*XN<*`F1b)SRwuHJ{U_JHLGJQmvJ?dv6#nd~ z@*XsYO;4m0>tD`(+;Py-HHJi>um-*y8=MDUa9)zQ>iWtnaN5vb*PhIshObE`OVUh$ zS<)moSIDGDWN*9O5h`fr(kk9@9x>U>B$>EVb@#MMxVg53r?D2z>N@EXN(2t@P>wc< z$iWeRU9OPW9!u%2<)dVH*!86-{0IDe-LG%imW$s01cK3Zn3MG@gn7EzXz1CiKZsUw zylC{7CjB4(D#4S^%-?#bdv^61#95Wd37O3L*S}A|m}Q;5ntr*D5o673ZUlyZ;5Qc@><>KBK$pR#N_GzWJKHc}7)2K4AMimqy6Lt!Z&m9%@m zC*9gQ4jYVcva3juHK6MPT{3zW-)QQ`>V<#Ut1OuFw$TxjeHvn7;n5I}rJA9~?EANT zUXD2ynARQGNV*rh+X%t`4~L{9UZOzzHMZUAfOBnAK~^Ox7Wxi6iTz^^ zy;!3sUlA{P`Pq&HtLs9kaP`3rfj*2#BA1CHP73ljtiJ``WL>pbE>4Cxj-~*4c(a+XLkL+9r7{IBzr>h2jq3op7S!poGQ<9x&qfwpaeArL|K+Ne zENSXuu=yf<`oEy<+^4IhL9C`kQQzK6uV83Pbl^=KPrTagqD!))Dsm5BEtDGN6vlhm z&s`29JwizsViI7%U!IDLZLwMugY6h=>ds1f1KklRb_5}Wh=&TmMFl@2qcifH10D?F z=fiYH8r#9(5In}J>;BxdCFkAb!HCE|@Juv(|_^^A9ROIyO(!QyaCy!aH*fH>{{0symB#iK|_4uMl(EG-kmtUUk#bS7zQ8Q z;o+su&{6=H%i!6=$Ilkb&y~27@_T-fTB!H;b@j6?Tv!Ozu*2~5uP-Pecby^`;&qIb5NGzW#e|NO#X zo!`9a#byoT67gy(nk!mi=M&+6091gFGk$zF@HG4CUNPCY+Ux-JD|3|Q%?iAVLv%vC ze?v}~^oe)sj@?HT>&?>}*G*!(*Vi(4?#C?|p`AQI@K9zq!e1V-W?C-07IKa%jx>L> zn)CHkIw|%%XE1=}e(IW$?#_pM4tcKU?qBlxJTdd&TcB_x&LZX?;@-Y{f@KJ(DCoap zy~yIiH5QAQWjhxw3zP*l#7i>;lVuP4zG#(P*{2w}PA6g!(&DG zL5&fsHSe>}{J8sg5@*u>o~@5`(?h1}zPX`n)(YyyM;ptcKuP@Kzg0mi3PntBDq^2l zf*)V>dzWfq{l>{hHpHBSZ3>+x5$THJQ;ny+oQDj<>rQWEw=AA{w>j1i?V*CxKHw18 zah>qOgRp2hJra_cESFT*P^+=P1UfjPOP=bOCTuI@TtZF>37o_EU%Nz?N0C0oY4uJn6(&dRO`a@-FnEP(HZqeMsC^X{D}TkAKX z>T<7fD``R(7=)jdN55aTg70zBnYZe*I8LfspNOCi9?W<}Xrl=3ovLkY$BZqL-fD4< z?wz@omqu?PZOLyDLih4i#QI>@T?#Mi63o|EZ2c2`)Qz+c-?!kyhW?N46c}w%ND6yl zVr{oa&_1mCD1scb=7{fS$;vc&_WW05p5UKe5gWjB?g)dw@kmbzbZ}NL=JDt`PrKzlbQGy^GE653x z4&L582tNIrk*h=M8xCKb;JmvY*ozQpM8rU$7!haU9aq}!I5b_~rXe%(HRZMJ^>>IV zWj-O5GW#EaNWw+Wtw3LGUw8R?lcifXe}{ySL7AIJr4d>ic=za^aQxZ=XD%9m?MCK&SLNx&CgcnA z=O|oU;am$&C(UG~O-20o^!%a6?@r7=S|c4@Uc2c%LS#W#N4S6m!&4z;fqI!r*?sT! zFI`#lmfLd%LUtEgJ3+UPr|FIG!ef?oKv!3={iF4-H>RcS@BVI!5ap!9lgF1n9z=x5 zwbJi4b~D2^E}u5+R)LNP!&gw{xC;19;#YX#f%v3YhK+q&GpW9!?2GI(1v5g4?I~NJ zqz(_SJXxEW_$_CmK5Opa>FCO7GN_)%tAPs>V@0>i1q9e&BCV09z>+yU?o=kko>mY_vRa0z&M1Mq= z>SxcQ9!SH_Ru#@D_A@qn$0f8X9j_`rITtqx_6rO_@Fe&WUU;-&mmfZV zo1VI3p6uYy&(7-@NZuW?5~8QkTeh{g8g_eKzcVB4g9qP^H+ZbKd#liHYyJe~Y{{dVhs*Ia^g9U%ly zu#yV9Ykv6qie)%g#jK&<@%O`dVBkc~DEfP#8%S7?$CQ?;j51i{gfN`#k-Z z7`<4=nyp7js=>nG%r* zF)|ZJz_DuE$}z~4R9NwYo_&BmpkBHrO!18q^y|3T5!}PUv@o3bv@1HxE+b~#3tsz;Otx=9?r>ye7XhG1VrBf` zsX3*JY@KtnBWzB587B?N!4XiA0#wQiar519XzQK&1joAmuPNn8WXFzN#369MWCbrg zO76$b4f^ekGGi$QdEHg_seuxM8m^dhRoNtVg-JwIBaqM?{mr$Occs z#6h`egOg$*PhSPE-5{&da_*0^63O%yF$v)-KacJYBe`R3JL0;296VH>y;uu20U;Le zIGAK^!wU~W<7%c*ZS~TH+k4N5%6@Gj_B%Qwqk@prAO1<;UYrN=;aftYRk!?&tq&#k ztxG#0j+BhbLr$1P@nOq@*aOnM4|4m0&vGseoC{qaPa@zq!V2)2mor!RV)72~tZnb2 z;qvfrU1Vu9A&x@Jm@2QT83k#CwD=1>!mI@YvI0M(hllYK^l0 z>2sPdPv9N{j=Iq=oTwEn_lnqa|Gjzm$@Rm+mfYoDTnSV-CWjH{iVtNR;w;%r`43gNO%aF=q$J-w5nv`0e=D*Llbzd_Eck~3n z0|CVU(H92nmDcxPwd%g!sIoHGxf{Ai0s)%~PfI|<9Jq1lcItBpYJH?}aNm-{(*6s{ z88?QzW|*v}!3&S&mv4@>9hkjUqG-deh*z!KVUOZs$EgH>Vj?pYF|>wHe>3eUBRfRv z+#bGOa>9<|oN!W8bcp}t;CTFg^KtjO%5^%faUv>j&SIooe941JV+OqNSYny~(sWfo zY=VAx#wz3Yhd+{tlOPO(``F2czF64V;LP39OBeIkoBSY4&w*@Ms^Gjj;nw*26JOkG zCYR_6KiEx{UMG}M>_M6pO_F_H?bB_)kDKDYR2+HE?A`kYG5sdnTptcCUX!S$+h@L& z$uvkmB9da7HoTNXk9)_*1&C=R1~IWlK$;$1a+b)~ zxRuF0y6&G$ByyTV;9$g?`Hv)Gq6175K8QV5Hhg=7QKXGjPEOBVw@~Pd2`1V9&7`RM zzP0*XmR(k5WXs0+4CXnKNf9v_(Lm02s-(k;%(!2J1wU+EU+<}jA10P+sLld03B|%+ zp4Ly>GVZajbMUKuRrU@WZINfB*g)XBA1<(mztd)yo$CJ~HaGU<3d*i3vJ}oOJgEzU z_Xp7Uo}dGfSeh;!R&D|;j-~10gMPvYgvY{9%CzfGG-&l0Psnt8_tbAZpn;@Jz-GnM zbilp`zgf5!i~p-D2+9ZYd~kW}|C_%JT=2ZoL9)CHMC18ofAb@t5YNjbljV~@KN&rK zndArl$@srVS^eYbhW57-6wSCzYp!9Npng0ASVE|$&qXYoz{=W#o1n>+J Xv_#SpGQm{>Pye5W;9@fo0vYl@N?zRG delta 10811 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 a_oVhZ+IARi75Lt;o`Q&|DZWM*i~j)uR5@b+ diff --git a/.gradle/6.8.2/fileHashes/fileHashes.lock b/.gradle/6.8.2/fileHashes/fileHashes.lock index 568d88f4e31639ff4bae8f4faaf9b8269749d769..0539afa445432a8e8287fc89c719f1b2dc8ce3c2 100644 GIT binary patch literal 17 VcmZQR)-}74+huwV0~kE$0su2D1uOsn literal 17 VcmZQR)-}74+huwV0~p-83IH=~1#tiX diff --git a/.gradle/6.8.2/javaCompile/javaCompile.lock b/.gradle/6.8.2/javaCompile/javaCompile.lock index 8879fb0cdd08a546d5b051eb774db0df203033df..6a97ee0d21e2cfda2672c06f9c92b785e6892e26 100644 GIT binary patch literal 17 UcmZS1)lk*`q+6fD00u$N03_@LBLDyZ literal 17 UcmZS1)lk*`q+6fD00u$!03<~Nd;kCd diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 09a36556c87ecebcf74dafb81e141d2d27dabaf9..80d57db1f86d7f7ae18551033d062f9b1465decb 100644 GIT binary patch literal 17 VcmZRU+_Gw^1M{pX1~A~30RSqF1AYJi literal 17 VcmZRU+_Gw^1M{pX1~B0I0{|;*1YH0C diff --git a/.idea/workspace.xml b/.idea/workspace.xml index cf340553..ca98b2fb 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -29,7 +29,28 @@ + + + + + + + + + + + + + + + + + + + + + @@ -186,81 +207,115 @@ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - + + + @@ -207,7 +190,7 @@ - + - - - - - - true - true - false - - - - - - - - true - true - false - - - + - - + + + + + + + + + + + + + + - + + + - - - + @@ -428,7 +400,7 @@ file://$PROJECT_DIR$/src/main/java/com/project/devidea/modules/account/domains/Account.java 246 - + - + - - - - + - - - - - - true - true - false - + + + + + + + - - - - - - true - true - false - + + + + + + + @@ -295,11 +281,11 @@ + + - - @@ -373,7 +359,7 @@ - @@ -400,7 +386,7 @@ file://$PROJECT_DIR$/src/main/java/com/project/devidea/modules/account/domains/Account.java 246 - + - + + + - + - + - - - + @@ -257,35 +259,33 @@ - + - - + + - - diff --git a/src/test/java/com/project/devidea/modules/account/AccountServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/AccountServiceImplTest.java deleted file mode 100644 index f027f6b2..00000000 --- a/src/test/java/com/project/devidea/modules/account/AccountServiceImplTest.java +++ /dev/null @@ -1,378 +0,0 @@ -//package com.project.devidea.modules.account; -// -//import com.project.devidea.modules.environment.Environment; -//import com.project.devidea.modules.environment.EnvironmentRepository; -//import com.project.devidea.infra.config.security.LoginUser; -//import com.project.devidea.infra.error.exception.ErrorCode; -//import com.project.devidea.modules.account.dto.*; -//import com.project.devidea.modules.account.event.SendEmailToken; -//import com.project.devidea.modules.account.exception.AccountException; -//import com.project.devidea.modules.account.repository.AccountRepository; -//import com.project.devidea.modules.account.repository.InterestRepository; -//import com.project.devidea.modules.account.repository.MainActivityZoneRepository; -//import com.project.devidea.modules.tagzone.tag.Tag; -//import com.project.devidea.modules.tagzone.tag.TagRepository; -//import com.project.devidea.modules.tagzone.zone.Zone; -//import com.project.devidea.modules.tagzone.zone.ZoneRepository; -//import org.junit.jupiter.api.Test; -//import org.junit.jupiter.api.extension.ExtendWith; -//import org.mockito.InjectMocks; -//import org.mockito.Mock; -//import org.mockito.junit.jupiter.MockitoExtension; -//import org.modelmapper.ModelMapper; -//import org.springframework.context.ApplicationEventPublisher; -//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -// -//import java.util.*; -// -//import static org.junit.jupiter.api.Assertions.assertEquals; -//import static org.junit.jupiter.api.Assertions.assertThrows; -//import static org.mockito.Mockito.*; -// -//@ExtendWith(MockitoExtension.class) -//class AccountServiceImplTest { -// -// @Mock -// ModelMapper modelMapper; -// @Mock -// BCryptPasswordEncoder passwordEncoder; -// @Mock -// AccountRepository accountRepository; -// @Mock -// TagRepository tagRepository; -// @Mock -// InterestRepository interestRepository; -// @Mock -// ZoneRepository zoneRepository; -// @Mock -// MainActivityZoneRepository mainActivityZoneRepository; -// @Mock -// ApplicationEventPublisher publisher; -// @Mock -// EnvironmentRepository projectEnvironmentRepository; -// @InjectMocks -// AccountServiceImpl accountServiceImpl; -// -// @Test -// void 회원가입_일반() throws Exception { -// -//// given -// SignUp.CommonRequest request = mock(SignUp.CommonRequest.class); -// Account account = mock(Account.class); -// when(accountServiceImpl.saveAccount(request)).thenReturn(account); -// -//// when -// accountServiceImpl.signUp(request); -// -//// then -// verify(publisher).publishEvent(any(SendEmailToken.class)); -// verify(modelMapper).map(account, SignUp.Response.class); -// } -// -// @Test -// void 회원가입_saveAccount_동작() throws Exception { -// -//// given -// SignUp.CommonRequest request = mock(SignUp.CommonRequest.class); -// Account account = mock(Account.class); -// when(accountRepository.save(any())).thenReturn(account); -// -//// when -// Account saved = accountServiceImpl.saveAccount(request); -// -//// then -// verify(accountRepository).save(any()); -// } -// -// @Test -// void 프로필_가져오기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// when(accountServiceImpl.getProfile(loginUser)) -// .thenReturn(AccountDummy.getAccountProfileResponseDtoAtMockito()); -// -//// when -// Update.ProfileResponse accountProfileResponseDto = -// accountServiceImpl.getProfile(loginUser); -// -//// then -// verify(modelMapper).map(loginUser.getAccount(), Update.ProfileResponse.class); -// } -// -// @Test -// void 프로필_업데이트() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.ProfileRequest request = -// mock(Update.ProfileRequest.class); -// when(accountRepository.findByEmail(account.getEmail())) -// .thenReturn(Optional.of(account)); -// -//// when -// accountServiceImpl.updateProfile(loginUser, request); -// -//// then -// verify(accountRepository).findByEmail(account.getEmail()); -// verify(account).updateProfile(request); -// } -// -// @Test -// void 패스워드_변경() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.PasswordRequest updatePasswordRequestDto = mock(Update.PasswordRequest.class); -// String changePassword = "{bcrypt}1234"; -// when(passwordEncoder.encode(any())) -// .thenReturn(changePassword); -// when(accountRepository.findByEmail(account.getEmail())) -// .thenReturn(Optional.of(account)); -// -//// when -// accountServiceImpl.updatePassword(loginUser, updatePasswordRequestDto); -// -//// then -// verify(accountRepository).findByEmail(account.getEmail()); -// verify(updatePasswordRequestDto).getPassword(); -// verify(passwordEncoder).encode(updatePasswordRequestDto.getPassword()); -// verify(account).updatePassword(any()); -// } -// -// @Test -// void 관심기술_가져오기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// when(accountRepository.findByEmailWithInterests(loginUser.getUsername())).thenReturn(account); -// -//// when -// accountServiceImpl.getAccountInterests(loginUser); -// -//// then -// verify(accountRepository).findByEmailWithInterests(loginUser.getUsername()); -// } -// -// @Test -// void 관심기술_수정하기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.Interest interestsUpdateRequestDto = mock(Update.Interest.class); -// List tags = new ArrayList<>(); -// Tag tag = mock(Tag.class); -// tags.add(tag); -// -// when(accountRepository.findByEmailWithInterests(loginUser.getUsername())) -// .thenReturn(account); -// when(tagRepository.findByFirstNameIn(interestsUpdateRequestDto.getInterests())) -// .thenReturn(tags); -// -//// when -// accountServiceImpl.updateAccountInterests(loginUser, interestsUpdateRequestDto); -// -//// then -// verify(accountRepository).findByEmailWithInterests(loginUser.getUsername()); -// verify(tagRepository).findByFirstNameIn(interestsUpdateRequestDto.getInterests()); -// verify(interestRepository).deleteByAccount(account); -// verify(account).updateInterests(any()); -// verify(interestRepository).saveAll(any()); -// } -// -// @Test -// void 활동지역_가져오기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// when(accountRepository.findByEmailWithMainActivityZones(loginUser.getUsername())) -// .thenReturn(account); -// -//// when -// accountServiceImpl.getAccountMainActivityZones(loginUser); -// -//// then -// verify(accountRepository).findByEmailWithMainActivityZones(loginUser.getUsername()); -// } -// -// @Test -// void 활동지역_수정하기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.MainActivityZone mainActivityZonesUpdateRequestDto = -// mock(Update.MainActivityZone.class); -// List zones = new ArrayList<>(); -// Zone zone = mock(Zone.class); -// zones.add(zone); -// -// when(accountRepository.findByEmailWithMainActivityZones(loginUser.getUsername())) -// .thenReturn(account); -// when(zoneRepository.findByCityInAndProvinceIn(any(), any())) -// .thenReturn(zones); -// -//// when -// accountServiceImpl.updateAccountMainActivityZones(loginUser, mainActivityZonesUpdateRequestDto); -// -//// then -// verify(accountRepository).findByEmailWithMainActivityZones(loginUser.getUsername()); -// verify(mainActivityZonesUpdateRequestDto).splitCityAndProvince(); -// verify(zoneRepository).findByCityInAndProvinceIn(any(), any()); -// verify(mainActivityZoneRepository).deleteByAccount(account); -// verify(account).updateMainActivityZones(any()); -// verify(mainActivityZoneRepository).saveAll(any()); -// } -// -// @Test -// void 닉네임_가져오기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// String nickname = "1234"; -// when(loginUser.getAccount()).thenReturn(account); -// when(account.getNickname()).thenReturn(nickname); -// -//// when -// accountServiceImpl.getAccountNickname(loginUser); -// -//// then -// verify(loginUser).getAccount(); -// verify(account).getNickname(); -// } -// -// @Test -// void 닉네임_변경하기() throws Exception{ -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// String username = "username"; -// String changeUsername = "changeUsername"; -// Account account = mock(Account.class); -// Update.NicknameRequest request = mock(Update.NicknameRequest.class); -// when(loginUser.getUsername()).thenReturn(username); -// when(request.getNickname()).thenReturn(changeUsername); -// when(accountRepository.findByEmail(username)) -// .thenReturn(Optional.of(account)); -// -//// when -// accountServiceImpl.updateAccountNickname(loginUser, request); -// -//// then -// verify(loginUser).getUsername(); -// verify(account).changeNickname(request.getNickname()); -// } -// -// @Test -// void 알림_설정_가져오기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.Notification response = mock(Update.Notification.class); -// when(loginUser.getAccount()).thenReturn(account); -// -//// when -// accountServiceImpl.getAccountNotification(loginUser); -// -//// then -// verify(loginUser).getAccount(); -// verify(modelMapper).map(account, Update.Notification.class); -// } -// -// @Test -// void 알림_설정_수정하기() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// Update.Notification request = mock(Update.Notification.class); -// when(loginUser.getUsername()).thenReturn("email"); -// when(accountRepository.findByEmail(loginUser.getUsername())) -// .thenReturn(Optional.of(account)); -// -// -//// when -// accountServiceImpl.updateAccountNotification(loginUser, request); -// -//// then -// verify(accountRepository).findByEmail(loginUser.getUsername()); -// verify(account).updateNotifications(request); -// } -// -// @Test -// void 회원_탈퇴() throws Exception { -// -//// given -// LoginUser loginUser = mock(LoginUser.class); -// Account account = mock(Account.class); -// String email = "email"; -// when(loginUser.getUsername()).thenReturn(email); -// when(accountRepository.findByEmail(any())).thenReturn(Optional.of(account)); -// -//// when -// accountServiceImpl.quit(loginUser); -// -//// then -// verify(accountRepository).findByEmail(any()); -// verify(account).changeToQuit(); -// } -// -// @Test -// void 메일_인증() throws Exception{ -//// given -// String email = "email"; -// String token = "token"; -// Account account = mock(Account.class); -// Environment environment = mock(Environment.class); -// String url = "url"; -// when(accountRepository.findByEmail(email)).thenReturn(Optional.of(account)); -// when(projectEnvironmentRepository.findByDescription(any())) -// .thenReturn(environment); -// when(environment.getUrl()).thenReturn(url); -// -//// when -// String returnUrl = accountServiceImpl.authenticateEmailToken(email, token); -// -//// then -// verify(account).validateToken(token); -// assertEquals(returnUrl, url); -// } -// -// @Test -// void 메일_인증실패_회원이_없을_경우() throws Exception { -// -//// given -// String email = "email"; -// String token = "token"; -// when(accountRepository.findByEmail(email)) -// .thenThrow(new AccountException("회원을 찾을 수 없습니다.", ErrorCode.ACCOUNT_ERROR)); -// -//// when, then -// assertThrows(AccountException.class, () -> accountServiceImpl.authenticateEmailToken(email, token)); -// } -// -// @Test -// void 프론트_URL_가져오기() throws Exception { -// -// // given -// Environment environment = mock(Environment.class); -// String front = "FRONT"; -// when(projectEnvironmentRepository.findByDescription(front)) -// .thenReturn(environment); -// when(environment.getUrl()).thenReturn(anyString()); -// -// // when -// accountServiceImpl.getFrontURL(); -// -// // then -// verify(projectEnvironmentRepository).findByDescription(front); -// verify(environment).getUrl(); -// } -//} diff --git a/src/test/java/com/project/devidea/modules/account/AccountTest.java b/src/test/java/com/project/devidea/modules/account/domains/AccountTest.java similarity index 98% rename from src/test/java/com/project/devidea/modules/account/AccountTest.java rename to src/test/java/com/project/devidea/modules/account/domains/AccountTest.java index bbae953b..dd511255 100644 --- a/src/test/java/com/project/devidea/modules/account/AccountTest.java +++ b/src/test/java/com/project/devidea/modules/account/domains/AccountTest.java @@ -1,5 +1,6 @@ -package com.project.devidea.modules.account; +package com.project.devidea.modules.account.domains; +import com.project.devidea.modules.account.AccountDummy; import com.project.devidea.modules.account.domains.Account; import com.project.devidea.modules.account.domains.Interest; import com.project.devidea.modules.account.domains.MainActivityZone; diff --git a/src/test/java/com/project/devidea/modules/account/services/info/GetAccountInfoServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/info/GetAccountInfoServiceImplTest.java new file mode 100644 index 00000000..1357879b --- /dev/null +++ b/src/test/java/com/project/devidea/modules/account/services/info/GetAccountInfoServiceImplTest.java @@ -0,0 +1,104 @@ +package com.project.devidea.modules.account.services.info; + +import com.project.devidea.infra.config.security.LoginUser; +import com.project.devidea.modules.account.AccountDummy; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.dto.Update; +import com.project.devidea.modules.account.repository.AccountRepository; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.modelmapper.ModelMapper; + +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +class GetAccountInfoServiceImplTest { + + @Mock ModelMapper modelMapper; + @Mock AccountRepository accountRepository; + @InjectMocks GetAccountInfoServiceImpl getAccountInfoService; + + @Test + void 프로필_가져오기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + when(getAccountInfoService.profile(loginUser)) + .thenReturn(AccountDummy.getAccountProfileResponseDtoAtMockito()); + +// when + Update.ProfileResponse response = + getAccountInfoService.profile(loginUser); + +// then + verify(modelMapper).map(loginUser.getAccount(), Update.ProfileResponse.class); + } + + @Test + void 관심기술_가져오기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + when(accountRepository.findByEmailWithInterests(loginUser.getUsername())).thenReturn(account); + +// when + getAccountInfoService.interests(loginUser); + +// then + verify(accountRepository).findByEmailWithInterests(loginUser.getUsername()); + } + + @Test + void 활동지역_가져오기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + when(accountRepository.findByEmailWithMainActivityZones(loginUser.getUsername())) + .thenReturn(account); + +// when + getAccountInfoService.mainActivityZones(loginUser); + +// then + verify(accountRepository).findByEmailWithMainActivityZones(loginUser.getUsername()); + } + + @Test + void 닉네임_가져오기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + String nickname = "1234"; + when(loginUser.getAccount()).thenReturn(account); + when(account.getNickname()).thenReturn(nickname); + +// when + getAccountInfoService.nickname(loginUser); + +// then + verify(loginUser).getAccount(); + verify(account).getNickname(); + } + + @Test + void 알림_설정_가져오기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + when(loginUser.getAccount()).thenReturn(account); + +// when + getAccountInfoService.notification(loginUser); + +// then + verify(loginUser).getAccount(); + verify(modelMapper).map(account, Update.Notification.class); + } +} \ No newline at end of file diff --git a/src/test/java/com/project/devidea/modules/account/services/info/UpdateAccountInfoServiceImplTest.java b/src/test/java/com/project/devidea/modules/account/services/info/UpdateAccountInfoServiceImplTest.java new file mode 100644 index 00000000..2a0df2e3 --- /dev/null +++ b/src/test/java/com/project/devidea/modules/account/services/info/UpdateAccountInfoServiceImplTest.java @@ -0,0 +1,208 @@ +package com.project.devidea.modules.account.services.info; + +import com.project.devidea.infra.config.security.LoginUser; +import com.project.devidea.modules.account.domains.Account; +import com.project.devidea.modules.account.domains.Interest; +import com.project.devidea.modules.account.domains.MainActivityZone; +import com.project.devidea.modules.account.dto.Update; +import com.project.devidea.modules.account.repository.AccountRepository; +import com.project.devidea.modules.account.repository.InterestRepository; +import com.project.devidea.modules.account.repository.MainActivityZoneRepository; +import com.project.devidea.modules.account.util.AccountToManyUtil; +import com.project.devidea.modules.tagzone.tag.Tag; +import com.project.devidea.modules.tagzone.tag.TagRepository; +import com.project.devidea.modules.tagzone.zone.Zone; +import com.project.devidea.modules.tagzone.zone.ZoneRepository; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Set; + +import static org.mockito.Mockito.*; +import static org.mockito.Mockito.verify; + +@ExtendWith(MockitoExtension.class) +class UpdateAccountInfoServiceImplTest { + + @Mock AccountRepository accountRepository; + @Mock BCryptPasswordEncoder passwordEncoder; + @Mock TagRepository tagRepository; + @Mock InterestRepository interestRepository; + @Mock ZoneRepository zoneRepository; + @Mock MainActivityZoneRepository mainActivityZoneRepository; + @Mock AccountToManyUtil accountToManyUtil; + @InjectMocks UpdateAccountInfoServiceImpl updateAccountInfoService; + + @Test + void 프로필_업데이트() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + Update.ProfileRequest request = + mock(Update.ProfileRequest.class); + when(accountRepository.findByEmail(account.getEmail())) + .thenReturn(Optional.of(account)); + +// when + updateAccountInfoService.profile(loginUser, request); + +// then + verify(accountRepository).findByEmail(account.getEmail()); + verify(account).updateProfile(request); + } + + @Test + void 패스워드_변경() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + Update.PasswordRequest request = mock(Update.PasswordRequest.class); + String changePassword = "{bcrypt}1234"; + when(passwordEncoder.encode(any())) + .thenReturn(changePassword); + when(accountRepository.findByEmail(account.getEmail())) + .thenReturn(Optional.of(account)); + +// when + updateAccountInfoService.password(loginUser, request); + +// then + verify(accountRepository).findByEmail(account.getEmail()); + verify(request).getPassword(); + verify(passwordEncoder).encode(request.getPassword()); + verify(account).updatePassword(any()); + } + @Test + void 관심기술_수정하기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + Update.Interest request = mock(Update.Interest.class); + List tags = new ArrayList<>(); + Tag tag = mock(Tag.class); + tags.add(tag); + Set interestSet = mock(Set.class); + + when(accountRepository.findByEmailWithInterests(loginUser.getUsername())) + .thenReturn(account); + when(tagRepository.findByFirstNameIn(request.getInterests())) + .thenReturn(tags); + when(accountToManyUtil.createInterestSet(account, tags)) + .thenReturn(interestSet); + + +// when + updateAccountInfoService.interest(loginUser, request); + +// then + verify(accountRepository).findByEmailWithInterests(loginUser.getUsername()); + verify(tagRepository).findByFirstNameIn(request.getInterests()); + verify(interestRepository).deleteByAccount(account); + verify(account).updateInterests(interestSet); + verify(interestRepository).saveAll(interestSet); + } + + + @Test + void 활동지역_수정하기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + Update.MainActivityZone request = + mock(Update.MainActivityZone.class); + List zones = new ArrayList<>(); + Zone zone = mock(Zone.class); + Set mainActivityZoneSet = mock(Set.class); + + zones.add(zone); + + when(accountRepository.findByEmailWithMainActivityZones(loginUser.getUsername())) + .thenReturn(account); + when(zoneRepository.findByCityInAndProvinceIn(any(), any())) + .thenReturn(zones); + when(accountToManyUtil.createMainActivityZoneSet(account, zones)) + .thenReturn(mainActivityZoneSet); + +// when + updateAccountInfoService.mainActivityZones(loginUser, request); + +// then + verify(accountRepository).findByEmailWithMainActivityZones(loginUser.getUsername()); + verify(request).splitCityAndProvince(); + verify(zoneRepository).findByCityInAndProvinceIn(any(), any()); + verify(mainActivityZoneRepository).deleteByAccount(account); + verify(account).updateMainActivityZones(mainActivityZoneSet); + verify(mainActivityZoneRepository).saveAll(mainActivityZoneSet); + } + + @Test + void 닉네임_변경하기() throws Exception{ + +// given + LoginUser loginUser = mock(LoginUser.class); + String username = "username"; + String changeUsername = "changeUsername"; + Account account = mock(Account.class); + Update.NicknameRequest request = mock(Update.NicknameRequest.class); + when(loginUser.getUsername()).thenReturn(username); + when(request.getNickname()).thenReturn(changeUsername); + when(accountRepository.findByEmail(username)) + .thenReturn(Optional.of(account)); + +// when + updateAccountInfoService.nickname(loginUser, request); + +// then + verify(loginUser).getUsername(); + verify(account).changeNickname(request.getNickname()); + } + + @Test + void 알림_설정_수정하기() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + Update.Notification request = mock(Update.Notification.class); + when(loginUser.getUsername()).thenReturn("email"); + when(accountRepository.findByEmail(loginUser.getUsername())) + .thenReturn(Optional.of(account)); + + +// when + updateAccountInfoService.notification(loginUser, request); + +// then + verify(accountRepository).findByEmail(loginUser.getUsername()); + verify(account).updateNotifications(request); + } + + @Test + void 회원_탈퇴() throws Exception { + +// given + LoginUser loginUser = mock(LoginUser.class); + Account account = mock(Account.class); + String email = "email"; + when(loginUser.getUsername()).thenReturn(email); + when(accountRepository.findByEmail(any())).thenReturn(Optional.of(account)); + +// when + updateAccountInfoService.quit(loginUser); + +// then + verify(accountRepository).findByEmail(any()); + verify(account).changeToQuit(); + } +} \ No newline at end of file From 219a56427bbef81ae995a515d4aabce749ab0ab1 Mon Sep 17 00:00:00 2001 From: kobeomseok95 <37062337+kobeomseok95@users.noreply.github.com> Date: Sun, 2 May 2021 23:10:05 +0900 Subject: [PATCH 07/16] merge refactor_accountupdate_test branch --- .../executionHistory/executionHistory.bin | Bin 3801334 -> 3801334 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/6.8.2/fileHashes/fileHashes.bin | Bin 385564 -> 386064 bytes .gradle/6.8.2/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .gradle/6.8.2/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/workspace.xml | 63 +- .../compileJava/source-classes-mapping.txt | 619 ------------------ 8 files changed, 28 insertions(+), 654 deletions(-) delete mode 100644 build/tmp/compileJava/source-classes-mapping.txt diff --git a/.gradle/6.8.2/executionHistory/executionHistory.bin b/.gradle/6.8.2/executionHistory/executionHistory.bin index 67520dd43ed83e89319211cd4f4935885c1a9c39..0dd455b05a43766403f8b0bfead5856266407a59 100644 GIT binary patch delta 7119 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 YJip{tGe2o1@A1Pob~w;Hfp(w&0XFX?H2?qr delta 6680 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 Rc9bWgy6%8G%>@___;1o~hn4^U diff --git a/.gradle/6.8.2/executionHistory/executionHistory.lock b/.gradle/6.8.2/executionHistory/executionHistory.lock index d8138c7b5cfe4e3f317dce8e88b5877fb682a5f1..f4ff26ce64fa74e48d4051815f8434e3fc4ec338 100644 GIT binary patch literal 17 VcmZSn@V|O*tcKkK1~6d#1^_?k1<3#a literal 17 VcmZSn@V|O*tcKkK1~6d#002MY1;YRU diff --git a/.gradle/6.8.2/fileHashes/fileHashes.bin b/.gradle/6.8.2/fileHashes/fileHashes.bin index 0634ff8e95b53fbe80d8108320bf2179070a4004..0ab664e57f2789dbae30707cc1bd45112a325bb5 100644 GIT binary patch delta 5452 zcmZWtdtB6I*7r9vzZ4JUqHP=SgZC$&_p65B!KfCk!0N?L<&iS5mp4;y? zlzuv3-?;%t$NMRM$0qm{E8e417R?y+(W^bgN4>fASj)iOiuYWPbI#;x!`OK1@Uieg z9s`u9EbCZ@b*yrDlHzoXNmfEVy+1hi{N13YL$2Ug9Pt~JK$Ef&UF+1>9gm8YM_$U` z9L{%@jlI1ue6Tuo>KUiYb+BV$qhdEHA&x;`Dcyfnyc~m0X*&CONBw2OvPT~oU0$~x z4=-wxdnt*IP>WipaSZ!LbLtJ{nB&eI?P?FNUKP7EHFsS#_IE_QrtQ#qE1w<wYjX{!uxB*iuhI9pB>61%oB*!N>=g&C#6$KBb*XcjD%^q2&)K0zHm%gE+(Mj8SYh!PTF*+AS1a=Cn6c)uY9)*_6-4yB+%7YV?Y-%>dMAl`JieNbu~0a zx>Vq~6scuLiUgG!AwhFe`4l=BxU-D^N)b`%gE~LjX_1oEK8>W6x?m4W?H^dZUr(eh zRrEN%QtXe)QD~)M0>Su=!32cG@|99K8HuSfw-e51sp`5^S<*w8CK9_YS>+r&A}0?^ z<;$GFf0a#1)??->sXrIiVJcmit7K{Okh@9<*8Bra5>$MLE(Uk8WfF-_O_Pq9Xb>!w zSr&Gt$s%{+U@NIzV)I_yljfSo@Lw(K{1}l8K7mz&%6fQDCZV>~QnnFy*xZWGg;2;E zadaxb;>ri@;iI#7jVQgg2R5yds^6fF!3|uOplTX?){5g<74GU84YO#;;?{~RRdW$F zi54J_*%G`%zNFU+S0t!h3XgQz&O%hBQ*klrvN#K(GKlSFwnB`Fg-K!aeKsFN;#6`n zu9G1)l&m8b#SCZ@EQ?vW7!v|j!c3s5AG+D{D?-*w%Ts8YMiH6oW!*+}30BW+G>>&M z+XMfb)RTUL^vn~FA_Kyir66vDlv|BF2I**Ku-RsQi*DMDGAdgP8!(;O1w=kiEKRcN zey|E=XEqq|muYz}GaJI5Ju`$#^+@&%m8_~!%nmhIJ)R3JW2ebnV7p`$=dme_#Fb4# zprQ?Rf{l}`dLFI|wuD&%GB-)NB-ArlgH8hOmRc`f>b_|Ho~~E(o8rjU++(9JOhL5% z3&}_c4rBeBBBbIdj|RZ>HC^7P1B|3S$2vY?!ZI<3;2ni?lDzj=dgRY_Nn{~5k!}Uk|W|`>|C|e{rgK-2rEOt+> z%x$QxbE_U(w}=gI?+Zvb`*Z|fA(>lSWQq^*3!7hpd8?4I7h)lUYUE2$-HPU$6me~< zh_D|<>L#sxL9ri2)$eelt?5nb!l;q23HG(vW0h*bILTl#oD9aov`r2LA?h~Crfie4 zL!g-WwZ=XST?vZWlU|_gTe%hY33w2w9WLIf>>prImWVG7LPVCX#oc1pu#<+@DL7lq zPiYHZl(uZ4URsa$vPDq!aa?2Y4|s2vmd6N_!2Tnw7QP$pk5DUZMNi;ipp((HU8ofI zgxd}ggWmjJ^ZE{9hA&d2x!4;O64YqXu|tGhXcI1&=Vr6S4p@oN^=iz~NTW-3X ztD2c;TE~-GGl$;l>1mX{TUHW*JTv8fhgl4ocFRmF(8XX4s`hK;64Y#9)&9c~a)TZ% zt8!%0cJe-MpG)%=Ufd3u|79&!E@_Dc_NI-*lq_^!66_vk= zJ7lIu*#s7J8wSs%3b$c}b%U#oY=n)VHVWU8ZPcUgEvbGS*BLnAlPfJBqI)T?X3a@k z*ao_>b7jaU*m9qCT{AJ-I@dUv7rM%*w};ZjeiI&hrN-y*$)IF0du3!hQl;5`5mh{X z8JE~{7x^)?u*N(gS{uZo^r){^^tQ+hc_d1m2y;^6Eb^hPQMN*%_5#7bXD&cB}6a9ANR}f zp~z$~2K5Xkqm#ij=nJJ!1)Ni8_7)b3dZIJA9^Eo@U7}-AP^jxi*12qTGXl@@K8oIl z=4W}jqH}D{T!Ul80o_NMAw@r0KU%u{k+bUdha<+${Xa*K9?C{@;x*R=uRL&Qi*>f0 z^tEXpiifDwV)ff-WpD()F}R3elN`E&L<#KKP$H482pSj2`aScW=l6hMya%2%FDQQH3MDq zX}fG5rP4i7(HDg@Ou&G%1ZbnqVZS~IX`@G&ezd5xb~*w_OE-VSF)$%dg6KnNW>9Dg z`x8C+14Te|Ey}WKF{U$n9Wj9-JbE^E2dYPn7Z$BKAN$qIr^duT{oOJ{L%eHpkGo1l zVmzfz4pPS&t>&IvidOu(`C>=Ts^QUpu5)?Pa)?hKgk4qjj`kq6Wt`&aC`?dC_42Mh z;#H@l@N-(d`M#rZnd;%Ayx3qm*I$1BNButaJ^CKG4srRSsFD`sG5C^pylU{fa@Kro z=1-4@O`kgJ^JxL*O){sY zDh%2DD4TLdrK42x8Ox}x==_#+QqQP#l*;W7l^Q*LyA{^b09VSFVY1L=afz&S zXAQ;=XGG4jC=5O;K`dU8pyUp=5+J=@9NEXgujFlKW#oR`reV5-ih0-_A>WbiGv`Dv z<?M0gRg>)uH{|QoGo;9 z$wv?ttkpYqeWvaofE}HxS5(~m_}QlAvvc}rTldCPy%_A;$)~uE!D6k(jH6$p=*J{} z`nZRiH^=!V#s8EuCFgW%JiXD#E9f*0(x*2%Ki24t&u!=q$|&DH`-OD{!@nIkofM?g z8Fu;u@<(g+#>0`X-h4nY4J^+V@;epR<#jR2s7DrrLZq{Da%(6NS1rH;?<9 z%c-56o=Qa342^!vDUWZ4q)xIWJ^dH=RTsyOl}?rmyV+^7mHz%m7w<0k(6g>?!58WF z;Ql8K_jMI+`+5NO+Ip-;ps6qD=PEuFtwoHfCfH9=_%Rc^VS%1|bGxeD`?K$DV& z?v-k$>;6vVzPED2)%Cuz+S66kpzJa!zW6*#yV3Q=w@TG7ikHjpsHStEYjC?JU9ZHs zOzCQ~#x?SL&C#XG0oS!D+GQTD?3c7Bb*`ziv^(8hz4Nrep78lj$-|Kx?O)33deaU! z93HNEyL$7q$1iL3VZWgLh}MXXmvuvk-EvM&HLI)5`mjHpnW;uZCQEZKQW6y-R!C;i zqAXb#tkqjQo$dRLxWLu{=w_?I*-nv`nIh6+#EhBJ_c7#;QjJdkG=q>24~3%F$V}mr zou++8sI!EBcq05~3IFh!NMw)#2ZJ5B`J%!h`w@`T2lpW9Av}P}{(YKnBmWgC^Ev7m z97P9%6BzWWF4$cke)?7nSGBN$7phzn03PcII%m-?jljJ zif}D=)B}g$$+M--ZDh|D1z7u`mVpNjJw?hl<+#-wHw6nw5#CmVvuvIbNlb>}uqdIJ znIF0YYhd;mT2rL#XmHjS93WJp>XRsDc3<}}?BPn^M$^so2 zl`12Oorg9Wkt?m1*HJ31mNhuUpaM4;R3jiw1X$J~iNQt`Gblv^gDv=(!4CMQOXqK( zyi7Z1e!56%xro{mG)G|8fdlMx6`c%PVVEb@#`52XYvVXYYcqGAZU`B#v#~!MtN`L)lu9?D>y0bkD34W>lD;}QuGxDBt@Bsc*pgEPow@ILl3IEM2K?!s-paJFv8 zBnCCeV6X=@4C-BN^L1r3=a!L}yHH9$fl3LicX3<-+fdwNFdU;7NyQ30c$OxA`69XA zTVNhX>|JKdaG0IOp-Te$G?*5PFncm8g=6MoF#+~hxK}MYY13gh8Odc15|YTJomo15 z<;aEbTOuVgkicLS3K`_1o#d7p4kwOj($&e8x$Y>*TT81=lMvY)jW|e3YteIIg zl&^{1XI6s&OQpcSVQ26KmNPhp-I-Km<5DTvhVDl-MsyRSuKLd5AkN$ObH?igapk=L^0YKl(39{mWYU`LY)uov_#3`9axy93--{*FXK5I?1tP0iUFTy ziTx3=8!a?U;63y(_z&!}`AUiS3~AYNa1px3Q`L3ZGC>wh6Nq&%`wI8T$wMD;juZIj zIF$?oqH?7E6*xw!bYbSm$eSq35rXl<&?rGfGP)VeLE%Iawd4xN$fr>+ST?iqD9IIJ zk(05jh1AZn*^V3193KGxWwOqGNMzs%hXj#JG2l58YF#E}3vi9i#rR4Hg)A3GCvqEC z?zfqb&TGp>>G2`RUoKUjK^=pM=#U`t4-9%;9M8y}zMfGZLra$Oy2ujchNOwK0Oibv zVjuaEo&^^qh*aRQLJHqU?FuR`d4-&u9wel>Nlu zt(C-*n8l%0uwrH}iZLPZvM>v<7rhL2A!L=b)Sxk(A_`VXwGYrO*a2oA@mQy1QNi%P zN#*5hzxnJS}YuG%K3v81t!Wa2=5?AttK!gc(f`v*J zRf!J4<}-T-1^H6$eH>tL7@Y*%_3=}AsUJnt&vd<-*NP(>@6E;`FpZ`4pG!u%h`O8fZdu9e1T+sER-qy@qo=2VJ;FfG0QQR!8ue)5dAEgu2RJ1A`uaD9ohL> z`GFGiJ8B=oP-o*>>LNfRKNDh}#Ab&qY99_WXh0W({V=VULwk|*6Uk<-mxXMHV&c!5 z=w0YeRm@)W0TmO?t+&F+R zbAwQ~KEVDBGN}(PGnkD58>M9)>=ML=!jaB*W2^=5N?Z6N@G#QJ=-wz)!u9CCNyJ#D z^LNdRO~PzRMy51}55#T>VrQUzlP*oGk4+WdV{~1Y2*=oUNQ)sg2eUfl`qJ1z$>LpT zDG}OJhN6eTcm%&8Ez^-kz(YS}4$p?qr!f6PJM!Z<#L7;|Kr;{L^RVw;XW0rlS5r2j zaV1aclnVOzrq^gisiR7PIsQYM;*Ch~CC+s<&JVd(sg7PBjm6>M!H4_)q6;zbP$ zWhZ41&R1(kVMCQ}hgNS~h5)C?VqA-EFFugYTaP6ma(;e05G2S zk+B6$<9WJ_N1R<{M%U==x-T?78z;>$-cX`5e?L^JHhHIf_Q)g3YO~u(+7!t;qie`c zouh`&|*p;CX*o@ilUKo5iG5Nwh|QAi`8(Z_60(D|Xxq*7-wm(k3lTXA24SRKX$ z3jde@yvkq@$|Q)M=4uR7SE%&RxMRW-!pS}aiy0X476UU{8B9PggHVKwQE8{x1G#H; z4Z3I1PFXibr7OZ7hH4rnV8clQ^tQFJ-#~=4((7e-QdAm$3_(vyw`im=h)1~u#%pL| zaM5Z1kRJUY5n${@%?4TrE3*wq4ie$ULX-xnpNuH~SK~W{SI(ZwdH&+5sZ*QF#k>an z@%E>jy5DHb8mmT)@NOTg zXewL_7OTq!Dk1fzD?{b~d>p7y_tP~$1}T-I0&4`y8N5h4TQ&MjUu>TE(ckwL9lTU_ zBJS%Rnk7o2x2EF`yXB!bL2hu-mbDnkRYJxx5lO?Tzr9t$Yzf05Hb>wlgBaTL(lMU) zyaWj-mcV+PcDz^-Yu`+JC&<@WvrQfBuD5>6-Ffr$hi()4;kk4Kgh=>mIsy{BMn^z` zg>(eOx`i*{KsP86wAIbkvanT%u9n#yu2t1))YDY!VjO7}JJEu!W>pw+_{j=8q0*7D z#<7grg3cdEC;Nm-N5&S#R^t$)WoZobFIHHsC4DJhfGM3Wg|lR(yJ;qVJ0Wt~@-Y0Q z1jU#tfprFo2$0^p968X%pWdw}W#l3JM8kC19OYqmgj^@xr%#DqY!@-*l$3jbH4<3O z_=rIWeqfM~fv1I!U4u(LbcM`5tzkWFaCDO1Rx;9BzJmA2mqr^nn+NL6)N#T{ zakY*8v(1UdJ6ba)oKXWtn5VUcU8ud - - - - - - + - + + + + + + + true + true + false + + @@ -218,18 +234,10 @@ - + - - - - - - - - - - - - @@ -281,11 +274,11 @@ + + - - diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt deleted file mode 100644 index d0663e1b..00000000 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ /dev/null @@ -1,619 +0,0 @@ -com/project/devidea/modules/content/resume/form/education/EducationRequest.java - com.project.devidea.modules.content.resume.form.education.EducationRequest -com/project/devidea/modules/community/QComment.java - com.project.devidea.modules.community.QComment -com/project/devidea/modules/community/validator/EnumValidator.java - com.project.devidea.modules.community.validator.EnumValidator -com/project/devidea/modules/content/study/apply/StudyApply.java - com.project.devidea.modules.content.study.apply.StudyApply - com.project.devidea.modules.content.study.apply.StudyApply$StudyApplyBuilder -com/project/devidea/infra/config/YamlPropertySourceFactory.java - com.project.devidea.infra.config.YamlPropertySourceFactory -com/project/devidea/infra/config/AsyncConfig.java - com.project.devidea.infra.config.AsyncConfig -com/project/devidea/modules/tagzone/zone/Zone.java - com.project.devidea.modules.tagzone.zone.Zone - com.project.devidea.modules.tagzone.zone.Zone$ZoneBuilder -com/project/devidea/modules/content/resume/form/project/UpdateProjectRequest.java - com.project.devidea.modules.content.resume.form.project.UpdateProjectRequest - com.project.devidea.modules.content.resume.form.project.UpdateProjectRequest$UpdateProjectRequestBuilder -com/project/devidea/modules/content/study/service/StudyService.java - com.project.devidea.modules.content.study.service.StudyService -com/project/devidea/modules/content/study/aop/StudyNotificationAspect.java - com.project.devidea.modules.content.study.aop.StudyNotificationAspect -com/project/devidea/modules/content/resume/activity/QActivity.java - com.project.devidea.modules.content.resume.activity.QActivity -com/project/devidea/modules/content/resume/education/QEducation.java - com.project.devidea.modules.content.resume.education.QEducation -com/project/devidea/infra/config/security/SecurityConfig.java - com.project.devidea.infra.config.security.SecurityConfig -com/project/devidea/modules/environment/QEnvironment.java - com.project.devidea.modules.environment.QEnvironment -com/project/devidea/modules/content/tech/Crawling.java - com.project.devidea.modules.content.tech.Crawling -com/project/devidea/modules/content/study/controller/StudyAdminController.java - com.project.devidea.modules.content.study.controller.StudyAdminController -com/project/devidea/modules/content/resume/form/award/AwardRequest.java - com.project.devidea.modules.content.resume.form.award.AwardRequest -com/project/devidea/modules/account/dto/Update.java - com.project.devidea.modules.account.dto.Update - com.project.devidea.modules.account.dto.Update$Interest - com.project.devidea.modules.account.dto.Update$Interest$InterestBuilder - com.project.devidea.modules.account.dto.Update$MainActivityZone - com.project.devidea.modules.account.dto.Update$MainActivityZone$MainActivityZoneBuilder - com.project.devidea.modules.account.dto.Update$NicknameRequest - com.project.devidea.modules.account.dto.Update$NicknameRequest$NicknameRequestBuilder - com.project.devidea.modules.account.dto.Update$Notification - com.project.devidea.modules.account.dto.Update$Notification$NotificationBuilder - com.project.devidea.modules.account.dto.Update$PasswordRequest - com.project.devidea.modules.account.dto.Update$PasswordRequest$PasswordRequestBuilder - com.project.devidea.modules.account.dto.Update$ProfileRequest - com.project.devidea.modules.account.dto.Update$ProfileRequest$ProfileRequestBuilder - com.project.devidea.modules.account.dto.Update$ProfileResponse - com.project.devidea.modules.account.dto.Update$ProfileResponse$ProfileResponseBuilder -com/project/devidea/modules/account/services/info/UpdateAccountInfoServiceImpl.java - com.project.devidea.modules.account.services.info.UpdateAccountInfoServiceImpl -com/project/devidea/modules/account/domains/QInterest.java - com.project.devidea.modules.account.domains.QInterest -com/project/devidea/modules/tagzone/zone/ZoneForm.java - com.project.devidea.modules.tagzone.zone.ZoneForm -com/project/devidea/modules/content/suggestion/form/SuggestionRequest.java - com.project.devidea.modules.content.suggestion.form.SuggestionRequest - com.project.devidea.modules.content.suggestion.form.SuggestionRequest$SuggestionRequestBuilder -com/project/devidea/modules/content/techNews/crawling/LineCrawling.java - com.project.devidea.modules.content.techNews.crawling.LineCrawling -com/project/devidea/modules/content/study/repository/StudyRepository.java - com.project.devidea.modules.content.study.repository.StudyRepository -com/project/devidea/modules/content/mentoring/form/UpdateMentorRequest.java - com.project.devidea.modules.content.mentoring.form.UpdateMentorRequest - com.project.devidea.modules.content.mentoring.form.UpdateMentorRequest$UpdateMentorRequestBuilder -com/project/devidea/modules/content/study/form/StudyBaseForm.java - com.project.devidea.modules.content.study.form.StudyBaseForm -com/project/devidea/infra/error/ErrorResponse.java - com.project.devidea.infra.error.ErrorResponse - com.project.devidea.infra.error.ErrorResponse$FieldError -com/project/devidea/infra/eventHandler/GlobalExceptionHandler.java - com.project.devidea.infra.eventHandler.GlobalExceptionHandler -com/project/devidea/modules/account/repository/AccountRepositoryCustom.java - com.project.devidea.modules.account.repository.AccountRepositoryCustom -com/project/devidea/modules/account/services/login/LoginServiceImpl.java - com.project.devidea.modules.account.services.login.LoginServiceImpl -com/project/devidea/modules/tagzone/zone/ZoneRepository.java - com.project.devidea.modules.tagzone.zone.ZoneRepository -com/project/devidea/modules/account/repository/AccountRepository.java - com.project.devidea.modules.account.repository.AccountRepository -com/project/devidea/modules/content/mentoring/MentorService.java - com.project.devidea.modules.content.mentoring.MentorService -com/project/devidea/modules/content/suggestion/Suggestion.java - com.project.devidea.modules.content.suggestion.Suggestion - com.project.devidea.modules.content.suggestion.Suggestion$SuggestionBuilder -com/project/devidea/modules/notification/NotificationController.java - com.project.devidea.modules.notification.NotificationController - com.project.devidea.modules.notification.NotificationController$ResponseNotifications -com/project/devidea/modules/content/resume/award/QAward.java - com.project.devidea.modules.content.resume.award.QAward -com/project/devidea/modules/content/resume/award/AwardController.java - com.project.devidea.modules.content.resume.award.AwardController - com.project.devidea.modules.content.resume.award.AwardController$AwardDto -com/project/devidea/modules/account/controllers/GetAccountInfoController.java - com.project.devidea.modules.account.controllers.GetAccountInfoController -com/project/devidea/modules/community/validator/Enum.java - com.project.devidea.modules.community.validator.Enum -com/project/devidea/modules/content/resume/education/EducationRepository.java - com.project.devidea.modules.content.resume.education.EducationRepository -com/project/devidea/modules/tagzone/tag/Tag.java - com.project.devidea.modules.tagzone.tag.Tag - com.project.devidea.modules.tagzone.tag.Tag$TagBuilder -com/project/devidea/modules/content/mentoring/exception/InvalidInputException.java - com.project.devidea.modules.content.mentoring.exception.InvalidInputException -com/project/devidea/modules/account/services/interest/InterestService.java - com.project.devidea.modules.account.services.interest.InterestService -com/project/devidea/modules/tagzone/tag/TagsResponseDto.java - com.project.devidea.modules.tagzone.tag.TagsResponseDto -com/project/devidea/modules/account/services/signUpDetail/SignUpDetailServiceImpl.java - com.project.devidea.modules.account.services.signUpDetail.SignUpDetailServiceImpl -com/project/devidea/infra/config/security/LoginUser.java - com.project.devidea.infra.config.security.LoginUser -com/project/devidea/modules/content/resume/ResumeRepository.java - com.project.devidea.modules.content.resume.ResumeRepository -com/project/devidea/modules/content/resume/form/career/CreateCareerRequest.java - com.project.devidea.modules.content.resume.form.career.CreateCareerRequest - com.project.devidea.modules.content.resume.form.career.CreateCareerRequest$CreateCareerRequestBuilder -com/project/devidea/modules/content/recruit/validator/BasicValidator.java - com.project.devidea.modules.content.recruit.validator.BasicValidator -com/project/devidea/modules/account/domains/QMainActivityZone.java - com.project.devidea.modules.account.domains.QMainActivityZone -com/project/devidea/modules/content/study/notification/StudyNotificationImpl.java - com.project.devidea.modules.content.study.notification.StudyNotificationImpl -com/project/devidea/modules/content/resume/validator/EducationRequestValidator.java - com.project.devidea.modules.content.resume.validator.EducationRequestValidator -com/project/devidea/infra/config/security/oauth/provider/SocialOAuth.java - com.project.devidea.infra.config.security.oauth.provider.SocialOAuth -com/project/devidea/modules/account/util/LoginServiceUtil.java - com.project.devidea.modules.account.util.LoginServiceUtil -com/project/devidea/modules/content/resume/form/project/CreateProjectRequest.java - com.project.devidea.modules.content.resume.form.project.CreateProjectRequest - com.project.devidea.modules.content.resume.form.project.CreateProjectRequest$CreateProjectRequestBuilder -com/project/devidea/modules/event/validator/BasicValidator.java - com.project.devidea.modules.event.validator.BasicValidator -com/project/devidea/infra/error/exception/ErrorCode.java - com.project.devidea.infra.error.exception.ErrorCode -com/project/devidea/modules/content/suggestion/SuggestionService.java - com.project.devidea.modules.content.suggestion.SuggestionService -com/project/devidea/modules/account/services/signUp/OAuthSignUpServiceImpl.java - com.project.devidea.modules.account.services.signUp.OAuthSignUpServiceImpl -com/project/devidea/modules/content/study/repository/StudyRepositoryImpl.java - com.project.devidea.modules.content.study.repository.StudyRepositoryImpl -com/project/devidea/modules/account/services/signUp/SignUpAndAuthenticationEmailService.java - com.project.devidea.modules.account.services.signUp.SignUpAndAuthenticationEmailService -com/project/devidea/modules/content/resume/career/CareerService.java - com.project.devidea.modules.content.resume.career.CareerService -com/project/devidea/modules/account/exception/AccountException.java - com.project.devidea.modules.account.exception.AccountException -com/project/devidea/modules/community/CommunityController.java - com.project.devidea.modules.community.CommunityController -com/project/devidea/modules/environment/Environment.java - com.project.devidea.modules.environment.Environment - com.project.devidea.modules.environment.Environment$EnvironmentBuilder -com/project/devidea/infra/config/security/jwt/JwtAuthenticationEntryPoint.java - com.project.devidea.infra.config.security.jwt.JwtAuthenticationEntryPoint -com/project/devidea/modules/content/resume/form/CreateResumeRequest.java - com.project.devidea.modules.content.resume.form.CreateResumeRequest - com.project.devidea.modules.content.resume.form.CreateResumeRequest$CreateResumeRequestBuilder -com/project/devidea/modules/content/resume/QResume.java - com.project.devidea.modules.content.resume.QResume -com/project/devidea/modules/account/domains/QAccount.java - com.project.devidea.modules.account.domains.QAccount -com/project/devidea/modules/content/study/validator/StudyRequestFormValidator.java - com.project.devidea.modules.content.study.validator.StudyRequestFormValidator -com/project/devidea/modules/account/services/info/GetAccountInfoServiceImpl.java - com.project.devidea.modules.account.services.info.GetAccountInfoServiceImpl -com/project/devidea/modules/tagzone/tag/TagController.java - com.project.devidea.modules.tagzone.tag.TagController -com/project/devidea/modules/content/resume/ResumeService.java - com.project.devidea.modules.content.resume.ResumeService -com/project/devidea/modules/content/mentoring/MentorRepository.java - com.project.devidea.modules.content.mentoring.MentorRepository -com/project/devidea/modules/community/CommunityType.java - com.project.devidea.modules.community.CommunityType -com/project/devidea/modules/content/resume/activity/ActivityController.java - com.project.devidea.modules.content.resume.activity.ActivityController - com.project.devidea.modules.content.resume.activity.ActivityController$ActivityDto -com/project/devidea/modules/main/form/BasicForm.java - com.project.devidea.modules.main.form.BasicForm -com/project/devidea/modules/content/study/Study.java - com.project.devidea.modules.content.study.Study - com.project.devidea.modules.content.study.Study$StudyBuilder -com/project/devidea/modules/content/resume/form/activity/CreateActivityRequest.java - com.project.devidea.modules.content.resume.form.activity.CreateActivityRequest - com.project.devidea.modules.content.resume.form.activity.CreateActivityRequest$CreateActivityRequestBuilder -com/project/devidea/infra/config/AppConfig.java - com.project.devidea.infra.config.AppConfig -com/project/devidea/modules/content/mentoring/MenteeController.java - com.project.devidea.modules.content.mentoring.MenteeController - com.project.devidea.modules.content.mentoring.MenteeController$MenteeDto -com/project/devidea/modules/community/QCommunity.java - com.project.devidea.modules.community.QCommunity -com/project/devidea/modules/content/study/service/StudyServiceImpl.java - com.project.devidea.modules.content.study.service.StudyServiceImpl -com/project/devidea/infra/aop/LoggingAspect.java - com.project.devidea.infra.aop.LoggingAspect -com/project/devidea/infra/mail/EmailServiceImpl.java - com.project.devidea.infra.mail.EmailServiceImpl -com/project/devidea/modules/community/CommunityService.java - com.project.devidea.modules.community.CommunityService -com/project/devidea/modules/content/study/controller/StudyBasicController.java - com.project.devidea.modules.content.study.controller.StudyBasicController -com/project/devidea/infra/config/security/oauth/OAuthService.java - com.project.devidea.infra.config.security.oauth.OAuthService -com/project/devidea/modules/content/resume/career/Career.java - com.project.devidea.modules.content.resume.career.Career - com.project.devidea.modules.content.resume.career.Career$CareerBuilder -com/project/devidea/modules/content/study/apply/StudyApplyRepository.java - com.project.devidea.modules.content.study.apply.StudyApplyRepository -com/project/devidea/modules/content/resume/education/EducationController.java - com.project.devidea.modules.content.resume.education.EducationController - com.project.devidea.modules.content.resume.education.EducationController$EducationDto -com/project/devidea/modules/content/resume/form/career/CareerRequest.java - com.project.devidea.modules.content.resume.form.career.CareerRequest -com/project/devidea/modules/content/tech/BasicForm.java - com.project.devidea.modules.content.tech.BasicForm -com/project/devidea/modules/content/mentoring/MenteeService.java - com.project.devidea.modules.content.mentoring.MenteeService -com/project/devidea/modules/notification/Notification.java - com.project.devidea.modules.notification.Notification - com.project.devidea.modules.notification.Notification$NotificationBuilder -com/project/devidea/modules/account/event/SendEmailToken.java - com.project.devidea.modules.account.event.SendEmailToken - com.project.devidea.modules.account.event.SendEmailToken$SendEmailTokenBuilder -com/project/devidea/modules/account/controllers/LoginController.java - com.project.devidea.modules.account.controllers.LoginController -com/project/devidea/modules/account/repository/AccountRepositoryCustomImpl.java - com.project.devidea.modules.account.repository.AccountRepositoryCustomImpl -com/project/devidea/modules/content/study/exception/StudyResponse.java - com.project.devidea.modules.content.study.exception.StudyResponse -com/project/devidea/modules/content/techNews/TechNewsRepository.java - com.project.devidea.modules.content.techNews.TechNewsRepository -com/project/devidea/modules/InitService.java - com.project.devidea.modules.InitService -com/project/devidea/infra/error/GlobalExceptionController.java - com.project.devidea.infra.error.GlobalExceptionController -com/project/devidea/modules/content/resume/validator/ProjectRequestValidator.java - com.project.devidea.modules.content.resume.validator.ProjectRequestValidator -com/project/devidea/modules/community/form/RequestCommunity.java - com.project.devidea.modules.community.form.RequestCommunity - com.project.devidea.modules.community.form.RequestCommunity$RequestCommunityBuilder -com/project/devidea/modules/content/suggestion/SuggestionController.java - com.project.devidea.modules.content.suggestion.SuggestionController - com.project.devidea.modules.content.suggestion.SuggestionController$SuggestionDto -com/project/devidea/modules/account/services/signUp/SignUpService.java - com.project.devidea.modules.account.services.signUp.SignUpService -com/project/devidea/modules/account/repository/InterestRepository.java - com.project.devidea.modules.account.repository.InterestRepository -com/project/devidea/modules/content/resume/form/UpdateResumeRequest.java - com.project.devidea.modules.content.resume.form.UpdateResumeRequest - com.project.devidea.modules.content.resume.form.UpdateResumeRequest$UpdateResumeRequestBuilder -com/project/devidea/modules/account/services/info/GetAccountInfoService.java - com.project.devidea.modules.account.services.info.GetAccountInfoService -com/project/devidea/infra/config/security/SHA256.java - com.project.devidea.infra.config.security.SHA256 -com/project/devidea/modules/content/study/StudyMember.java - com.project.devidea.modules.content.study.StudyMember - com.project.devidea.modules.content.study.StudyMember$StudyMemberBuilder -com/project/devidea/modules/content/mentoring/QMentor.java - com.project.devidea.modules.content.mentoring.QMentor -com/project/devidea/modules/content/mentoring/Mentor.java - com.project.devidea.modules.content.mentoring.Mentor - com.project.devidea.modules.content.mentoring.Mentor$MentorBuilder -com/project/devidea/modules/content/resume/award/AwardRepository.java - com.project.devidea.modules.content.resume.award.AwardRepository -com/project/devidea/modules/content/techNews/crawling/KakaoCrawling.java - com.project.devidea.modules.content.techNews.crawling.KakaoCrawling -com/project/devidea/modules/account/controllers/SignUpDetailController.java - com.project.devidea.modules.account.controllers.SignUpDetailController -com/project/devidea/modules/account/validator/SignUpRequestValidator.java - com.project.devidea.modules.account.validator.SignUpRequestValidator -com/project/devidea/modules/account/services/signUpDetail/SignUpDetailService.java - com.project.devidea.modules.account.services.signUpDetail.SignUpDetailService -com/project/devidea/modules/community/CommunityRepository.java - com.project.devidea.modules.community.CommunityRepository -com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneService.java - com.project.devidea.modules.account.services.mainActivityZone.MainActivityZoneService -com/project/devidea/modules/account/validator/PasswordValidator.java - com.project.devidea.modules.account.validator.PasswordValidator -com/project/devidea/modules/content/resume/award/Award.java - com.project.devidea.modules.content.resume.award.Award - com.project.devidea.modules.content.resume.award.Award$AwardBuilder -com/project/devidea/modules/content/study/form/StudyListForm.java - com.project.devidea.modules.content.study.form.StudyListForm -com/project/devidea/modules/content/mentoring/Mentee.java - com.project.devidea.modules.content.mentoring.Mentee - com.project.devidea.modules.content.mentoring.Mentee$MenteeBuilder -com/project/devidea/modules/content/study/form/OpenRecruitForm.java - com.project.devidea.modules.content.study.form.OpenRecruitForm -com/project/devidea/modules/content/recruit/form/BasicForm.java - com.project.devidea.modules.content.recruit.form.BasicForm -com/project/devidea/modules/content/mentoring/validator/MenteeRequestValidator.java - com.project.devidea.modules.content.mentoring.validator.MenteeRequestValidator -com/project/devidea/modules/content/study/exception/StudyRequestNotValidException.java - com.project.devidea.modules.content.study.exception.StudyRequestNotValidException -com/project/devidea/modules/like/form/BasicForm.java - com.project.devidea.modules.like.form.BasicForm -com/project/devidea/modules/account/domains/MainActivityZone.java - com.project.devidea.modules.account.domains.MainActivityZone - com.project.devidea.modules.account.domains.MainActivityZone$MainActivityZoneBuilder -com/project/devidea/modules/content/study/form/StudySearchForm.java - com.project.devidea.modules.content.study.form.StudySearchForm - com.project.devidea.modules.content.study.form.StudySearchForm$StudySearchFormBuilder -com/project/devidea/modules/content/resume/validator/AwardRequestValidator.java - com.project.devidea.modules.content.resume.validator.AwardRequestValidator -com/project/devidea/modules/account/controllers/OAuthSignUpController.java - com.project.devidea.modules.account.controllers.OAuthSignUpController -com/project/devidea/modules/tagzone/zone/ZoneService.java - com.project.devidea.modules.tagzone.zone.ZoneService -com/project/devidea/modules/content/resume/education/EducationService.java - com.project.devidea.modules.content.resume.education.EducationService -com/project/devidea/modules/content/study/StudySampleGenerator.java - com.project.devidea.modules.content.study.StudySampleGenerator -com/project/devidea/modules/account/util/AccountToManyUtil.java - com.project.devidea.modules.account.util.AccountToManyUtil -com/project/devidea/DevideaApplication.java - com.project.devidea.DevideaApplication -com/project/devidea/modules/content/techNews/TechNews.java - com.project.devidea.modules.content.techNews.TechNews - com.project.devidea.modules.content.techNews.TechNews$TechNewsBuilder -com/project/devidea/modules/account/util/LoginResponseUtil.java - com.project.devidea.modules.account.util.LoginResponseUtil -com/project/devidea/modules/content/resume/project/ProjectService.java - com.project.devidea.modules.content.resume.project.ProjectService -com/project/devidea/modules/content/study/Level.java - com.project.devidea.modules.content.study.Level -com/project/devidea/modules/content/study/notification/StudyNoticationType.java - com.project.devidea.modules.content.study.notification.StudyNoticationType -com/project/devidea/infra/config/security/jwt/JwtTokenUtil.java - com.project.devidea.infra.config.security.jwt.JwtTokenUtil -com/project/devidea/modules/content/mentoring/exception/NotCorrectException.java - com.project.devidea.modules.content.mentoring.exception.NotCorrectException -com/project/devidea/modules/account/repository/MainActivityZoneRepository.java - com.project.devidea.modules.account.repository.MainActivityZoneRepository -com/project/devidea/modules/content/study/apply/StudyApplyForm.java - com.project.devidea.modules.content.study.apply.StudyApplyForm - com.project.devidea.modules.content.study.apply.StudyApplyForm$StudyApplyFormBuilder -com/project/devidea/modules/community/Comment.java - com.project.devidea.modules.community.Comment -com/project/devidea/modules/content/mentoring/form/CreateMenteeRequest.java - com.project.devidea.modules.content.mentoring.form.CreateMenteeRequest - com.project.devidea.modules.content.mentoring.form.CreateMenteeRequest$CreateMenteeRequestBuilder -com/project/devidea/modules/notification/NotificationRepository.java - com.project.devidea.modules.notification.NotificationRepository -com/project/devidea/modules/content/resume/activity/ActivityService.java - com.project.devidea.modules.content.resume.activity.ActivityService -com/project/devidea/modules/content/resume/Resume.java - com.project.devidea.modules.content.resume.Resume - com.project.devidea.modules.content.resume.Resume$ResumeBuilder -com/project/devidea/modules/account/event/AccountEventListener.java - com.project.devidea.modules.account.event.AccountEventListener -com/project/devidea/modules/content/study/aop/AlreadyExistError.java - com.project.devidea.modules.content.study.aop.AlreadyExistError -com/project/devidea/modules/content/resume/form/activity/UpdateActivityRequest.java - com.project.devidea.modules.content.resume.form.activity.UpdateActivityRequest - com.project.devidea.modules.content.resume.form.activity.UpdateActivityRequest$UpdateActivityRequestBuilder -com/project/devidea/infra/config/security/CurrentUser.java - com.project.devidea.infra.config.security.CurrentUser -com/project/devidea/modules/account/validator/NicknameValidator.java - com.project.devidea.modules.account.validator.NicknameValidator -com/project/devidea/modules/account/services/mainActivityZone/MainActivityZoneServiceImpl.java - com.project.devidea.modules.account.services.mainActivityZone.MainActivityZoneServiceImpl -com/project/devidea/modules/content/study/notification/StudyNotification.java - com.project.devidea.modules.content.study.notification.StudyNotification -com/project/devidea/infra/aop/annotation/LogExecutionTime.java - com.project.devidea.infra.aop.annotation.LogExecutionTime -com/project/devidea/modules/main/validator/BasicValidator.java - com.project.devidea.modules.main.validator.BasicValidator -com/project/devidea/modules/account/controllers/UpdateAccountInfoController.java - com.project.devidea.modules.account.controllers.UpdateAccountInfoController -com/project/devidea/modules/content/study/apply/QStudyApply.java - com.project.devidea.modules.content.study.apply.QStudyApply -com/project/devidea/modules/event/form/BasicForm.java - com.project.devidea.modules.event.form.BasicForm -com/project/devidea/modules/content/resume/form/career/UpdateCareerRequest.java - com.project.devidea.modules.content.resume.form.career.UpdateCareerRequest - com.project.devidea.modules.content.resume.form.career.UpdateCareerRequest$UpdateCareerRequestBuilder -com/project/devidea/modules/content/techNews/TechSite.java - com.project.devidea.modules.content.techNews.TechSite -com/project/devidea/modules/content/study/repository/StudySearchConditions.java - com.project.devidea.modules.content.study.repository.StudySearchConditions -com/project/devidea/modules/content/mentoring/form/MentorRequest.java - com.project.devidea.modules.content.mentoring.form.MentorRequest -com/project/devidea/modules/tagzone/zone/ZoneController.java - com.project.devidea.modules.tagzone.zone.ZoneController -com/project/devidea/infra/error/exception/EntityNotFoundException.java - com.project.devidea.infra.error.exception.EntityNotFoundException -com/project/devidea/modules/content/study/apply/StudyApplyListForm.java - com.project.devidea.modules.content.study.apply.StudyApplyListForm -com/project/devidea/modules/content/resume/form/ResumeRequest.java - com.project.devidea.modules.content.resume.form.ResumeRequest -com/project/devidea/modules/content/resume/education/Education.java - com.project.devidea.modules.content.resume.education.Education - com.project.devidea.modules.content.resume.education.Education$EducationBuilder -com/project/devidea/modules/content/mentoring/exception/NotFoundException.java - com.project.devidea.modules.content.mentoring.exception.NotFoundException -com/project/devidea/modules/content/resume/form/award/UpdateAwardRequest.java - com.project.devidea.modules.content.resume.form.award.UpdateAwardRequest - com.project.devidea.modules.content.resume.form.award.UpdateAwardRequest$UpdateAwardRequestBuilder -com/project/devidea/modules/content/study/aop/StudyAuthorityAspect.java - com.project.devidea.modules.content.study.aop.StudyAuthorityAspect -com/project/devidea/modules/account/domains/Interest.java - com.project.devidea.modules.account.domains.Interest - com.project.devidea.modules.account.domains.Interest$InterestBuilder -com/project/devidea/modules/account/validator/SignUpOAuthRequestValidator.java - com.project.devidea.modules.account.validator.SignUpOAuthRequestValidator -com/project/devidea/modules/content/resume/career/CareerController.java - com.project.devidea.modules.content.resume.career.CareerController - com.project.devidea.modules.content.resume.career.CareerController$CareerDto -com/project/devidea/modules/community/Community.java - com.project.devidea.modules.community.Community - com.project.devidea.modules.community.Community$CommunityBuilder -com/project/devidea/modules/content/resume/form/award/CreateAwardRequest.java - com.project.devidea.modules.content.resume.form.award.CreateAwardRequest - com.project.devidea.modules.content.resume.form.award.CreateAwardRequest$CreateAwardRequestBuilder -com/project/devidea/modules/content/study/QStudy.java - com.project.devidea.modules.content.study.QStudy -com/project/devidea/modules/content/resume/project/QProject.java - com.project.devidea.modules.content.resume.project.QProject -com/project/devidea/modules/tagzone/tag/TagService.java - com.project.devidea.modules.tagzone.tag.TagService -com/project/devidea/modules/content/study/repository/StudyMemberRepository.java - com.project.devidea.modules.content.study.repository.StudyMemberRepository -com/project/devidea/modules/account/controllers/CommonSignUpController.java - com.project.devidea.modules.account.controllers.CommonSignUpController -com/project/devidea/modules/content/resume/career/QCareer.java - com.project.devidea.modules.content.resume.career.QCareer -com/project/devidea/infra/error/exception/DataBusinessException.java - com.project.devidea.infra.error.exception.DataBusinessException -com/project/devidea/modules/content/mentoring/QMentee.java - com.project.devidea.modules.content.mentoring.QMentee -com/project/devidea/infra/config/security/oauth/provider/SocialLoginTypeConverter.java - com.project.devidea.infra.config.security.oauth.provider.SocialLoginTypeConverter -com/project/devidea/infra/config/security/jwt/JwtRequestFilter.java - com.project.devidea.infra.config.security.jwt.JwtRequestFilter -com/project/devidea/modules/content/techNews/crawling/Crawling.java - com.project.devidea.modules.content.techNews.crawling.Crawling -com/project/devidea/infra/config/security/oauth/provider/GithubOAuth.java - com.project.devidea.infra.config.security.oauth.provider.GithubOAuth -com/project/devidea/modules/content/resume/validator/ActivityRequestValidator.java - com.project.devidea.modules.content.resume.validator.ActivityRequestValidator -com/project/devidea/modules/content/study/form/EmpowerForm.java - com.project.devidea.modules.content.study.form.EmpowerForm -com/project/devidea/modules/content/study/StudyRole.java - com.project.devidea.modules.content.study.StudyRole -com/project/devidea/modules/content/mentoring/validator/MentorRequestValidator.java - com.project.devidea.modules.content.mentoring.validator.MentorRequestValidator -com/project/devidea/infra/config/security/oauth/provider/SocialLoginType.java - com.project.devidea.infra.config.security.oauth.provider.SocialLoginType -com/project/devidea/infra/config/MultipleCacheManagerConfig.java - com.project.devidea.infra.config.MultipleCacheManagerConfig -com/project/devidea/modules/content/suggestion/QSuggestion.java - com.project.devidea.modules.content.suggestion.QSuggestion -com/project/devidea/modules/content/study/form/StudyDetailForm.java - com.project.devidea.modules.content.study.form.StudyDetailForm -com/project/devidea/modules/content/mentoring/form/CreateMentorRequest.java - com.project.devidea.modules.content.mentoring.form.CreateMentorRequest - com.project.devidea.modules.content.mentoring.form.CreateMentorRequest$CreateMentorRequestBuilder -com/project/devidea/infra/config/QuerydslConfig.java - com.project.devidea.infra.config.QuerydslConfig -com/project/devidea/infra/config/security/CustomUserDetailService.java - com.project.devidea.infra.config.security.CustomUserDetailService -com/project/devidea/modules/content/mentoring/form/MenteeRequest.java - com.project.devidea.modules.content.mentoring.form.MenteeRequest -com/project/devidea/infra/config/SwaggerConfig.java - com.project.devidea.infra.config.SwaggerConfig -com/project/devidea/modules/content/techNews/crawling/DaangnCrawling.java - com.project.devidea.modules.content.techNews.crawling.DaangnCrawling -com/project/devidea/modules/content/study/exception/StudyAuthorityRequiredException.java - com.project.devidea.modules.content.study.exception.StudyAuthorityRequiredException -com/project/devidea/modules/account/services/login/LoginService.java - com.project.devidea.modules.account.services.login.LoginService -com/project/devidea/modules/environment/EnvironmentRepository.java - com.project.devidea.modules.environment.EnvironmentRepository -com/project/devidea/modules/account/dto/SignUp.java - com.project.devidea.modules.account.dto.SignUp - com.project.devidea.modules.account.dto.SignUp$CommonRequest - com.project.devidea.modules.account.dto.SignUp$CommonRequest$CommonRequestBuilder - com.project.devidea.modules.account.dto.SignUp$CommonRequest$CommonRequestBuilderImpl - com.project.devidea.modules.account.dto.SignUp$DetailRequest - com.project.devidea.modules.account.dto.SignUp$DetailRequest$DetailRequestBuilder - com.project.devidea.modules.account.dto.SignUp$OAuthRequest - com.project.devidea.modules.account.dto.SignUp$OAuthRequest$OAuthRequestBuilder - com.project.devidea.modules.account.dto.SignUp$OAuthRequest$OAuthRequestBuilderImpl - com.project.devidea.modules.account.dto.SignUp$Request - com.project.devidea.modules.account.dto.SignUp$Request$RequestBuilder - com.project.devidea.modules.account.dto.SignUp$Request$RequestBuilderImpl - com.project.devidea.modules.account.dto.SignUp$Response - com.project.devidea.modules.account.dto.SignUp$Response$ResponseBuilder -com/project/devidea/modules/content/resume/form/activity/ActivityRequest.java - com.project.devidea.modules.content.resume.form.activity.ActivityRequest -com/project/devidea/modules/content/resume/project/ProjectController.java - com.project.devidea.modules.content.resume.project.ProjectController - com.project.devidea.modules.content.resume.project.ProjectController$ProjectDto -com/project/devidea/modules/content/mentoring/form/UpdateMenteeRequest.java - com.project.devidea.modules.content.mentoring.form.UpdateMenteeRequest - com.project.devidea.modules.content.mentoring.form.UpdateMenteeRequest$UpdateMenteeRequestBuilder -com/project/devidea/modules/content/resume/project/Project.java - com.project.devidea.modules.content.resume.project.Project - com.project.devidea.modules.content.resume.project.Project$ProjectBuilder -com/project/devidea/modules/like/validator/BasicValidator.java - com.project.devidea.modules.like.validator.BasicValidator -com/project/devidea/modules/notification/NotificationService.java - com.project.devidea.modules.notification.NotificationService -com/project/devidea/modules/content/study/QStudyMember.java - com.project.devidea.modules.content.study.QStudyMember -com/project/devidea/modules/account/services/info/UpdateAccountInfoService.java - com.project.devidea.modules.account.services.info.UpdateAccountInfoService -com/project/devidea/modules/content/study/KindsOf.java - com.project.devidea.modules.content.study.KindsOf -com/project/devidea/modules/content/mentoring/AbstractService.java - com.project.devidea.modules.content.mentoring.AbstractService -com/project/devidea/modules/account/services/interest/InterestServiceImpl.java - com.project.devidea.modules.account.services.interest.InterestServiceImpl -com/project/devidea/infra/error/GlobalResponse.java - com.project.devidea.infra.error.GlobalResponse - com.project.devidea.infra.error.GlobalResponse$GlobalResponseBuilder -com/project/devidea/modules/content/study/StudyFactory.java - com.project.devidea.modules.content.study.StudyFactory -com/project/devidea/modules/content/study/form/StudyMakingForm.java - com.project.devidea.modules.content.study.form.StudyMakingForm -com/project/devidea/modules/content/techNews/crawling/JavableCrawling.java - com.project.devidea.modules.content.techNews.crawling.JavableCrawling -com/project/devidea/modules/content/study/aop/StudyErrorAspect.java - com.project.devidea.modules.content.study.aop.StudyErrorAspect -com/project/devidea/modules/content/study/repository/StudyRepositoryCustom.java - com.project.devidea.modules.content.study.repository.StudyRepositoryCustom -com/project/devidea/infra/mail/EmailMessage.java - com.project.devidea.infra.mail.EmailMessage - com.project.devidea.infra.mail.EmailMessage$EmailMessageBuilder -com/project/devidea/modules/account/dto/Login.java - com.project.devidea.modules.account.dto.Login - com.project.devidea.modules.account.dto.Login$Common - com.project.devidea.modules.account.dto.Login$Common$CommonBuilder - com.project.devidea.modules.account.dto.Login$Common$CommonBuilderImpl - com.project.devidea.modules.account.dto.Login$OAuth - com.project.devidea.modules.account.dto.Login$OAuth$OAuthBuilder - com.project.devidea.modules.account.dto.Login$OAuth$OAuthBuilderImpl - com.project.devidea.modules.account.dto.Login$Request - com.project.devidea.modules.account.dto.Login$Request$RequestBuilder - com.project.devidea.modules.account.dto.Login$Request$RequestBuilderImpl - com.project.devidea.modules.account.dto.Login$Response - com.project.devidea.modules.account.dto.Login$Response$ResponseBuilder -com/project/devidea/modules/content/resume/form/education/UpdateEducationRequest.java - com.project.devidea.modules.content.resume.form.education.UpdateEducationRequest - com.project.devidea.modules.content.resume.form.education.UpdateEducationRequest$UpdateEducationRequestBuilder -com/project/devidea/infra/error/exception/BusinessException.java - com.project.devidea.infra.error.exception.BusinessException -com/project/devidea/infra/config/security/oauth/provider/GoogleOAuth.java - com.project.devidea.infra.config.security.oauth.provider.GoogleOAuth -com/project/devidea/modules/content/resume/award/AwardService.java - com.project.devidea.modules.content.resume.award.AwardService -com/project/devidea/modules/content/resume/activity/ActivityRepository.java - com.project.devidea.modules.content.resume.activity.ActivityRepository -com/project/devidea/modules/content/suggestion/SuggestionRepository.java - com.project.devidea.modules.content.suggestion.SuggestionRepository -com/project/devidea/infra/config/AppProperties.java - com.project.devidea.infra.config.AppProperties -com/project/devidea/modules/content/resume/validator/CareerRequestValidator.java - com.project.devidea.modules.content.resume.validator.CareerRequestValidator -com/project/devidea/modules/content/study/form/TagZoneForm.java - com.project.devidea.modules.content.study.form.TagZoneForm -com/project/devidea/modules/content/resume/project/ProjectRepository.java - com.project.devidea.modules.content.resume.project.ProjectRepository -com/project/devidea/modules/content/study/controller/StudyManagerController.java - com.project.devidea.modules.content.study.controller.StudyManagerController -com/project/devidea/modules/tagzone/tag/TagRepository.java - com.project.devidea.modules.tagzone.tag.TagRepository -com/project/devidea/modules/content/mentoring/exception/AlreadyExistException.java - com.project.devidea.modules.content.mentoring.exception.AlreadyExistException -com/project/devidea/modules/account/services/signUp/CommonSignUpServiceImpl.java - com.project.devidea.modules.account.services.signUp.CommonSignUpServiceImpl -com/project/devidea/modules/content/study/exception/StudyNullException.java - com.project.devidea.modules.content.study.exception.StudyNullException -com/project/devidea/modules/content/resume/form/education/CreateEducationRequest.java - com.project.devidea.modules.content.resume.form.education.CreateEducationRequest - com.project.devidea.modules.content.resume.form.education.CreateEducationRequest$CreateEducationRequestBuilder -com/project/devidea/modules/notification/NotificationType.java - com.project.devidea.modules.notification.NotificationType -com/project/devidea/modules/tagzone/zone/QZone.java - com.project.devidea.modules.tagzone.zone.QZone -com/project/devidea/modules/account/domains/Account.java - com.project.devidea.modules.account.domains.Account - com.project.devidea.modules.account.domains.Account$AccountBuilder -com/project/devidea/modules/notification/aop/WithNotification.java - com.project.devidea.modules.notification.aop.WithNotification -com/project/devidea/infra/mail/EmailService.java - com.project.devidea.infra.mail.EmailService -com/project/devidea/modules/content/resume/activity/Activity.java - com.project.devidea.modules.content.resume.activity.Activity - com.project.devidea.modules.content.resume.activity.Activity$ActivityBuilder -com/project/devidea/modules/content/techNews/TechNewsController.java - com.project.devidea.modules.content.techNews.TechNewsController -com/project/devidea/modules/tagzone/zone/ZonesResponseDto.java - com.project.devidea.modules.tagzone.zone.ZonesResponseDto -com/project/devidea/modules/content/resume/ResumeController.java - com.project.devidea.modules.content.resume.ResumeController - com.project.devidea.modules.content.resume.ResumeController$ResumeDto -com/project/devidea/modules/tagzone/tag/QTag.java - com.project.devidea.modules.tagzone.tag.QTag -com/project/devidea/modules/content/resume/form/project/ProjectRequest.java - com.project.devidea.modules.content.resume.form.project.ProjectRequest -com/project/devidea/modules/content/mentoring/MenteeRepository.java - com.project.devidea.modules.content.mentoring.MenteeRepository -com/project/devidea/modules/content/resume/career/CareerRepository.java - com.project.devidea.modules.content.resume.career.CareerRepository -com/project/devidea/modules/content/study/exception/AlreadyStudyExistsException.java - com.project.devidea.modules.content.study.exception.AlreadyStudyExistsException -com/project/devidea/modules/notification/QNotification.java - com.project.devidea.modules.notification.QNotification -com/project/devidea/infra/config/WebConfig.java - com.project.devidea.infra.config.WebConfig -com/project/devidea/modules/content/mentoring/MentorController.java - com.project.devidea.modules.content.mentoring.MentorController - com.project.devidea.modules.content.mentoring.MentorController$MentorDto From 1709c262ccf1d0f0e53e239a491bd5207fb00e0e Mon Sep 17 00:00:00 2001 From: kobeomseok95 <37062337+kobeomseok95@users.noreply.github.com> Date: Mon, 3 May 2021 20:22:40 +0900 Subject: [PATCH 08/16] Test : AccountControllers --- .../executionHistory/executionHistory.bin | Bin 3801334 -> 3801334 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/6.8.2/fileHashes/fileHashes.bin | Bin 386064 -> 386264 bytes .gradle/6.8.2/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .gradle/6.8.2/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/workspace.xml | 125 +-- .../project/devidea/modules/InitService.java | 35 +- .../controllers/CommonSignUpController.java | 13 +- .../account/controllers/LoginController.java | 2 +- .../controllers/OAuthSignUpController.java | 5 +- .../UpdateAccountInfoController.java | 3 + ...e.java => AuthenticationEmailService.java} | 2 +- .../AuthenticationEmailServiceImpl.java | 27 + .../signUp/CommonSignUpServiceImpl.java | 15 +- .../signUp/OAuthSignUpServiceImpl.java | 2 + src/main/java/lombok.config | 1 + .../account/AccountControllerTest.java | 541 +++++++------ .../AccountControllerValidationTest.java | 428 +++++----- .../devidea/modules/account/AccountDummy.java | 1 + .../account/AccountInfoControllerTest.java | 762 +++++++++--------- .../CommonSignUpControllerTest.java | 104 +++ .../CommonSignUpControllerValidationTest.java | 59 ++ .../GetAccountInfoControllerTest.java | 125 +++ .../controllers/LoginControllerTest.java | 118 +++ .../LoginControllerValidationTest.java | 107 +++ .../OAuthSignUpControllerTest.java | 46 ++ .../OAuthSignUpControllerValidationTest.java | 59 ++ .../SignUpDetailControllerTest.java | 77 ++ .../SignUpDetailControllerValidationTest.java | 42 + .../UpdateAccountInfoControllerTest.java | 327 ++++++++ .../AuthenticationEmailServiceImplTest.java | 51 ++ .../signUp/CommonSignUpServiceImplTest.java | 27 - 33 files changed, 2136 insertions(+), 968 deletions(-) rename src/main/java/com/project/devidea/modules/account/services/signUp/{SignUpAndAuthenticationEmailService.java => AuthenticationEmailService.java} (62%) create mode 100644 src/main/java/com/project/devidea/modules/account/services/signUp/AuthenticationEmailServiceImpl.java create mode 100644 src/main/java/lombok.config create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/CommonSignUpControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/CommonSignUpControllerValidationTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/GetAccountInfoControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/LoginControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/LoginControllerValidationTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/OAuthSignUpControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/OAuthSignUpControllerValidationTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/SignUpDetailControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/SignUpDetailControllerValidationTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/controllers/UpdateAccountInfoControllerTest.java create mode 100644 src/test/java/com/project/devidea/modules/account/services/signUp/AuthenticationEmailServiceImplTest.java diff --git a/.gradle/6.8.2/executionHistory/executionHistory.bin b/.gradle/6.8.2/executionHistory/executionHistory.bin index 0dd455b05a43766403f8b0bfead5856266407a59..6a40d0f7a0d676f16d565ed6ead64e3de95ee291 100644 GIT binary patch delta 6960 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 N#kVqKYxn&V{||=rsxklo diff --git a/.gradle/6.8.2/executionHistory/executionHistory.lock b/.gradle/6.8.2/executionHistory/executionHistory.lock index f4ff26ce64fa74e48d4051815f8434e3fc4ec338..f936630d04bb3f12b4b01495e249804aae3989db 100644 GIT binary patch literal 17 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 delta 5428 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 Kt$w9?8~+F8MY~!6 diff --git a/.gradle/6.8.2/fileHashes/fileHashes.lock b/.gradle/6.8.2/fileHashes/fileHashes.lock index 332d8cd3667eac9714f1408cf5664acef0fd8834..e1c2d007c99c01b6b196ca5de27b27744b99614c 100644 GIT binary patch literal 17 VcmZQR)-}74+huwV0~kD=4FEGp1wsG- literal 17 VcmZQR)-}74+huwV0~kCJ0RS?;1iAnK diff --git a/.gradle/6.8.2/javaCompile/javaCompile.lock b/.gradle/6.8.2/javaCompile/javaCompile.lock index 12dbe100ed5f22e5e8082d90183e6aee6ad7dc25..53d20eb4496a8af0b62f05d87b0f92620f9225e6 100644 GIT binary patch literal 17 UcmZS1)lk*`q+6fD00zNE03 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -176,15 +212,18 @@ + + + + + - - - + - - - - - - true - true - false - - - + - - - - - - + - - - + - - + + +