From db87069c1c5cddaf6764e0a0ac348f6b585e01f1 Mon Sep 17 00:00:00 2001 From: gdakate Date: Mon, 6 Mar 2023 00:47:53 +0900 Subject: [PATCH 01/60] [feat] profile/deatail-API-#89 --- .../co/wingle/profile/ProfileController.java | 13 +++++- .../kr/co/wingle/profile/ProfileService.java | 29 +++++++++++-- .../kr/co/wingle/profile/SnsRepository.java | 2 + .../profile/dto/ProfileViewRequestDto.java | 19 ++++++++ .../profile/dto/ProfileViewResponseDto.java | 43 +++++++++++++++++++ 5 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java create mode 100644 wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java index 7ceb4a64..c1ccd720 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java @@ -22,6 +22,8 @@ import kr.co.wingle.profile.dto.ProfileRequestDto; import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.ProfileResponseDto; +import kr.co.wingle.profile.dto.ProfileViewRequestDto; +import kr.co.wingle.profile.dto.ProfileViewResponseDto; import lombok.RequiredArgsConstructor; @RestController @@ -65,8 +67,15 @@ public ApiResponse getProfile() { } @GetMapping("/registration") - public ApiResponse isRegister(){ + public ApiResponse isRegister() { ProfileRegistrationResponseDto response = profileService.isRegister(); - return ApiResponse.success(SuccessCode.PROFILE_REGISTER_READ_SUCCESS,response); + return ApiResponse.success(SuccessCode.PROFILE_REGISTER_READ_SUCCESS, response); + } + + @PostMapping("/detail") + public ApiResponse viewProfile( + @Valid ProfileViewRequestDto profileViewRequestDto) { + ProfileViewResponseDto response = profileService.viewProfile(profileViewRequestDto); + return ApiResponse.success(SuccessCode.PROFILE_READ_SUCCESS, response); } } diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index 97dce850..c5f1aa4f 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -23,11 +23,12 @@ import kr.co.wingle.profile.dto.ProfileRequestDto; import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.ProfileResponseDto; +import kr.co.wingle.profile.dto.ProfileViewRequestDto; +import kr.co.wingle.profile.dto.ProfileViewResponseDto; import kr.co.wingle.profile.entity.Interest; import kr.co.wingle.profile.entity.Language; import kr.co.wingle.profile.entity.MemberInterest; import kr.co.wingle.profile.entity.Profile; -import kr.co.wingle.common.exception.NotFoundException; import lombok.RequiredArgsConstructor; @Service @@ -141,8 +142,8 @@ public Profile getProfileByMemberId(Long memberId) { return profileRepository.findByMemberId(memberId) .orElseThrow(() -> new NotFoundException( ErrorCode.NO_PROFILE)); - } - + } + private String uploadProfileImage(MultipartFile idCardImage) { return s3Util.profileImageUpload(idCardImage); } @@ -175,4 +176,26 @@ public ProfileRegistrationResponseDto isRegister() { ProfileRegistrationResponseDto reponse = ProfileRegistrationResponseDto.of(registration); return reponse; } + + public ProfileViewResponseDto viewProfile(ProfileViewRequestDto request) { + Member member = authService.findMember(); + Profile profile = getProfile(member); + if (!request.getMyProfile()) { + request.setUserId(profile.getId()); + } + String image = member.getIdCardImageUrl(); + String nation = profile.getNation(); + String nickname = profile.getNickname(); + Boolean gender = profile.isGender(); + List languages = languageRepository.findAllByMemberOrderByOrderNumberAsc( + member).stream() + .map(language -> + LanguagesResponseDto.LanguageDto.of(language.getOrderNumber(), language.getName()) + ).toList(); + List interests = memberInterestRepository.findAllByMember(member); + String introduce = profile.getIntroduction(); + String sns = snsRepository.findAllByMember(member); + + return ProfileViewResponseDto.of(image, nation, nickname, gender, languages, interests, introduce, sns); + } } diff --git a/wingle/src/main/java/kr/co/wingle/profile/SnsRepository.java b/wingle/src/main/java/kr/co/wingle/profile/SnsRepository.java index 565a65f8..8c815e5e 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/SnsRepository.java +++ b/wingle/src/main/java/kr/co/wingle/profile/SnsRepository.java @@ -2,7 +2,9 @@ import org.springframework.data.jpa.repository.JpaRepository; +import kr.co.wingle.member.entity.Member; import kr.co.wingle.profile.entity.Sns; public interface SnsRepository extends JpaRepository { + String findAllByMember(Member member); } diff --git a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java new file mode 100644 index 00000000..b4af364f --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java @@ -0,0 +1,19 @@ +package kr.co.wingle.profile.dto; + +import javax.validation.constraints.NotNull; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +public class ProfileViewRequestDto { + @NotNull + private Boolean myProfile; + private Long userId; + +} diff --git a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java new file mode 100644 index 00000000..45b71d53 --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java @@ -0,0 +1,43 @@ +package kr.co.wingle.profile.dto; + +import java.util.List; + +import kr.co.wingle.member.entity.Member; +import kr.co.wingle.profile.LanguageRepository; +import kr.co.wingle.profile.entity.Language; +import kr.co.wingle.profile.entity.MemberInterest; +import kr.co.wingle.profile.entity.Profile; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class ProfileViewResponseDto { + + private String image; + private String nation; + private String nickname; + private Boolean gender; + private List languages; + private List interests; + private String introduce; + private String sns; + + public static ProfileViewResponseDto of(String image, String nation, String nickname, Boolean gender, + List languages, List interests, String introduce, + String sns) { + ProfileViewResponseDto profileViewResponseDto = new ProfileViewResponseDto(); + profileViewResponseDto.image = image; + profileViewResponseDto.nation = nation; + profileViewResponseDto.nickname = nickname; + profileViewResponseDto.gender = gender; + profileViewResponseDto.languages = languages; + profileViewResponseDto.interests = interests; + profileViewResponseDto.introduce = introduce; + profileViewResponseDto.sns = sns; + + return profileViewResponseDto; + } + +} From 2301473b26a985b4632f256c561ceabc760cb402 Mon Sep 17 00:00:00 2001 From: LeeJE20 Date: Tue, 28 Mar 2023 22:19:20 +0900 Subject: [PATCH 02/60] =?UTF-8?q?feat:=20spring=20rest=20docs=20gradle=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/build.gradle | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/wingle/build.gradle b/wingle/build.gradle index 0587cd31..1a3fab1d 100644 --- a/wingle/build.gradle +++ b/wingle/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' - id 'org.asciidoctor.convert' version '1.5.8' + id "org.asciidoctor.jvm.convert" version "3.3.2" id 'jacoco' } @@ -49,6 +49,10 @@ dependencies { implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' testAnnotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' + + // spring rest docs + asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor:{project-version}' + testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc:{project-version}' } tasks.named('test') { @@ -67,6 +71,7 @@ jacoco { test { finalizedBy 'jacocoTestReport' + outputs.dir snippetsDir } jacocoTestReport { @@ -126,3 +131,25 @@ jacocoTestCoverageVerification { jar { enabled = false } + +configurations { + asciidoctorExt +} + +ext { + snippetsDir = file('build/generated-snippets') +} + +asciidoctor { + inputs.dir snippetsDir + configurations 'asciidoctorExt' + dependsOn test +} + +bootJar { + // package the generated documentation + dependsOn asciidoctor + from("${asciidoctor.outputDir}/html5") { + into 'static/docs' + } +} \ No newline at end of file From a85fb49ad4c231c7cea7186f46d12cc68768c284 Mon Sep 17 00:00:00 2001 From: yujin113 Date: Sat, 1 Apr 2023 10:08:03 +0900 Subject: [PATCH 03/60] =?UTF-8?q?[refactor]=20=EB=A1=9C=EA=B7=B8=EC=97=90?= =?UTF-8?q?=20=EC=9C=A0=EC=A0=80=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EB=82=A8?= =?UTF-8?q?=EA=B8=B0=EA=B8=B0=20#100?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/java/kr/co/wingle/common/aop/LogAspect.java | 6 ++++-- .../src/main/java/kr/co/wingle/member/AuthController.java | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/aop/LogAspect.java b/wingle/src/main/java/kr/co/wingle/common/aop/LogAspect.java index ebb56685..ca86ff91 100644 --- a/wingle/src/main/java/kr/co/wingle/common/aop/LogAspect.java +++ b/wingle/src/main/java/kr/co/wingle/common/aop/LogAspect.java @@ -1,5 +1,6 @@ package kr.co.wingle.common.aop; +import kr.co.wingle.common.util.SecurityUtil; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -15,7 +16,7 @@ @Aspect @Component public class LogAspect { - private static final String LOG_MESSAGE_FORMAT = "{} {} : {}.{}() took {}ms. (group by '{}', traceID: {})"; + private static final String LOG_MESSAGE_FORMAT = "[{}] {} {} : {}.{}() took {}ms. (group by '{}', traceID: {})"; @Pointcut( "(execution(* kr.co.wingle..*Controller.*(..)) || execution(* kr.co.wingle..*Service.*(..)) || execution(* kr.co.wingle..*Repository.*(..)))" @@ -36,10 +37,11 @@ public Object apiLog(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); try { + String user = SecurityUtil.getCurrentUserEmail(); String className = proceedingJoinPoint.getSignature().getDeclaringType().getName(); String methodName = proceedingJoinPoint.getSignature().getName(); long executionTime = end - start; - log.info(LOG_MESSAGE_FORMAT, request.getMethod(), request.getRequestURI(), + log.info(LOG_MESSAGE_FORMAT, user, request.getMethod(), request.getRequestURI(), className, methodName, executionTime, group(className), traceId); } catch (Exception e) { log.error("LogAspect error", e); diff --git a/wingle/src/main/java/kr/co/wingle/member/AuthController.java b/wingle/src/main/java/kr/co/wingle/member/AuthController.java index e20c1245..0a89585f 100644 --- a/wingle/src/main/java/kr/co/wingle/member/AuthController.java +++ b/wingle/src/main/java/kr/co/wingle/member/AuthController.java @@ -11,6 +11,7 @@ import kr.co.wingle.common.constants.SuccessCode; import kr.co.wingle.common.dto.ApiResponse; +import kr.co.wingle.common.util.SecurityUtil; import kr.co.wingle.member.dto.CertificationRequestDto; import kr.co.wingle.member.dto.CertificationResponseDto; import kr.co.wingle.member.dto.EmailRequestDto; @@ -28,7 +29,9 @@ import kr.co.wingle.member.entity.Member; import kr.co.wingle.member.service.AuthService; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @RestController @RequestMapping("api/v1/auth") @RequiredArgsConstructor @@ -44,6 +47,7 @@ public ApiResponse signup(@ModelAttribute @Valid SignupReques @PostMapping("/login") public ApiResponse login(@RequestBody @Valid LoginRequestDto loginRequestDto) { LoginResponseDto response = authService.login(loginRequestDto); + log.info("[{}] login success", loginRequestDto.getEmail()); return ApiResponse.success(SuccessCode.LOGIN_SUCCESS, response); } From 11d071bd93a843601d61da8e8fd9a80a157a09b7 Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 10 Apr 2023 18:06:33 +0900 Subject: [PATCH 04/60] =?UTF-8?q?[feat]=20=EB=A1=9C=EC=BB=AC=ED=98=B8?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=8F=AC=ED=8A=B8=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?#94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/kr/co/wingle/common/config/WebMvcConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java index 68d91cd3..273da0b7 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java @@ -10,7 +10,8 @@ public class WebMvcConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") - .allowedOrigins("http://localhost:3000", "https://wingle.kr") + .allowedOrigins("http://localhost:3000", "http://localhost:3001", "http://localhost:3002", + "https://wingle.kr") .maxAge(3000) // pre-flight 리퀘스트를 캐싱 .allowCredentials(true); // 쿠키 요청을 허용 } From 6294d887c88462bd15f6249c5a31a3c56232e39a Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 10 Apr 2023 18:06:56 +0900 Subject: [PATCH 05/60] =?UTF-8?q?[feat]=20=EC=BF=A0=ED=82=A4=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=20=ED=97=88=EC=9A=A9=20=EC=BD=94=EB=93=9C=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20#94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/kr/co/wingle/common/config/WebMvcConfig.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java index 273da0b7..835c938b 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java @@ -12,7 +12,6 @@ public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:3000", "http://localhost:3001", "http://localhost:3002", "https://wingle.kr") - .maxAge(3000) // pre-flight 리퀘스트를 캐싱 - .allowCredentials(true); // 쿠키 요청을 허용 + .maxAge(3000); // pre-flight 리퀘스트를 캐싱 } } \ No newline at end of file From e3431b339ddb92563946e9503249170bcecd3790 Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 10 Apr 2023 19:21:07 +0900 Subject: [PATCH 06/60] =?UTF-8?q?[feat]=20=EB=A1=9C=EC=BB=AC=ED=98=B8?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=97=88=EC=9A=A9=20=ED=8F=AC=ED=8A=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20#94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3000~3010 포트 허용 --- .../co/wingle/common/config/WebMvcConfig.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java index 835c938b..e3389c6a 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java @@ -1,17 +1,33 @@ package kr.co.wingle.common.config; +import java.util.ArrayList; +import java.util.List; + import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebMvcConfig implements WebMvcConfigurer { - // CORS 오류 해결 + private final String host = "https://wingle.kr"; + private final String localhost = "http://localhost:"; + private final int allowedMinPort = 3000; + private final int allowedMaxPort = 3010; + private List allowedOrigins = new ArrayList<>(); + + // CORS @Override public void addCorsMappings(CorsRegistry registry) { + // 허용할 origin 목록 + int allowedPort = allowedMinPort; + allowedOrigins.add(host); + while (allowedPort <= allowedMaxPort) { + allowedOrigins.add(localhost + allowedPort); + allowedPort += 1; + } + registry.addMapping("/**") - .allowedOrigins("http://localhost:3000", "http://localhost:3001", "http://localhost:3002", - "https://wingle.kr") + .allowedOrigins(allowedOrigins.toArray(new String[allowedOrigins.size()])) .maxAge(3000); // pre-flight 리퀘스트를 캐싱 } } \ No newline at end of file From 328fdc00f10f9058a811e9b70f84c8ab18737fc5 Mon Sep 17 00:00:00 2001 From: silver Date: Tue, 11 Apr 2023 01:10:24 +0900 Subject: [PATCH 07/60] =?UTF-8?q?[fix]=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EB=B3=B4=EA=B8=B0=20=EA=B2=BD=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20#104?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit articles/?size={}page={} -> /articles?size={}page={}로 변경 --- .../kr/co/wingle/community/article/ArticleController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleController.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleController.java index 69563f75..4b254ea2 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleController.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleController.java @@ -40,7 +40,7 @@ public ApiResponse getOne(@PathVariable String forumId, articleService.getOne(StringUtil.StringToLong(forumId), StringUtil.StringToLong(articleId))); } - @GetMapping("/{forumId}/articles/") + @GetMapping("/{forumId}/articles") public ApiResponse> getList(@PathVariable String forumId, @RequestParam String page, @RequestParam String size, @RequestParam(required = false) String my) { if (my != null && !my.toLowerCase().equals("true") && !my.toLowerCase().equals("false")) @@ -49,7 +49,7 @@ public ApiResponse> getList(@PathVariable String forumI boolean getMine = false; if (my != null && my.toLowerCase().equals("true")) getMine = true; - + return ApiResponse.success(SuccessCode.GET_SUCCESS, articleService.getList(StringUtil.StringToLong(forumId), StringUtil.StringToInt(page), StringUtil.StringToInt(size), getMine)); From c32432a2510ba7c42191218dbefd6005f266d6c7 Mon Sep 17 00:00:00 2001 From: minjikim Date: Wed, 12 Apr 2023 01:28:58 +0900 Subject: [PATCH 08/60] =?UTF-8?q?[fix]=20=EB=8C=93=EA=B8=80=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=20req=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/community/comment/CommentController.java | 4 ++-- .../kr/co/wingle/community/comment/CommentRequestDto.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentController.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentController.java index c15d4c50..f16b6560 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentController.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentController.java @@ -6,9 +6,9 @@ import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -27,7 +27,7 @@ public class CommentController { private final CommentService commentService; @PostMapping("/articles/comments") - public ApiResponse create(@ModelAttribute @Valid CommentRequestDto request) { + public ApiResponse create(@RequestBody @Valid CommentRequestDto request) { CommentResponseDto response = commentService.create(request); return ApiResponse.success(SuccessCode.COMMENT_CREATE_SUCCESS, response); } diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentRequestDto.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentRequestDto.java index a3c430f8..2f31f551 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentRequestDto.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentRequestDto.java @@ -2,12 +2,12 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import javax.validation.constraints.Positive; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import reactor.util.annotation.Nullable; @Getter @Setter @@ -21,8 +21,7 @@ public class CommentRequestDto { @NotNull(message = "게시글 id가 없습니다.") private Long articleId; - @Positive(message = "id는 양수만 가능합니다.") - @Null + @Nullable private Long originCommentId; @NotBlank(message = "내용이 없습니다.") From 0594c83fcde91d564ea15146ae6aa0533a3df59d Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 02:25:10 +0900 Subject: [PATCH 09/60] =?UTF-8?q?[merge]=20=EC=8A=A4=ED=94=84=EB=A7=81=20?= =?UTF-8?q?=EB=A0=88=EC=8A=A4=ED=8A=B8=EB=8F=85=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat/Spring-Rest-Docs-설정-#98 --- wingle/build.gradle | 43 ++++++++++++----- .../asciidoc/community/forum/forumApi.adoc | 11 +++++ wingle/src/docs/asciidoc/index.adoc | 9 ++++ .../wingle/common/config/SecurityConfig.java | 2 +- .../community/forum/ForumControllerTest.java | 47 +++++++----------- .../kr/co/wingle/util/ControllerTest.java | 26 ++++++++++ .../kr/co/wingle/util/RestDocsConfig.java | 31 ++++++++++++ .../co/wingle/util/RestDocsTestSupport.java | 48 +++++++++++++++++++ .../restdocs/templates/request-fields.snippet | 11 +++++ .../templates/request-parameters.snippet | 9 ++++ .../templates/response-fields.snippet | 10 ++++ 11 files changed, 204 insertions(+), 43 deletions(-) create mode 100644 wingle/src/docs/asciidoc/community/forum/forumApi.adoc create mode 100644 wingle/src/docs/asciidoc/index.adoc create mode 100644 wingle/src/test/java/kr/co/wingle/util/ControllerTest.java create mode 100644 wingle/src/test/java/kr/co/wingle/util/RestDocsConfig.java create mode 100644 wingle/src/test/java/kr/co/wingle/util/RestDocsTestSupport.java create mode 100644 wingle/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet create mode 100644 wingle/src/test/resources/org/springframework/restdocs/templates/request-parameters.snippet create mode 100644 wingle/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet diff --git a/wingle/build.gradle b/wingle/build.gradle index 0587cd31..023c054d 100644 --- a/wingle/build.gradle +++ b/wingle/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' - id 'org.asciidoctor.convert' version '1.5.8' + id "org.asciidoctor.jvm.convert" version "3.3.2" id 'jacoco' } @@ -14,8 +14,8 @@ repositories { mavenCentral() } -ext { - set('snippetsDir', file("build/generated-snippets")) +configurations { + asciidoctorExt } dependencies { @@ -49,25 +49,20 @@ dependencies { implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' testAnnotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' + + // spring rest docs + asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor' + testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc' } tasks.named('test') { - outputs.dir snippetsDir useJUnitPlatform() } -tasks.named('asciidoctor') { - inputs.dir snippetsDir - dependsOn test -} - jacoco { toolVersion = '0.8.8' } -test { - finalizedBy 'jacocoTestReport' -} jacocoTestReport { dependsOn test @@ -126,3 +121,27 @@ jacocoTestCoverageVerification { jar { enabled = false } + + +ext { + snippetsDir = file('build/generated-snippets') +} + +test { + finalizedBy 'jacocoTestReport' + outputs.dir snippetsDir +} + +asciidoctor { + inputs.dir snippetsDir + configurations 'asciidoctorExt' + dependsOn test +} + +bootJar { + // package the generated documentation + dependsOn asciidoctor + from("${asciidoctor.outputDir}") { + into 'static/docs' + } +} diff --git a/wingle/src/docs/asciidoc/community/forum/forumApi.adoc b/wingle/src/docs/asciidoc/community/forum/forumApi.adoc new file mode 100644 index 00000000..888adebf --- /dev/null +++ b/wingle/src/docs/asciidoc/community/forum/forumApi.adoc @@ -0,0 +1,11 @@ +[[Forum-API]] +== Forum API + +[[게시판-불러오기]] +=== 게시판 불러오기 + +operation::forum-controller-test/게시판_목록_조회[snippets=http-request,path-parameters,request-fields,request-body] + +==== 성공 + +operation::forum-controller-test/게시판_목록_조회[snippets='response-fields-data,response-body'] diff --git a/wingle/src/docs/asciidoc/index.adoc b/wingle/src/docs/asciidoc/index.adoc new file mode 100644 index 00000000..fd28a002 --- /dev/null +++ b/wingle/src/docs/asciidoc/index.adoc @@ -0,0 +1,9 @@ += REST Docs +:asciidoc: src/docs/asciidoc +:toc: left +:toclevels: 2 +:source-highlighter: highlightjs + +include::{asciidoc}/community/forum/forumApi.adoc[] + + diff --git a/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java index ec291158..7a41cc4e 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java @@ -48,7 +48,7 @@ protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .and() .authorizeRequests() .antMatchers("/", "/api/v1/auth/**", "/api/v1/admin/**", "/api/v1/community/**", "/api/v1/messages/**", - "/api/v1/profile/**").permitAll() + "/api/v1/profile/**", "/docs/**").permitAll() .anyRequest().authenticated() .and() diff --git a/wingle/src/test/java/kr/co/wingle/community/forum/ForumControllerTest.java b/wingle/src/test/java/kr/co/wingle/community/forum/ForumControllerTest.java index 6c3cddae..c21b658f 100644 --- a/wingle/src/test/java/kr/co/wingle/community/forum/ForumControllerTest.java +++ b/wingle/src/test/java/kr/co/wingle/community/forum/ForumControllerTest.java @@ -1,49 +1,37 @@ package kr.co.wingle.community.forum; +import static kr.co.wingle.util.RestDocsConfig.*; import static org.mockito.BDDMockito.*; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*; +import static org.springframework.restdocs.payload.PayloadDocumentation.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import java.util.ArrayList; import java.util.List; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; -import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.test.web.servlet.MockMvc; +import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; +import org.springframework.restdocs.payload.FieldDescriptor; +import org.springframework.restdocs.payload.JsonFieldType; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.filter.CharacterEncodingFilter; - -import com.fasterxml.jackson.databind.ObjectMapper; import kr.co.wingle.common.constants.SuccessCode; import kr.co.wingle.common.dto.ApiResponse; +import kr.co.wingle.util.RestDocsTestSupport; -@ExtendWith(SpringExtension.class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) -@AutoConfigureMockMvc -public class ForumControllerTest { - private MockMvc mockMvc; - +public class ForumControllerTest extends RestDocsTestSupport { @MockBean private ForumService forumService; - ObjectMapper mapper = new ObjectMapper(); - - @BeforeEach - public void setup(WebApplicationContext webApplicationContext) { - this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .addFilters(new CharacterEncodingFilter("UTF-8", true)) - .alwaysDo(print()) - .build(); + protected FieldDescriptor[] forumData() { + return new FieldDescriptor[] { + fieldWithPath("id").type(JsonFieldType.NUMBER) + .description("게시판 id") + .attributes(field("constraints", "양수 정수")), + fieldWithPath("name").type(JsonFieldType.STRING) + .description("게시판 이름") + }; } @Test @@ -55,7 +43,7 @@ public void setup(WebApplicationContext webApplicationContext) { given(forumService.findAll()) .willReturn(responseDto); - MockHttpServletRequestBuilder builder = get("/api/v1/community/forums") + MockHttpServletRequestBuilder builder = RestDocumentationRequestBuilders.get("/api/v1/community/forums") .contentType(MediaType.APPLICATION_JSON); mockMvc.perform(builder) @@ -63,7 +51,6 @@ public void setup(WebApplicationContext webApplicationContext) { .andExpect(content().string( mapper.writeValueAsString(ApiResponse.success(SuccessCode.GET_SUCCESS, responseDto)) )) - .andDo(print()); + .andDo(getResponseFields(forumData())); } - } diff --git a/wingle/src/test/java/kr/co/wingle/util/ControllerTest.java b/wingle/src/test/java/kr/co/wingle/util/ControllerTest.java new file mode 100644 index 00000000..22709fa6 --- /dev/null +++ b/wingle/src/test/java/kr/co/wingle/util/ControllerTest.java @@ -0,0 +1,26 @@ +package kr.co.wingle.util; + +import org.junit.jupiter.api.Disabled; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +@Disabled +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@AutoConfigureMockMvc +public abstract class ControllerTest { + + @Autowired + protected ObjectMapper mapper; + + @Autowired + protected MockMvc mockMvc; + + protected String createJson(Object dto) throws JsonProcessingException { + return mapper.writeValueAsString(dto); + } +} diff --git a/wingle/src/test/java/kr/co/wingle/util/RestDocsConfig.java b/wingle/src/test/java/kr/co/wingle/util/RestDocsConfig.java new file mode 100644 index 00000000..52aad764 --- /dev/null +++ b/wingle/src/test/java/kr/co/wingle/util/RestDocsConfig.java @@ -0,0 +1,31 @@ +package kr.co.wingle.util; + +import static org.springframework.restdocs.snippet.Attributes.*; + +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation; +import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; +import org.springframework.restdocs.operation.preprocess.Preprocessors; + +@TestConfiguration +public class RestDocsConfig { + + @Bean + public RestDocumentationResultHandler write() { + return MockMvcRestDocumentation.document( + // 조각이 생성되는 디렉토리 명을 클래스명/메서드 명으로 정함 + "{class-name}/{method-name}", + // json pretty하게 출력 + Preprocessors.preprocessRequest(Preprocessors.prettyPrint()), + Preprocessors.preprocessResponse(Preprocessors.prettyPrint()) + ); + } + + // 제약조건 + public static final Attribute field( + final String key, + final String value) { + return new Attribute(key, value); + } +} diff --git a/wingle/src/test/java/kr/co/wingle/util/RestDocsTestSupport.java b/wingle/src/test/java/kr/co/wingle/util/RestDocsTestSupport.java new file mode 100644 index 00000000..9541fda6 --- /dev/null +++ b/wingle/src/test/java/kr/co/wingle/util/RestDocsTestSupport.java @@ -0,0 +1,48 @@ +package kr.co.wingle.util; + +import static org.springframework.restdocs.payload.PayloadDocumentation.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Import; +import org.springframework.restdocs.RestDocumentationContextProvider; +import org.springframework.restdocs.RestDocumentationExtension; +import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation; +import org.springframework.restdocs.mockmvc.RestDocumentationResultHandler; +import org.springframework.restdocs.payload.FieldDescriptor; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.filter.CharacterEncodingFilter; + +@Disabled +@Import(RestDocsConfig.class) +@ExtendWith({RestDocumentationExtension.class, SpringExtension.class}) +public class RestDocsTestSupport extends ControllerTest { + + @Autowired + protected RestDocumentationResultHandler restDocs; + + @BeforeEach + void setUp(final WebApplicationContext context, + final RestDocumentationContextProvider provider) { + this.mockMvc = MockMvcBuilders.webAppContextSetup(context) + .apply(MockMvcRestDocumentation.documentationConfiguration(provider)) // rest docs 설정 주입 + .alwaysDo(MockMvcResultHandlers.print()) // andDo(print()) 코드 포함 + .alwaysDo(restDocs) // pretty 패턴과 문서 디렉토리 명 정해준것 적용 + .addFilters(new CharacterEncodingFilter("UTF-8", true)) // 한글 깨짐 방지 + .build(); + } + + protected RestDocumentationResultHandler getResponseFields(FieldDescriptor[] data) { + return restDocs.document( + responseFields(beneathPath("data") // response의 data 필드 하위 내용 문서화 + .withSubsectionId("data") // response-fields-data.adoc 파일 생성 + , data) + ); + } + +} \ No newline at end of file diff --git a/wingle/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet b/wingle/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet new file mode 100644 index 00000000..8e7b90bb --- /dev/null +++ b/wingle/src/test/resources/org/springframework/restdocs/templates/request-fields.snippet @@ -0,0 +1,11 @@ +//@formatter:off +|=== +|필드명|타입|필수여부|제약조건|설명 +{{#fields}} +|{{#tableCellContent}}`+{{path}}+`{{/tableCellContent}} +|{{#tableCellContent}}`+{{type}}+`{{/tableCellContent}} +|{{#tableCellContent}}{{^optional}}true{{/optional}}{{#optional}}false{{/optional}}{{/tableCellContent}} +|{{#tableCellContent}}{{#constraints}}{{.}}{{/constraints}}{{/tableCellContent}} +|{{#tableCellContent}}{{description}}{{/tableCellContent}} +{{/fields}} +|=== \ No newline at end of file diff --git a/wingle/src/test/resources/org/springframework/restdocs/templates/request-parameters.snippet b/wingle/src/test/resources/org/springframework/restdocs/templates/request-parameters.snippet new file mode 100644 index 00000000..623aef91 --- /dev/null +++ b/wingle/src/test/resources/org/springframework/restdocs/templates/request-parameters.snippet @@ -0,0 +1,9 @@ +//@formatter:off +|=== +|파라미터|필수여부|설명 +{{#parameters}} +|{{#tableCellContent}}`+{{name}}+`{{/tableCellContent}} +|{{#tableCellContent}}{{^optional}}true{{/optional}}{{#optional}}false{{/optional}}{{/tableCellContent}} +|{{#tableCellContent}}{{description}}{{/tableCellContent}} +{{/parameters}} +|=== \ No newline at end of file diff --git a/wingle/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet b/wingle/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet new file mode 100644 index 00000000..119e9c44 --- /dev/null +++ b/wingle/src/test/resources/org/springframework/restdocs/templates/response-fields.snippet @@ -0,0 +1,10 @@ +//@formatter:off +|=== +|필드명|타입|필수여부|설명 +{{#fields}} +|{{#tableCellContent}}`+{{path}}+`{{/tableCellContent}} +|{{#tableCellContent}}`+{{type}}+`{{/tableCellContent}} +|{{#tableCellContent}}{{^optional}}true{{/optional}}{{#optional}}false{{/optional}}{{/tableCellContent}} +|{{#tableCellContent}}{{description}}{{/tableCellContent}} +{{/fields}} +|=== \ No newline at end of file From d2c9ec1e166dc399f9a144bc7d95860227f353af Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 02:29:21 +0900 Subject: [PATCH 10/60] =?UTF-8?q?[style]=20=EB=82=B4=EC=9A=A9=20=EA=B5=AC?= =?UTF-8?q?=EB=B6=84=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/common/constants/SuccessCode.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java index df0a76aa..5e37604c 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java @@ -30,15 +30,17 @@ public enum SuccessCode { NICKNAME_CHECK_SUCCESS(OK, "닉네임 확인 성공"), EMAIL_SEND_SUCCESS(OK, "이메일 인증코드 전송 성공"), EMAIL_CERTIFICATION_SUCCESS(OK, "이메일 인증 성공"), + // 어드민 ACCEPTANCE_SUCCESS(OK, "회원가입 수락 전송 성공"), REJECTION_SUCCESS(OK, "회원가입 거절 전송 성공"), WAITING_LIST_READ_SUCCESS(OK, "수락 대기 목록 조회 성공"), WAITING_USER_READ_SUCCESS(OK, "수락 대기 사용자 조회 성공"), REJECTION_LIST_READ_SUCCESS(OK, "수락 거절 목록 조회 성공"), ACCEPTANCE_LIST_READ_SUCCESS(OK, "수락 완료 목록 조회 성공"), + // 프로필 PROFILE_SAVE_SUCCESS(OK, "프로필 저장 성공"), - PROFILE_READ_SUCCESS(OK,"프로필 조회 성공"), - PROFILE_REGISTER_READ_SUCCESS(OK,"프로필 등록 여부 조회 성공"), + PROFILE_READ_SUCCESS(OK, "프로필 조회 성공"), + PROFILE_REGISTER_READ_SUCCESS(OK, "프로필 등록 여부 조회 성공"), LANGUAGES_SAVE_SUCCESS(OK, "사용 가능 언어 저장 성공"), INTRODUCTION_SAVE_SUCCESS(OK, "자기소개 저장 성공"), INTERESTS_SAVE_SUCCESS(OK, "관심사 저장 성공"); From 7cc487f169a2ee96cbc6a79d78b151b678a55087 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:15:53 +0900 Subject: [PATCH 11/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/java/kr/co/wingle/member/entity/Member.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java index 638cb7fe..a147858e 100644 --- a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java +++ b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java @@ -43,6 +43,10 @@ public class Member extends BaseEntity { @ColumnDefault("'ROLE_USER'") private Authority authority = Authority.ROLE_USER; + @Column + @Setter + private String rejectionReason; + public static Member createMember(String name, String idCardImageUrl, String email, String password, Authority authority) { Member member = new Member(); From b668459adde4f1af6f56ab3aaa26b8f404408d2c Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:16:38 +0900 Subject: [PATCH 12/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20dto=20=EC=9E=91=EC=84=B1=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wingle/member/dto/RejectionRequestDto.java | 3 +-- .../wingle/member/dto/RejectionResponseDto.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java index 8c5d6d9f..e5558a44 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java @@ -1,7 +1,6 @@ package kr.co.wingle.member.dto; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; import lombok.AccessLevel; import lombok.Getter; @@ -12,6 +11,6 @@ public class RejectionRequestDto { @NotNull(message = "사용자 id가 없습니다.") private Long userId; - @Size(max = 40) + @NotNull(message = "거절 사유가 없습니다.") private String reason; } diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java new file mode 100644 index 00000000..01a61819 --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java @@ -0,0 +1,17 @@ +package kr.co.wingle.member.dto; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class RejectionResponseDto { + private String reason; + + public static RejectionResponseDto from(String reason) { + RejectionResponseDto dto = new RejectionResponseDto(); + dto.reason = reason; + return dto; + } +} From 87db910505eff3f87217068f7890dc72a9a6f0e1 Mon Sep 17 00:00:00 2001 From: silver Date: Fri, 14 Apr 2023 01:01:13 +0900 Subject: [PATCH 13/60] =?UTF-8?q?[feat]=20CORS=20=ED=97=88=EC=9A=A9=20http?= =?UTF-8?q?=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=B6=94=EA=B0=80=20#94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit get, post, head, put, patch, delete --- .../java/kr/co/wingle/common/config/WebMvcConfig.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java index e3389c6a..ad6c2f3e 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/WebMvcConfig.java @@ -4,6 +4,7 @@ import java.util.List; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -28,6 +29,13 @@ public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins(allowedOrigins.toArray(new String[allowedOrigins.size()])) + .allowedMethods( + HttpMethod.GET.name(), + HttpMethod.HEAD.name(), + HttpMethod.POST.name(), + HttpMethod.PUT.name(), + HttpMethod.PATCH.name(), + HttpMethod.DELETE.name()) .maxAge(3000); // pre-flight 리퀘스트를 캐싱 } } \ No newline at end of file From c740204f51697253f7e3bb7dcd3f21a286366ee6 Mon Sep 17 00:00:00 2001 From: LeeJE20 <42895142+LeeJE20@users.noreply.github.com> Date: Sun, 23 Apr 2023 21:08:36 +0900 Subject: [PATCH 14/60] =?UTF-8?q?[chore]=20workflow=5Fdispatch=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 수동 배포 허용 --- .github/workflows/deploy.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 75b2dbfb..1f530273 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,6 +7,17 @@ on: pull_request: branches: - main + + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'Test scenario tags' + required: false + env: S3_BUCKET_NAME: wingle-ci-bucket CODE_DEPLOY_APPLICATION_NAME: wingle-codedeploy-app From d97b644cfe8e008145d5d8e63375470863febe0b Mon Sep 17 00:00:00 2001 From: LeeJE20 <42895142+LeeJE20@users.noreply.github.com> Date: Sun, 23 Apr 2023 21:58:28 +0900 Subject: [PATCH 15/60] =?UTF-8?q?[hotfix]=20=EB=A9=94=EC=A7=80=EC=A7=80=20?= =?UTF-8?q?=EC=A0=84=EC=86=A1=20=EA=B2=BD=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 마지막 / 삭제 --- .../java/kr/co/wingle/message/controller/MessageController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/message/controller/MessageController.java b/wingle/src/main/java/kr/co/wingle/message/controller/MessageController.java index 11d75ab6..10084071 100644 --- a/wingle/src/main/java/kr/co/wingle/message/controller/MessageController.java +++ b/wingle/src/main/java/kr/co/wingle/message/controller/MessageController.java @@ -28,7 +28,7 @@ public class MessageController { private final MessageService messageService; - @PostMapping("/") + @PostMapping("") public ApiResponse send(@RequestBody @Valid MessageRequestDto messageRequestDto) { MessageResponseDto response = messageService.send(messageRequestDto); return ApiResponse.success(SuccessCode.MESSAGE_SEND_SUCCESS, response); From 1f51233ad310735f9bbc1a6db8ed9438bcc4a25a Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:17:20 +0900 Subject: [PATCH 16/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20=EC=A0=80=EC=9E=A5=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/wingle/common/constants/SuccessCode.java | 1 + .../kr/co/wingle/member/MemberController.java | 15 ++++++++++++--- .../co/wingle/member/service/MemberService.java | 9 +++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java index 5e37604c..326e9b40 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java @@ -37,6 +37,7 @@ public enum SuccessCode { WAITING_USER_READ_SUCCESS(OK, "수락 대기 사용자 조회 성공"), REJECTION_LIST_READ_SUCCESS(OK, "수락 거절 목록 조회 성공"), ACCEPTANCE_LIST_READ_SUCCESS(OK, "수락 완료 목록 조회 성공"), + REJECTION_REASON_SAVE_SUCCESS(OK, "거절 사유 저장 성공"), // 프로필 PROFILE_SAVE_SUCCESS(OK, "프로필 저장 성공"), PROFILE_READ_SUCCESS(OK, "프로필 조회 성공"), diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberController.java b/wingle/src/main/java/kr/co/wingle/member/MemberController.java index 953177a5..3ca9fadf 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberController.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberController.java @@ -18,6 +18,7 @@ import kr.co.wingle.member.dto.AcceptanceRequestDto; import kr.co.wingle.member.dto.PermissionResponseDto; import kr.co.wingle.member.dto.RejectionRequestDto; +import kr.co.wingle.member.dto.RejectionResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Authority; @@ -39,8 +40,8 @@ public ApiResponse> waitingList(@PathVariable int pa List response = memberService.getWaitingList(page); return ApiResponse.success(SuccessCode.WAITING_LIST_READ_SUCCESS, response); } - - @GetMapping("/waiting/{userId}") + + @GetMapping("/waiting/{userId}") public ApiResponse waitingUser(@PathVariable Long userId) { checkAdminAccount(); WaitingUserResponseDto response = memberService.getWaitingUserInfo(userId); @@ -59,7 +60,7 @@ public ApiResponse> acceptanceList(@PathVariable int checkAdminAccount(); List response = memberService.getAcceptanceList(page); return ApiResponse.success(SuccessCode.ACCEPTANCE_LIST_READ_SUCCESS, response); - } + } @PostMapping("/permission/acceptance") public ApiResponse accept(@RequestBody @Valid AcceptanceRequestDto acceptanceRequestDto) { @@ -75,6 +76,14 @@ public ApiResponse reject(@RequestBody @Valid RejectionRe return ApiResponse.success(SuccessCode.REJECTION_SUCCESS, response); } + @PostMapping("/user/rejection") + public ApiResponse saveRejectionReason( + @RequestBody @Valid RejectionRequestDto rejectionRequestDto) { + checkAdminAccount(); + RejectionResponseDto response = memberService.saveRejectionReason(rejectionRequestDto); + return ApiResponse.success(SuccessCode.REJECTION_REASON_SAVE_SUCCESS, response); + } + private void checkAdminAccount() { Member member = authService.findMember(); if (member.getAuthority() == Authority.ROLE_USER) { diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index f266f782..459f1f54 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -9,6 +9,8 @@ import kr.co.wingle.common.constants.ErrorCode; import kr.co.wingle.common.exception.NotFoundException; import kr.co.wingle.member.MemberRepository; +import kr.co.wingle.member.dto.RejectionRequestDto; +import kr.co.wingle.member.dto.RejectionResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Member; @@ -63,6 +65,13 @@ public WaitingUserResponseDto getWaitingUserInfo(Long userId) { return WaitingUserResponseDto.from(member, nation); } + @Transactional + public RejectionResponseDto saveRejectionReason(RejectionRequestDto request) { + Member member = findMemberByUserId(request.getUserId()); + member.setRejectionReason(request.getReason()); + return RejectionResponseDto.from(request.getReason()); + } + public boolean validate(long memberId) { Member member = memberRepository.findById(memberId) .orElseThrow(() -> new IllegalArgumentException(ErrorCode.NO_ID.getMessage())); From 983577f50e6e472973b1c8e894cc9968ce574926 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:17:50 +0900 Subject: [PATCH 17/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EB=A9=94?= =?UTF-8?q?=EC=9D=BC=20=EB=B0=9C=EC=86=A1=20=EC=8B=9C=20=EA=B1=B0=EC=A0=88?= =?UTF-8?q?=20=EC=82=AC=EC=9C=A0=20=EC=A0=80=EC=9E=A5=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/member/service/AuthService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java index 1de8fe9c..db8e89a3 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java @@ -48,8 +48,8 @@ import kr.co.wingle.member.mailVo.AcceptanceMail; import kr.co.wingle.member.mailVo.CodeMail; import kr.co.wingle.member.mailVo.RejectionMail; -import kr.co.wingle.profile.entity.Profile; import kr.co.wingle.profile.ProfileRepository; +import kr.co.wingle.profile.entity.Profile; import lombok.RequiredArgsConstructor; @Service @@ -65,6 +65,7 @@ public class AuthService { private final S3Util s3Util; private final RedisUtil redisUtil; private final MailService mailService; + private final MemberService memberService; @Transactional public SignupResponseDto signup(SignupRequestDto request) { @@ -179,7 +180,7 @@ public PermissionResponseDto sendRejectionMail(RejectionRequestDto rejectionRequ throw new CustomException(ErrorCode.ALREADY_ACCEPTANCE); member.setPermission(Permission.DENY.getStatus()); - // TODO: 거절 사유 저장 + memberService.saveRejectionReason(rejectionRequestDto); mailService.sendEmail(member.getEmail(), new RejectionMail(rejectionRequestDto.getReason())); return PermissionResponseDto.of(userId, false); } From 9150672b62d8f59c7728ab5b0ab75cdf69b13b08 Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 22:59:05 +0900 Subject: [PATCH 18/60] =?UTF-8?q?[feat]=20=EC=9C=A0=EC=A0=80=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=8B=9C=20=EA=B1=B0=EC=A0=88=20=EC=82=AC=EC=9C=A0?= =?UTF-8?q?=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/member/dto/WaitingUserResponseDto.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java index 10aa5bdb..16c7d311 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java @@ -14,6 +14,7 @@ public class WaitingUserResponseDto { private String name; private LocalDateTime createdTime; private String idCardImage; + private String reason; private String nation; public static WaitingUserResponseDto from(Member member, String nation) { @@ -22,6 +23,7 @@ public static WaitingUserResponseDto from(Member member, String nation) { waitingUserResponseDto.name = member.getName(); waitingUserResponseDto.createdTime = member.getCreatedTime(); waitingUserResponseDto.idCardImage = member.getIdCardImageUrl(); + waitingUserResponseDto.reason = member.getRejectionReason(); waitingUserResponseDto.nation = nation; return waitingUserResponseDto; } From 690a040c5d97598352f8ed475018b93e870e348d Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 23:03:49 +0900 Subject: [PATCH 19/60] =?UTF-8?q?[feat]=20=EC=9C=A0=EC=A0=80=20=EB=A9=94?= =?UTF-8?q?=EB=AA=A8=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80=20#111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/java/kr/co/wingle/member/entity/Member.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java index 638cb7fe..4528e331 100644 --- a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java +++ b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java @@ -43,6 +43,10 @@ public class Member extends BaseEntity { @ColumnDefault("'ROLE_USER'") private Authority authority = Authority.ROLE_USER; + @Column + @Setter + private String memo; + public static Member createMember(String name, String idCardImageUrl, String email, String password, Authority authority) { Member member = new Member(); From 76bbf0982386c14c013978b7f71e88da6a12e084 Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 23:27:39 +0900 Subject: [PATCH 20/60] =?UTF-8?q?[feat]=20=EC=96=B4=EB=93=9C=EB=AF=BC=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=20=EB=A9=94=EB=AA=A8=20dto=20#111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/member/dto/MemoRequestDto.java | 10 ++++++++++ .../co/wingle/member/dto/MemoResponseDto.java | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java create mode 100644 wingle/src/main/java/kr/co/wingle/member/dto/MemoResponseDto.java diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java new file mode 100644 index 00000000..730cd457 --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java @@ -0,0 +1,10 @@ +package kr.co.wingle.member.dto; + +import javax.validation.constraints.NotNull; + +public class MemoRequestDto { + @NotNull(message = "사용자 id가 없습니다.") + private Long userId; + @NotNull(message = "메모가 없습니다.") + private String memo; +} diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/MemoResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/MemoResponseDto.java new file mode 100644 index 00000000..38c98dce --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/member/dto/MemoResponseDto.java @@ -0,0 +1,17 @@ +package kr.co.wingle.member.dto; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class MemoResponseDto { + private String memo; + + public static MemoResponseDto from(String memo) { + MemoResponseDto dto = new MemoResponseDto(); + dto.memo = memo; + return dto; + } +} From 94c15fd383cb9431676b3ea20d9ef61a81da87a5 Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sun, 23 Apr 2023 23:32:17 +0900 Subject: [PATCH 21/60] =?UTF-8?q?[faet]=20PostMapping=20->=20GetMapping?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95=20#89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/profile/ProfileController.java | 10 ++++------ .../main/java/kr/co/wingle/profile/ProfileService.java | 8 ++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java index c1ccd720..b976f209 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileController.java @@ -15,14 +15,13 @@ import kr.co.wingle.profile.dto.InterestsRequestDto; import kr.co.wingle.profile.dto.InterestsResponseDto; import kr.co.wingle.profile.dto.IntroductionRequestDto; +import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.LanguagesRequestDto; import kr.co.wingle.profile.dto.LanguagesResponseDto; import kr.co.wingle.profile.dto.ProfileGetResponseDto; import kr.co.wingle.profile.dto.ProfileRegistrationResponseDto; import kr.co.wingle.profile.dto.ProfileRequestDto; -import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.ProfileResponseDto; -import kr.co.wingle.profile.dto.ProfileViewRequestDto; import kr.co.wingle.profile.dto.ProfileViewResponseDto; import lombok.RequiredArgsConstructor; @@ -72,10 +71,9 @@ public ApiResponse isRegister() { return ApiResponse.success(SuccessCode.PROFILE_REGISTER_READ_SUCCESS, response); } - @PostMapping("/detail") - public ApiResponse viewProfile( - @Valid ProfileViewRequestDto profileViewRequestDto) { - ProfileViewResponseDto response = profileService.viewProfile(profileViewRequestDto); + @GetMapping("/detail") + public ApiResponse viewProfile() { + ProfileViewResponseDto response = profileService.getProfileDetail(); return ApiResponse.success(SuccessCode.PROFILE_READ_SUCCESS, response); } } diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index c5f1aa4f..a7dd3e6f 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -16,14 +16,13 @@ import kr.co.wingle.profile.dto.InterestsRequestDto; import kr.co.wingle.profile.dto.InterestsResponseDto; import kr.co.wingle.profile.dto.IntroductionRequestDto; +import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.LanguagesRequestDto; import kr.co.wingle.profile.dto.LanguagesResponseDto; import kr.co.wingle.profile.dto.ProfileGetResponseDto; import kr.co.wingle.profile.dto.ProfileRegistrationResponseDto; import kr.co.wingle.profile.dto.ProfileRequestDto; -import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.ProfileResponseDto; -import kr.co.wingle.profile.dto.ProfileViewRequestDto; import kr.co.wingle.profile.dto.ProfileViewResponseDto; import kr.co.wingle.profile.entity.Interest; import kr.co.wingle.profile.entity.Language; @@ -177,12 +176,9 @@ public ProfileRegistrationResponseDto isRegister() { return reponse; } - public ProfileViewResponseDto viewProfile(ProfileViewRequestDto request) { + public ProfileViewResponseDto getProfileDetail() { Member member = authService.findMember(); Profile profile = getProfile(member); - if (!request.getMyProfile()) { - request.setUserId(profile.getId()); - } String image = member.getIdCardImageUrl(); String nation = profile.getNation(); String nickname = profile.getNickname(); From df542a43b1ace9887c85fe45ce180e68e43f8752 Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 23:32:36 +0900 Subject: [PATCH 22/60] =?UTF-8?q?[feat]=20=EC=9C=A0=EC=A0=80=20=EB=A9=94?= =?UTF-8?q?=EB=AA=A8=20=EC=A0=80=EC=9E=A5=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20#111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/wingle/common/constants/SuccessCode.java | 5 +++-- .../kr/co/wingle/member/MemberController.java | 15 ++++++++++++--- .../kr/co/wingle/member/dto/MemoRequestDto.java | 3 +++ .../co/wingle/member/service/MemberService.java | 8 ++++++++ 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java index df0a76aa..e7d26c55 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java @@ -32,13 +32,14 @@ public enum SuccessCode { EMAIL_CERTIFICATION_SUCCESS(OK, "이메일 인증 성공"), ACCEPTANCE_SUCCESS(OK, "회원가입 수락 전송 성공"), REJECTION_SUCCESS(OK, "회원가입 거절 전송 성공"), + MEMO_SAVE_SUCCESS(OK, "사용자 메모 저장 성공"), WAITING_LIST_READ_SUCCESS(OK, "수락 대기 목록 조회 성공"), WAITING_USER_READ_SUCCESS(OK, "수락 대기 사용자 조회 성공"), REJECTION_LIST_READ_SUCCESS(OK, "수락 거절 목록 조회 성공"), ACCEPTANCE_LIST_READ_SUCCESS(OK, "수락 완료 목록 조회 성공"), PROFILE_SAVE_SUCCESS(OK, "프로필 저장 성공"), - PROFILE_READ_SUCCESS(OK,"프로필 조회 성공"), - PROFILE_REGISTER_READ_SUCCESS(OK,"프로필 등록 여부 조회 성공"), + PROFILE_READ_SUCCESS(OK, "프로필 조회 성공"), + PROFILE_REGISTER_READ_SUCCESS(OK, "프로필 등록 여부 조회 성공"), LANGUAGES_SAVE_SUCCESS(OK, "사용 가능 언어 저장 성공"), INTRODUCTION_SAVE_SUCCESS(OK, "자기소개 저장 성공"), INTERESTS_SAVE_SUCCESS(OK, "관심사 저장 성공"); diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberController.java b/wingle/src/main/java/kr/co/wingle/member/MemberController.java index 953177a5..b055f878 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberController.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberController.java @@ -16,6 +16,8 @@ import kr.co.wingle.common.dto.ApiResponse; import kr.co.wingle.common.exception.ForbiddenException; import kr.co.wingle.member.dto.AcceptanceRequestDto; +import kr.co.wingle.member.dto.MemoRequestDto; +import kr.co.wingle.member.dto.MemoResponseDto; import kr.co.wingle.member.dto.PermissionResponseDto; import kr.co.wingle.member.dto.RejectionRequestDto; import kr.co.wingle.member.dto.SignupListResponseDto; @@ -39,8 +41,8 @@ public ApiResponse> waitingList(@PathVariable int pa List response = memberService.getWaitingList(page); return ApiResponse.success(SuccessCode.WAITING_LIST_READ_SUCCESS, response); } - - @GetMapping("/waiting/{userId}") + + @GetMapping("/waiting/{userId}") public ApiResponse waitingUser(@PathVariable Long userId) { checkAdminAccount(); WaitingUserResponseDto response = memberService.getWaitingUserInfo(userId); @@ -59,7 +61,7 @@ public ApiResponse> acceptanceList(@PathVariable int checkAdminAccount(); List response = memberService.getAcceptanceList(page); return ApiResponse.success(SuccessCode.ACCEPTANCE_LIST_READ_SUCCESS, response); - } + } @PostMapping("/permission/acceptance") public ApiResponse accept(@RequestBody @Valid AcceptanceRequestDto acceptanceRequestDto) { @@ -75,6 +77,13 @@ public ApiResponse reject(@RequestBody @Valid RejectionRe return ApiResponse.success(SuccessCode.REJECTION_SUCCESS, response); } + @PostMapping("/user/memo") + public ApiResponse saveMemo(@RequestBody @Valid MemoRequestDto memoRequestDto) { + checkAdminAccount(); + MemoResponseDto response = memberService.saveMemo(memoRequestDto); + return ApiResponse.success(SuccessCode.MEMO_SAVE_SUCCESS, response); + } + private void checkAdminAccount() { Member member = authService.findMember(); if (member.getAuthority() == Authority.ROLE_USER) { diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java index 730cd457..2fd2c986 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/MemoRequestDto.java @@ -2,6 +2,9 @@ import javax.validation.constraints.NotNull; +import lombok.Getter; + +@Getter public class MemoRequestDto { @NotNull(message = "사용자 id가 없습니다.") private Long userId; diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index f266f782..325a6651 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -9,6 +9,8 @@ import kr.co.wingle.common.constants.ErrorCode; import kr.co.wingle.common.exception.NotFoundException; import kr.co.wingle.member.MemberRepository; +import kr.co.wingle.member.dto.MemoRequestDto; +import kr.co.wingle.member.dto.MemoResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Member; @@ -77,4 +79,10 @@ public Member findMemberByUserId(Long userId) { return memberRepository.findById(userId) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } + + public MemoResponseDto saveMemo(MemoRequestDto memoRequestDto) { + Member member = findMemberByUserId(memoRequestDto.getUserId()); + member.setMemo(memoRequestDto.getMemo()); + return MemoResponseDto.from(memoRequestDto.getMemo()); + } } From 2cdb7f9cedb3ee6cbafaaf94878278a5533577e3 Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 23:34:02 +0900 Subject: [PATCH 23/60] =?UTF-8?q?[feat]=20=EC=9C=A0=EC=A0=80=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=8B=9C=20=EB=A9=94=EB=AA=A8=20=EB=B6=88=EB=9F=AC?= =?UTF-8?q?=EC=98=A4=EA=B8=B0=20#111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/member/dto/WaitingUserResponseDto.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java index 10aa5bdb..bede3e18 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java @@ -14,6 +14,7 @@ public class WaitingUserResponseDto { private String name; private LocalDateTime createdTime; private String idCardImage; + private String memo; private String nation; public static WaitingUserResponseDto from(Member member, String nation) { @@ -22,6 +23,7 @@ public static WaitingUserResponseDto from(Member member, String nation) { waitingUserResponseDto.name = member.getName(); waitingUserResponseDto.createdTime = member.getCreatedTime(); waitingUserResponseDto.idCardImage = member.getIdCardImageUrl(); + waitingUserResponseDto.memo = member.getMemo(); waitingUserResponseDto.nation = nation; return waitingUserResponseDto; } From 11eab97469779f79616ea4a34775672bbdfd120a Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 24 Apr 2023 00:07:45 +0900 Subject: [PATCH 24/60] =?UTF-8?q?[refactor]=20=EC=98=A4=ED=83=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/profile/ProfileService.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index 97dce850..5f458dde 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -16,18 +16,17 @@ import kr.co.wingle.profile.dto.InterestsRequestDto; import kr.co.wingle.profile.dto.InterestsResponseDto; import kr.co.wingle.profile.dto.IntroductionRequestDto; +import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.LanguagesRequestDto; import kr.co.wingle.profile.dto.LanguagesResponseDto; import kr.co.wingle.profile.dto.ProfileGetResponseDto; import kr.co.wingle.profile.dto.ProfileRegistrationResponseDto; import kr.co.wingle.profile.dto.ProfileRequestDto; -import kr.co.wingle.profile.dto.IntroductionResponseDto; import kr.co.wingle.profile.dto.ProfileResponseDto; import kr.co.wingle.profile.entity.Interest; import kr.co.wingle.profile.entity.Language; import kr.co.wingle.profile.entity.MemberInterest; import kr.co.wingle.profile.entity.Profile; -import kr.co.wingle.common.exception.NotFoundException; import lombok.RequiredArgsConstructor; @Service @@ -141,8 +140,8 @@ public Profile getProfileByMemberId(Long memberId) { return profileRepository.findByMemberId(memberId) .orElseThrow(() -> new NotFoundException( ErrorCode.NO_PROFILE)); - } - + } + private String uploadProfileImage(MultipartFile idCardImage) { return s3Util.profileImageUpload(idCardImage); } @@ -172,7 +171,7 @@ public ProfileRegistrationResponseDto isRegister() { Profile profile = getProfile(member); Boolean registration = profile.isRegistration(); - ProfileRegistrationResponseDto reponse = ProfileRegistrationResponseDto.of(registration); - return reponse; + ProfileRegistrationResponseDto response = ProfileRegistrationResponseDto.of(registration); + return response; } } From 1fa354189b169407ae6abe09115910db7d4a070e Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Mon, 24 Apr 2023 00:16:40 +0900 Subject: [PATCH 25/60] =?UTF-8?q?[faet]=20memberinterest=EC=97=90=EC=84=9C?= =?UTF-8?q?=20interest.name=EB=A7=8C=20=EC=B6=94=EC=B6=9C=20#89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/profile/ProfileService.java | 6 +++++- .../profile/dto/ProfileViewRequestDto.java | 19 ------------------- .../profile/dto/ProfileViewResponseDto.java | 9 ++------- 3 files changed, 7 insertions(+), 27 deletions(-) delete mode 100644 wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index a7dd3e6f..457f484c 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -188,7 +188,11 @@ public ProfileViewResponseDto getProfileDetail() { .map(language -> LanguagesResponseDto.LanguageDto.of(language.getOrderNumber(), language.getName()) ).toList(); - List interests = memberInterestRepository.findAllByMember(member); + List memberInterests = memberInterestRepository.findAllByMember(member); + List interests = memberInterests.stream() + .map(memberInterest -> memberInterest.getInterest().getName()) + .toList(); + String introduce = profile.getIntroduction(); String sns = snsRepository.findAllByMember(member); diff --git a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java deleted file mode 100644 index b4af364f..00000000 --- a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewRequestDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package kr.co.wingle.profile.dto; - -import javax.validation.constraints.NotNull; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -public class ProfileViewRequestDto { - @NotNull - private Boolean myProfile; - private Long userId; - -} diff --git a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java index 45b71d53..4da54891 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/profile/dto/ProfileViewResponseDto.java @@ -2,11 +2,6 @@ import java.util.List; -import kr.co.wingle.member.entity.Member; -import kr.co.wingle.profile.LanguageRepository; -import kr.co.wingle.profile.entity.Language; -import kr.co.wingle.profile.entity.MemberInterest; -import kr.co.wingle.profile.entity.Profile; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; @@ -20,12 +15,12 @@ public class ProfileViewResponseDto { private String nickname; private Boolean gender; private List languages; - private List interests; + private List interests; private String introduce; private String sns; public static ProfileViewResponseDto of(String image, String nation, String nickname, Boolean gender, - List languages, List interests, String introduce, + List languages, List interests, String introduce, String sns) { ProfileViewResponseDto profileViewResponseDto = new ProfileViewResponseDto(); profileViewResponseDto.image = image; From cf240706312e242cc38f3ca31c8417c2d34c0fd9 Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 24 Apr 2023 00:21:24 +0900 Subject: [PATCH 26/60] =?UTF-8?q?[feat]=20=EB=A9=94=EB=AA=A8=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20@transactional=20=EC=B6=94=EA=B0=80=20#111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/member/service/MemberService.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index 325a6651..8a4f4471 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -65,6 +65,13 @@ public WaitingUserResponseDto getWaitingUserInfo(Long userId) { return WaitingUserResponseDto.from(member, nation); } + @Transactional + public MemoResponseDto saveMemo(MemoRequestDto memoRequestDto) { + Member member = findMemberByUserId(memoRequestDto.getUserId()); + member.setMemo(memoRequestDto.getMemo()); + return MemoResponseDto.from(memoRequestDto.getMemo()); + } + public boolean validate(long memberId) { Member member = memberRepository.findById(memberId) .orElseThrow(() -> new IllegalArgumentException(ErrorCode.NO_ID.getMessage())); @@ -79,10 +86,4 @@ public Member findMemberByUserId(Long userId) { return memberRepository.findById(userId) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } - - public MemoResponseDto saveMemo(MemoRequestDto memoRequestDto) { - Member member = findMemberByUserId(memoRequestDto.getUserId()); - member.setMemo(memoRequestDto.getMemo()); - return MemoResponseDto.from(memoRequestDto.getMemo()); - } } From e2cbbc77bd8e633071111ad9352ebfd1690bec10 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 02:29:21 +0900 Subject: [PATCH 27/60] =?UTF-8?q?[style]=20=EB=82=B4=EC=9A=A9=20=EA=B5=AC?= =?UTF-8?q?=EB=B6=84=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/common/constants/SuccessCode.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java index df0a76aa..5e37604c 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java @@ -30,15 +30,17 @@ public enum SuccessCode { NICKNAME_CHECK_SUCCESS(OK, "닉네임 확인 성공"), EMAIL_SEND_SUCCESS(OK, "이메일 인증코드 전송 성공"), EMAIL_CERTIFICATION_SUCCESS(OK, "이메일 인증 성공"), + // 어드민 ACCEPTANCE_SUCCESS(OK, "회원가입 수락 전송 성공"), REJECTION_SUCCESS(OK, "회원가입 거절 전송 성공"), WAITING_LIST_READ_SUCCESS(OK, "수락 대기 목록 조회 성공"), WAITING_USER_READ_SUCCESS(OK, "수락 대기 사용자 조회 성공"), REJECTION_LIST_READ_SUCCESS(OK, "수락 거절 목록 조회 성공"), ACCEPTANCE_LIST_READ_SUCCESS(OK, "수락 완료 목록 조회 성공"), + // 프로필 PROFILE_SAVE_SUCCESS(OK, "프로필 저장 성공"), - PROFILE_READ_SUCCESS(OK,"프로필 조회 성공"), - PROFILE_REGISTER_READ_SUCCESS(OK,"프로필 등록 여부 조회 성공"), + PROFILE_READ_SUCCESS(OK, "프로필 조회 성공"), + PROFILE_REGISTER_READ_SUCCESS(OK, "프로필 등록 여부 조회 성공"), LANGUAGES_SAVE_SUCCESS(OK, "사용 가능 언어 저장 성공"), INTRODUCTION_SAVE_SUCCESS(OK, "자기소개 저장 성공"), INTERESTS_SAVE_SUCCESS(OK, "관심사 저장 성공"); From 7d74cedf6876de13e4c043527633f7b637e28124 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:15:53 +0900 Subject: [PATCH 28/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/java/kr/co/wingle/member/entity/Member.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java index 638cb7fe..a147858e 100644 --- a/wingle/src/main/java/kr/co/wingle/member/entity/Member.java +++ b/wingle/src/main/java/kr/co/wingle/member/entity/Member.java @@ -43,6 +43,10 @@ public class Member extends BaseEntity { @ColumnDefault("'ROLE_USER'") private Authority authority = Authority.ROLE_USER; + @Column + @Setter + private String rejectionReason; + public static Member createMember(String name, String idCardImageUrl, String email, String password, Authority authority) { Member member = new Member(); From 374c036464b636f2c594089d8699d2425b142c5f Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:16:38 +0900 Subject: [PATCH 29/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20dto=20=EC=9E=91=EC=84=B1=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wingle/member/dto/RejectionRequestDto.java | 3 +-- .../wingle/member/dto/RejectionResponseDto.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java index 8c5d6d9f..e5558a44 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionRequestDto.java @@ -1,7 +1,6 @@ package kr.co.wingle.member.dto; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; import lombok.AccessLevel; import lombok.Getter; @@ -12,6 +11,6 @@ public class RejectionRequestDto { @NotNull(message = "사용자 id가 없습니다.") private Long userId; - @Size(max = 40) + @NotNull(message = "거절 사유가 없습니다.") private String reason; } diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java new file mode 100644 index 00000000..01a61819 --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/member/dto/RejectionResponseDto.java @@ -0,0 +1,17 @@ +package kr.co.wingle.member.dto; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class RejectionResponseDto { + private String reason; + + public static RejectionResponseDto from(String reason) { + RejectionResponseDto dto = new RejectionResponseDto(); + dto.reason = reason; + return dto; + } +} From afabe8fba36616f8a1ca3ef068253b3316a9c8ae Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:17:20 +0900 Subject: [PATCH 30/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EC=82=AC?= =?UTF-8?q?=EC=9C=A0=20=EC=A0=80=EC=9E=A5=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/wingle/common/constants/SuccessCode.java | 1 + .../kr/co/wingle/member/MemberController.java | 15 ++++++++++++--- .../co/wingle/member/service/MemberService.java | 9 +++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java index 5e37604c..326e9b40 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/SuccessCode.java @@ -37,6 +37,7 @@ public enum SuccessCode { WAITING_USER_READ_SUCCESS(OK, "수락 대기 사용자 조회 성공"), REJECTION_LIST_READ_SUCCESS(OK, "수락 거절 목록 조회 성공"), ACCEPTANCE_LIST_READ_SUCCESS(OK, "수락 완료 목록 조회 성공"), + REJECTION_REASON_SAVE_SUCCESS(OK, "거절 사유 저장 성공"), // 프로필 PROFILE_SAVE_SUCCESS(OK, "프로필 저장 성공"), PROFILE_READ_SUCCESS(OK, "프로필 조회 성공"), diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberController.java b/wingle/src/main/java/kr/co/wingle/member/MemberController.java index 953177a5..3ca9fadf 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberController.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberController.java @@ -18,6 +18,7 @@ import kr.co.wingle.member.dto.AcceptanceRequestDto; import kr.co.wingle.member.dto.PermissionResponseDto; import kr.co.wingle.member.dto.RejectionRequestDto; +import kr.co.wingle.member.dto.RejectionResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Authority; @@ -39,8 +40,8 @@ public ApiResponse> waitingList(@PathVariable int pa List response = memberService.getWaitingList(page); return ApiResponse.success(SuccessCode.WAITING_LIST_READ_SUCCESS, response); } - - @GetMapping("/waiting/{userId}") + + @GetMapping("/waiting/{userId}") public ApiResponse waitingUser(@PathVariable Long userId) { checkAdminAccount(); WaitingUserResponseDto response = memberService.getWaitingUserInfo(userId); @@ -59,7 +60,7 @@ public ApiResponse> acceptanceList(@PathVariable int checkAdminAccount(); List response = memberService.getAcceptanceList(page); return ApiResponse.success(SuccessCode.ACCEPTANCE_LIST_READ_SUCCESS, response); - } + } @PostMapping("/permission/acceptance") public ApiResponse accept(@RequestBody @Valid AcceptanceRequestDto acceptanceRequestDto) { @@ -75,6 +76,14 @@ public ApiResponse reject(@RequestBody @Valid RejectionRe return ApiResponse.success(SuccessCode.REJECTION_SUCCESS, response); } + @PostMapping("/user/rejection") + public ApiResponse saveRejectionReason( + @RequestBody @Valid RejectionRequestDto rejectionRequestDto) { + checkAdminAccount(); + RejectionResponseDto response = memberService.saveRejectionReason(rejectionRequestDto); + return ApiResponse.success(SuccessCode.REJECTION_REASON_SAVE_SUCCESS, response); + } + private void checkAdminAccount() { Member member = authService.findMember(); if (member.getAuthority() == Authority.ROLE_USER) { diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index f266f782..459f1f54 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -9,6 +9,8 @@ import kr.co.wingle.common.constants.ErrorCode; import kr.co.wingle.common.exception.NotFoundException; import kr.co.wingle.member.MemberRepository; +import kr.co.wingle.member.dto.RejectionRequestDto; +import kr.co.wingle.member.dto.RejectionResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Member; @@ -63,6 +65,13 @@ public WaitingUserResponseDto getWaitingUserInfo(Long userId) { return WaitingUserResponseDto.from(member, nation); } + @Transactional + public RejectionResponseDto saveRejectionReason(RejectionRequestDto request) { + Member member = findMemberByUserId(request.getUserId()); + member.setRejectionReason(request.getReason()); + return RejectionResponseDto.from(request.getReason()); + } + public boolean validate(long memberId) { Member member = memberRepository.findById(memberId) .orElseThrow(() -> new IllegalArgumentException(ErrorCode.NO_ID.getMessage())); From fa41b3bce82a1a10aac392b7f80bbf1cf5a89e1f Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 13 Apr 2023 03:17:50 +0900 Subject: [PATCH 31/60] =?UTF-8?q?[feat]=20=EA=B1=B0=EC=A0=88=20=EB=A9=94?= =?UTF-8?q?=EC=9D=BC=20=EB=B0=9C=EC=86=A1=20=EC=8B=9C=20=EA=B1=B0=EC=A0=88?= =?UTF-8?q?=20=EC=82=AC=EC=9C=A0=20=EC=A0=80=EC=9E=A5=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/member/service/AuthService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java index 1de8fe9c..db8e89a3 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java @@ -48,8 +48,8 @@ import kr.co.wingle.member.mailVo.AcceptanceMail; import kr.co.wingle.member.mailVo.CodeMail; import kr.co.wingle.member.mailVo.RejectionMail; -import kr.co.wingle.profile.entity.Profile; import kr.co.wingle.profile.ProfileRepository; +import kr.co.wingle.profile.entity.Profile; import lombok.RequiredArgsConstructor; @Service @@ -65,6 +65,7 @@ public class AuthService { private final S3Util s3Util; private final RedisUtil redisUtil; private final MailService mailService; + private final MemberService memberService; @Transactional public SignupResponseDto signup(SignupRequestDto request) { @@ -179,7 +180,7 @@ public PermissionResponseDto sendRejectionMail(RejectionRequestDto rejectionRequ throw new CustomException(ErrorCode.ALREADY_ACCEPTANCE); member.setPermission(Permission.DENY.getStatus()); - // TODO: 거절 사유 저장 + memberService.saveRejectionReason(rejectionRequestDto); mailService.sendEmail(member.getEmail(), new RejectionMail(rejectionRequestDto.getReason())); return PermissionResponseDto.of(userId, false); } From 94ecdf46bc6f976f42a6f158339c7876525f686d Mon Sep 17 00:00:00 2001 From: silver Date: Sun, 23 Apr 2023 22:59:05 +0900 Subject: [PATCH 32/60] =?UTF-8?q?[feat]=20=EC=9C=A0=EC=A0=80=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=8B=9C=20=EA=B1=B0=EC=A0=88=20=EC=82=AC=EC=9C=A0?= =?UTF-8?q?=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20#110?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/member/dto/WaitingUserResponseDto.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java index 10aa5bdb..16c7d311 100644 --- a/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/member/dto/WaitingUserResponseDto.java @@ -14,6 +14,7 @@ public class WaitingUserResponseDto { private String name; private LocalDateTime createdTime; private String idCardImage; + private String reason; private String nation; public static WaitingUserResponseDto from(Member member, String nation) { @@ -22,6 +23,7 @@ public static WaitingUserResponseDto from(Member member, String nation) { waitingUserResponseDto.name = member.getName(); waitingUserResponseDto.createdTime = member.getCreatedTime(); waitingUserResponseDto.idCardImage = member.getIdCardImageUrl(); + waitingUserResponseDto.reason = member.getRejectionReason(); waitingUserResponseDto.nation = nation; return waitingUserResponseDto; } From 0aee97d374515012af3144c4f1874bea5870bc26 Mon Sep 17 00:00:00 2001 From: silver Date: Fri, 28 Apr 2023 07:05:59 +0900 Subject: [PATCH 33/60] =?UTF-8?q?[feat]=20springSecurity=20cors=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20#94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/common/config/SecurityConfig.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java b/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java index ec291158..1c2531cc 100644 --- a/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java +++ b/wingle/src/main/java/kr/co/wingle/common/config/SecurityConfig.java @@ -30,6 +30,9 @@ public PasswordEncoder passwordEncoder() { @Bean protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http + .cors() + + .and() .csrf().disable() .exceptionHandling() From 0dd03d0ba0974cfc4992d20f74f7fc6e9852f5d7 Mon Sep 17 00:00:00 2001 From: silver Date: Fri, 28 Apr 2023 07:21:09 +0900 Subject: [PATCH 34/60] =?UTF-8?q?[fix]=20=EB=A9=94=EC=8B=9C=EC=A7=80=20?= =?UTF-8?q?=EC=97=86=EB=8A=94=20=EC=AA=BD=EC=A7=80=EB=B0=A9=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EA=B0=80=EB=8A=A5=ED=95=98=EA=B2=8C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95#119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 쪽지가 없는경우 recentChat, createdTime이 null이 됨 --- .../kr/co/wingle/message/dto/RoomResponseDto.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/message/dto/RoomResponseDto.java b/wingle/src/main/java/kr/co/wingle/message/dto/RoomResponseDto.java index d9229265..06310f45 100644 --- a/wingle/src/main/java/kr/co/wingle/message/dto/RoomResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/message/dto/RoomResponseDto.java @@ -23,18 +23,25 @@ public static RoomResponseDto from(Long roomId) { } public static RoomResponseDto roomPreview(Long roomId, Profile profile, MessageResponseDto message) { - return RoomResponseDto.builder() + RoomResponseDto roomResponseDto = RoomResponseDto.builder() .roomId(roomId) .image(profile.getImageUrl()) .nation(profile.getNation()) .nickname(profile.getNickname()) - .recentChat(message.getContent()) - .createdTime(message.getCreatedTime()) .build(); + + if (message != null) { + roomResponseDto.setRecentChat(message.getContent()); + roomResponseDto.setCreatedTime(message.getCreatedTime()); + } + return roomResponseDto; } @Override public int compareTo(RoomResponseDto response) { + // createdTime이 없으면 정렬하지 않음 + if (this.getCreatedTime() == null) + return 0; if (response.getCreatedTime().isAfter(this.getCreatedTime())) { return 1; } else if (response.getCreatedTime().isBefore(this.getCreatedTime())) { From 5c40b1b54440b54b85e6c72a63054f7af4e7b150 Mon Sep 17 00:00:00 2001 From: silver Date: Fri, 28 Apr 2023 07:53:48 +0900 Subject: [PATCH 35/60] =?UTF-8?q?[fix]=20=EC=AA=BD=EC=A7=80=20=EC=97=86?= =?UTF-8?q?=EB=8A=94=20=EA=B2=BD=EC=9A=B0=20=EC=97=90=EB=9F=AC=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20#121?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/message/service/MessageService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java index 25f2eebd..cbc3a07c 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java @@ -1,5 +1,6 @@ package kr.co.wingle.message.service; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -46,6 +47,11 @@ public List getListByRoom(Long roomId, int page, int size) { Pageable pageable = PageRequest.of(page, size); List pages = messageRepository.findByRoomIdAndIsDeletedOrderByCreatedTimeDesc(roomId, false, pageable); + + if (pages.isEmpty()) { + return new ArrayList(); + } + List result = pages.stream() .map(messageMapper::toResponseDto).collect(Collectors.toList()); return result; From 2ae34a1719c38b9b028398f4971ef4e8be6c43bc Mon Sep 17 00:00:00 2001 From: silver Date: Fri, 28 Apr 2023 07:58:23 +0900 Subject: [PATCH 36/60] =?UTF-8?q?[feat]=20=EC=AA=BD=EC=A7=80=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=97=AD=EC=88=9C=20=EC=A0=95=EB=A0=AC=20#123?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 최근 쪽지가 아래로 오게 정렬 --- .../kr/co/wingle/message/dto/MessageResponseDto.java | 12 +++++++++++- .../kr/co/wingle/message/service/MessageService.java | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/message/dto/MessageResponseDto.java b/wingle/src/main/java/kr/co/wingle/message/dto/MessageResponseDto.java index eb14b92f..adff43cf 100644 --- a/wingle/src/main/java/kr/co/wingle/message/dto/MessageResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/message/dto/MessageResponseDto.java @@ -9,7 +9,7 @@ @Getter @Setter @Builder -public class MessageResponseDto { +public class MessageResponseDto implements Comparable { private Long messageId; private String nickname; private String content; @@ -26,4 +26,14 @@ public static MessageResponseDto of(Long messageId, String nickname, String cont .isSender(isSender) .build(); } + + @Override + public int compareTo(MessageResponseDto response) { + if (response.getCreatedTime().isAfter(this.getCreatedTime())) { + return 1; + } else if (response.getCreatedTime().isBefore(this.getCreatedTime())) { + return -1; + } + return 0; + } } diff --git a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java index cbc3a07c..9f50d6c2 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java @@ -1,6 +1,7 @@ package kr.co.wingle.message.service; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -54,6 +55,7 @@ public List getListByRoom(Long roomId, int page, int size) { List result = pages.stream() .map(messageMapper::toResponseDto).collect(Collectors.toList()); + Collections.sort(result, Collections.reverseOrder()); return result; } From 42403a87264ba6a6e6e26b95dd7e6950f54c6038 Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sat, 29 Apr 2023 20:29:39 +0900 Subject: [PATCH 37/60] =?UTF-8?q?[faet]=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=EB=8C=80=EA=B8=B0,=EC=88=98=EB=9D=BD,=EA=B1=B0=EC=A0=88=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=EC=97=90=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80=20125?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/member/MemberController.java | 24 ++++++++++++++----- .../kr/co/wingle/member/MemberRepository.java | 3 +++ .../dto/SignupListResponseWithPagesDto.java | 22 +++++++++++++++++ .../wingle/member/service/MemberService.java | 7 ++++++ 4 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 wingle/src/main/java/kr/co/wingle/member/dto/SignupListResponseWithPagesDto.java diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberController.java b/wingle/src/main/java/kr/co/wingle/member/MemberController.java index eb3540ac..57c06a9d 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberController.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberController.java @@ -22,9 +22,11 @@ import kr.co.wingle.member.dto.RejectionRequestDto; import kr.co.wingle.member.dto.RejectionResponseDto; import kr.co.wingle.member.dto.SignupListResponseDto; +import kr.co.wingle.member.dto.SignupListResponseWithPagesDto; import kr.co.wingle.member.dto.WaitingUserResponseDto; import kr.co.wingle.member.entity.Authority; import kr.co.wingle.member.entity.Member; +import kr.co.wingle.member.entity.Permission; import kr.co.wingle.member.service.AuthService; import kr.co.wingle.member.service.MemberService; import lombok.RequiredArgsConstructor; @@ -37,9 +39,13 @@ public class MemberController { private final AuthService authService; @GetMapping("/list/waiting/{page}") - public ApiResponse> waitingList(@PathVariable int page) { + public ApiResponse waitingList(@PathVariable int page) { checkAdminAccount(); - List response = memberService.getWaitingList(page); + List list = memberService.getWaitingList(page); + long total = memberService.getTotalPages(Permission.WAIT.getStatus(), page); + + SignupListResponseWithPagesDto response = SignupListResponseWithPagesDto.from(list, total); + return ApiResponse.success(SuccessCode.WAITING_LIST_READ_SUCCESS, response); } @@ -51,16 +57,22 @@ public ApiResponse waitingUser(@PathVariable Long userId } @GetMapping("/list/rejection/{page}") - public ApiResponse> rejectionList(@PathVariable int page) { + public ApiResponse rejectionList(@PathVariable int page) { checkAdminAccount(); - List response = memberService.getRejectionList(page); + List list = memberService.getRejectionList(page); + long totalPages = memberService.getTotalPages(Permission.DENY.getStatus(), page); + + SignupListResponseWithPagesDto response = SignupListResponseWithPagesDto.from(list, totalPages); return ApiResponse.success(SuccessCode.REJECTION_LIST_READ_SUCCESS, response); } @GetMapping("/list/acceptance/{page}") - public ApiResponse> acceptanceList(@PathVariable int page) { + public ApiResponse acceptanceList(@PathVariable int page) { checkAdminAccount(); - List response = memberService.getAcceptanceList(page); + List list = memberService.getAcceptanceList(page); + long totalPages = memberService.getTotalPages(Permission.APPROVE.getStatus(), page); + + SignupListResponseWithPagesDto response = SignupListResponseWithPagesDto.from(list, totalPages); return ApiResponse.success(SuccessCode.ACCEPTANCE_LIST_READ_SUCCESS, response); } diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberRepository.java b/wingle/src/main/java/kr/co/wingle/member/MemberRepository.java index e4ce48f3..c56afa6f 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberRepository.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberRepository.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Optional; +import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; @@ -16,4 +17,6 @@ public interface MemberRepository extends JpaRepository { List findAllByPermissionOrderByCreatedTimeDesc(int permission, Pageable pageable); long countByPermission(int permission); + + Page findAllByPermission(int permission, Pageable pageable); } diff --git a/wingle/src/main/java/kr/co/wingle/member/dto/SignupListResponseWithPagesDto.java b/wingle/src/main/java/kr/co/wingle/member/dto/SignupListResponseWithPagesDto.java new file mode 100644 index 00000000..48289d1f --- /dev/null +++ b/wingle/src/main/java/kr/co/wingle/member/dto/SignupListResponseWithPagesDto.java @@ -0,0 +1,22 @@ +package kr.co.wingle.member.dto; + +import java.util.List; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class SignupListResponseWithPagesDto { + private List list; + + private Long totalPages; + + public static SignupListResponseWithPagesDto from(List list, Long totalPages) { + SignupListResponseWithPagesDto signupListResponseWithPagesDto = new SignupListResponseWithPagesDto(); + signupListResponseWithPagesDto.list = list; + signupListResponseWithPagesDto.totalPages = totalPages; + return signupListResponseWithPagesDto; + } +} diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index 83842515..ee99d96f 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -2,6 +2,7 @@ import java.util.List; +import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -95,4 +96,10 @@ public Member findMemberByUserId(Long userId) { return memberRepository.findById(userId) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } + + public long getTotalPages(int permission, int page) { + PageRequest pageRequest = PageRequest.of(page, pageSize); + Page pages = memberRepository.findAllByPermission(permission, pageRequest); + return pages.getTotalPages(); + } } From acbb1d2251a80d9e72c4f781b8cdc1109079b104 Mon Sep 17 00:00:00 2001 From: minjikim Date: Sat, 29 Apr 2023 21:33:36 +0900 Subject: [PATCH 38/60] =?UTF-8?q?[fix]=20Long=20=EB=B9=84=EA=B5=90=20?= =?UTF-8?q?=EC=97=B0=EC=82=B0=EC=9E=90=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/community/article/ArticleService.java | 2 +- .../java/kr/co/wingle/community/comment/CommentService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java index 3ed4b37e..1993c21b 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java @@ -101,7 +101,7 @@ public Article getArticleById(Long articleId) { @Transactional(readOnly = true) public boolean isValidForum(Article article, Long forumId) { // 게시판 안 맞으면 에러 - if (article.getForum().getId() != forumId) { + if (!forumId.equals(article.getForum().getId())) { throw new NotFoundException(ErrorCode.BAD_PARAMETER); } return true; diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java index 7e9a4127..0e48f815 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java @@ -73,7 +73,7 @@ public Comment getCommentById(Long commentId) { @Transactional(readOnly = true) public boolean isValidArticle(Comment comment, Long articleId) { // 게시글 안 맞으면 에러 - if (comment.getArticle().getId() != articleId) { + if (!articleId.equals(comment.getArticle().getId())) { throw new NotFoundException(ErrorCode.BAD_PARAMETER); } return true; From 71eccd4104d946a026ee83295d06c438d2ca9367 Mon Sep 17 00:00:00 2001 From: silver Date: Mon, 1 May 2023 18:30:42 +0900 Subject: [PATCH 39/60] =?UTF-8?q?[refactor]=20=ED=95=A8=EC=88=98=EB=AA=85?= =?UTF-8?q?=20user=20->=20member=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/member/service/MemberService.java | 12 ++++++------ .../kr/co/wingle/message/service/RoomService.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index ee99d96f..38918ea6 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -63,21 +63,21 @@ public List getAcceptanceList(int page) { @Transactional(readOnly = true) public WaitingUserResponseDto getWaitingUserInfo(Long userId) { - Member member = findMemberByUserId(userId); + Member member = findMemberByMemberId(userId); String nation = profileRepository.findNationByMember(member); return WaitingUserResponseDto.from(member, nation); } @Transactional public MemoResponseDto saveMemo(MemoRequestDto memoRequestDto) { - Member member = findMemberByUserId(memoRequestDto.getUserId()); + Member member = findMemberByMemberId(memoRequestDto.getUserId()); member.setMemo(memoRequestDto.getMemo()); return MemoResponseDto.from(memoRequestDto.getMemo()); } @Transactional public RejectionResponseDto saveRejectionReason(RejectionRequestDto request) { - Member member = findMemberByUserId(request.getUserId()); + Member member = findMemberByMemberId(request.getUserId()); member.setRejectionReason(request.getReason()); return RejectionResponseDto.from(request.getReason()); } @@ -91,9 +91,9 @@ public boolean validate(long memberId) { // TODO: 관리자페이지에서 승인 받은 회원인지 검사 return true; } - - public Member findMemberByUserId(Long userId) { - return memberRepository.findById(userId) + + public Member findMemberByMemberId(Long memberId) { + return memberRepository.findById(memberId) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } diff --git a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java index fec7e80d..3a53767a 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java @@ -106,7 +106,7 @@ private Room createRoom(RoomRequestDto roomRequestDto) { roomRepository.save(room); if (originType == OriginType.PROFILE) { - Member targetMember = memberService.findMemberByUserId(roomRequestDto.getOriginId()); + Member targetMember = memberService.findMemberByMemberId(roomRequestDto.getOriginId()); roomMemberRepository.save(RoomMember.of(room, loggedInMember)); if (loggedInMember.getId() != roomRequestDto.getOriginId()) { roomMemberRepository.save(RoomMember.of(room, targetMember)); From ef686cf6c3c6fe1d84397cbcfa6b8289a1045f8c Mon Sep 17 00:00:00 2001 From: minjikim Date: Tue, 2 May 2023 18:50:50 +0900 Subject: [PATCH 40/60] =?UTF-8?q?[add]=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20&?= =?UTF-8?q?=20=EB=8C=93=EA=B8=80=20res=EC=97=90=20userImage=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/community/article/ArticleMapper.java | 3 +++ .../kr/co/wingle/community/article/ArticleResponseDto.java | 1 + .../java/kr/co/wingle/community/comment/CommentMapper.java | 4 +--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java index d8ae1f5c..492c8d42 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java @@ -7,12 +7,14 @@ import kr.co.wingle.community.util.CommunityUtil; import kr.co.wingle.community.util.ProcessedPersonalInformation; +import kr.co.wingle.profile.ProfileService; import lombok.RequiredArgsConstructor; @Component @RequiredArgsConstructor public class ArticleMapper { private final CommunityUtil communityUtil; + private final ProfileService profileService; public ArticleResponseDto toResponseDto(Article article, List images) { if (article == null) { @@ -36,6 +38,7 @@ public ArticleResponseDto toResponseDto(Article article, List images) { } articleResponseDto.isMine(processedPersonalInformation.isMine()); articleResponseDto.userId(processedPersonalInformation.getProcessedMemberId()); + articleResponseDto.userImage(profileService.getProfileByMemberId(article.getMember().getId()).getImageUrl()); articleResponseDto.forumId(article.getForum().getId()); return articleResponseDto.build(); diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java index 22eb4382..a6036eca 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java @@ -18,6 +18,7 @@ public class ArticleResponseDto { private Long articleId; private Long userId; private String userNickname; + private String userImage; private LocalDateTime createdTime; private LocalDateTime updatedTime; private Long forumId; diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentMapper.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentMapper.java index fb342521..d52f9dd5 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentMapper.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentMapper.java @@ -23,9 +23,7 @@ public CommentResponseDto toResponseDto(Comment comment) { commentResponseDto.id(comment.getId()); commentResponseDto.userId(processedPersonalInformation.getProcessedMemberId()); commentResponseDto.userNickname(processedPersonalInformation.getNickname()); - // TODO: Profile 엔티티에 프로필 사진 컬럼 추가 - // commentResponseDto.userImage(profileService.getProfileByMemberId(comment.getMember().getId()).getImageUrl()); - commentResponseDto.userImage(""); + commentResponseDto.userImage(profileService.getProfileByMemberId(comment.getMember().getId()).getImageUrl()); commentResponseDto.userNation(profileService.getProfileByMemberId(comment.getMember().getId()).getNation()); commentResponseDto.createdTime(comment.getCreatedTime()); commentResponseDto.updatedTime(comment.getUpdatedTime()); From 2ca226f73402593f578e5d909e53f55ed1b99b46 Mon Sep 17 00:00:00 2001 From: minjikim Date: Tue, 2 May 2023 23:28:16 +0900 Subject: [PATCH 41/60] =?UTF-8?q?[fix]=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=EC=A1=B0=ED=9A=8C=20image=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 --- .../src/main/java/kr/co/wingle/profile/ProfileService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index 7420655a..487b0fb4 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -143,8 +143,8 @@ public Profile getProfileByMemberId(Long memberId) { ErrorCode.NO_PROFILE)); } - private String uploadProfileImage(MultipartFile idCardImage) { - return s3Util.profileImageUpload(idCardImage); + private String uploadProfileImage(MultipartFile profileImage) { + return s3Util.profileImageUpload(profileImage); } private void setRegistration(Member member) { @@ -179,7 +179,7 @@ public ProfileRegistrationResponseDto isRegister() { public ProfileViewResponseDto getProfileDetail() { Member member = authService.findMember(); Profile profile = getProfile(member); - String image = member.getIdCardImageUrl(); + String image = profile.getImageUrl(); String nation = profile.getNation(); String nickname = profile.getNickname(); Boolean gender = profile.isGender(); From 98efbd1f4329e5b833fdf8dc832fb7c56f25dc31 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:43:39 +0900 Subject: [PATCH 42/60] =?UTF-8?q?[feat]=20=EC=8A=B9=EC=9D=B8=EB=B0=9B?= =?UTF-8?q?=EC=9D=80=20=ED=9A=8C=EC=9B=90=EC=9D=B8=EC=A7=80=20=EA=B2=80?= =?UTF-8?q?=EC=82=AC=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/wingle/member/service/MemberService.java | 14 ++++++++------ .../java/kr/co/wingle/writing/WritingService.java | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index 38918ea6..a85bbfd8 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -82,16 +82,18 @@ public RejectionResponseDto saveRejectionReason(RejectionRequestDto request) { return RejectionResponseDto.from(request.getReason()); } - public boolean validate(long memberId) { - Member member = memberRepository.findById(memberId) - .orElseThrow(() -> new IllegalArgumentException(ErrorCode.NO_ID.getMessage())); + public boolean isAcceptedMember(Long memberId) { + Member member = findMemberByMemberId(memberId); if (member.isDeleted() == true) { - throw new IllegalArgumentException(ErrorCode.NO_ID.getMessage()); + throw new NotFoundException(ErrorCode.ALREADY_WITHDRAWN); + } + // 관리자페이지에서 회원가입 승인 받은 회원인지 검사 + if (member.getPermission() != 1) { + throw new NotFoundException(ErrorCode.FORBIDDEN_USER); } - // TODO: 관리자페이지에서 승인 받은 회원인지 검사 return true; } - + public Member findMemberByMemberId(Long memberId) { return memberRepository.findById(memberId) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); diff --git a/wingle/src/main/java/kr/co/wingle/writing/WritingService.java b/wingle/src/main/java/kr/co/wingle/writing/WritingService.java index 7171a7da..4e38d1ef 100644 --- a/wingle/src/main/java/kr/co/wingle/writing/WritingService.java +++ b/wingle/src/main/java/kr/co/wingle/writing/WritingService.java @@ -15,7 +15,7 @@ public abstract class WritingService { @Transactional protected WritingDto softDelete(Long memberId, Long writingId, WritingRepository repository) { - memberService.validate(memberId); + memberService.isAcceptedMember(memberId); Writing writing = repository.findById(writingId) .orElseThrow(() -> new IllegalArgumentException(ErrorCode.NO_ID.getMessage())); if (writing.getMember().getId() != memberId) { From 53bcc7e2ecfecbf2cc2b4427a43c073955d7145d Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:49:14 +0900 Subject: [PATCH 43/60] =?UTF-8?q?[feat]=20memberId=EB=A1=9C=20=EC=8A=B9?= =?UTF-8?q?=EC=9D=B8=EB=90=9C=20=EC=9C=A0=EC=A0=80=20=EC=B0=BE=EA=B8=B0=20?= =?UTF-8?q?#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/member/service/MemberService.java | 7 +++++++ .../java/kr/co/wingle/message/service/RoomService.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index a85bbfd8..5e0350ac 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -99,6 +99,13 @@ public Member findMemberByMemberId(Long memberId) { .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } + public Member findAcceptedMemberByMemberId(Long memberId) { + if (!isAcceptedMember(memberId)) { + throw new NotFoundException(ErrorCode.USER_NOT_FOUND); + } + return findMemberByMemberId(memberId); + } + public long getTotalPages(int permission, int page) { PageRequest pageRequest = PageRequest.of(page, pageSize); Page pages = memberRepository.findAllByPermission(permission, pageRequest); diff --git a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java index 3a53767a..ddd78bf8 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java @@ -106,7 +106,7 @@ private Room createRoom(RoomRequestDto roomRequestDto) { roomRepository.save(room); if (originType == OriginType.PROFILE) { - Member targetMember = memberService.findMemberByMemberId(roomRequestDto.getOriginId()); + Member targetMember = memberService.findAcceptedMemberByMemberId(roomRequestDto.getOriginId()); roomMemberRepository.save(RoomMember.of(room, loggedInMember)); if (loggedInMember.getId() != roomRequestDto.getOriginId()) { roomMemberRepository.save(RoomMember.of(room, targetMember)); From 69aed17326de9530c4c935fef700fd759aa38117 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:53:49 +0900 Subject: [PATCH 44/60] =?UTF-8?q?[chore]=20=ED=83=88=ED=87=B4=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=20=EC=97=90=EB=9F=AC=EC=BD=94=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/kr/co/wingle/common/constants/ErrorCode.java | 1 + 1 file changed, 1 insertion(+) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java index e6d3c254..6e906129 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java @@ -30,6 +30,7 @@ public enum ErrorCode { DUPLICATE_EMAIL(BAD_REQUEST, "이미 가입된 유저입니다."), ALREADY_ACCEPTANCE(BAD_REQUEST, "이미 가입 승인한 유저입니다."), ALREADY_DENY(BAD_REQUEST, "이미 가입 거절한 유저입니다."), + ALREADY_WITHDROWN(BAD_REQUEST, "이미 탈퇴한 유저입니다."), // 메일 EMAIL_BAD_REQUEST(BAD_REQUEST, "이메일 형식이 유효하지 않습니다."), EMAIL_SEND_FAIL(BAD_REQUEST, "이메일을 전송할 수 없습니다."), From 69915fb052d1a39072a368e3c79e18610f775d6c Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:54:19 +0900 Subject: [PATCH 45/60] =?UTF-8?q?[refactor]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=ED=95=9C=20=EB=A9=A4=EB=B2=84=20=EC=B0=BE=EA=B8=B0=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EB=AA=85=20=EB=B3=80=EA=B2=BD=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wingle/community/article/ArticleService.java | 6 +++--- .../wingle/community/comment/CommentService.java | 4 ++-- .../kr/co/wingle/community/util/CommunityUtil.java | 2 +- .../java/kr/co/wingle/member/AuthController.java | 3 +-- .../java/kr/co/wingle/member/MemberController.java | 2 +- .../kr/co/wingle/member/service/AuthService.java | 8 +++++++- .../co/wingle/message/service/MessageService.java | 4 ++-- .../kr/co/wingle/message/service/RoomService.java | 8 ++++---- .../java/kr/co/wingle/profile/ProfileService.java | 14 +++++++------- .../java/kr/co/wingle/writing/WritingUtil.java | 2 +- .../kr/co/wingle/member/AuthControllerTest.java | 2 +- .../kr/co/wingle/member/MemberControllerTest.java | 12 ++++++------ .../co/wingle/member/service/AuthServiceTest.java | 6 +++--- 13 files changed, 39 insertions(+), 34 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java index 1993c21b..901c8bd4 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java @@ -30,7 +30,7 @@ public class ArticleService extends WritingService { @Transactional public ArticleResponseDto create(ArticleRequestDto request) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Forum forum = forumService.getForumById(request.getForumId()); // 공지 작성 방지 @@ -65,7 +65,7 @@ public List getList(Long forumId, int page, int size, boolea Pageable pageable = PageRequest.of(page, size); List
pages; if (getMine) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); pages = articleRepository.findByForumIdAndMemberIdAndIsDeleted(forumId, member.getId(), false, pageable); } else { pages = articleRepository.findByForumIdAndIsDeleted(forumId, false, pageable); @@ -80,7 +80,7 @@ public List getList(Long forumId, int page, int size, boolea @Transactional public Long delete(Long forumId, Long articleId) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Article article = getArticleById(articleId); if (isValidMember(article, member) && isExist(article) && isValidForum(article, forumId)) { diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java index 0e48f815..6d0cd9e3 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java @@ -27,7 +27,7 @@ public class CommentService extends WritingService { @Transactional public CommentResponseDto create(CommentRequestDto request) { - Member loggedInMember = authService.findMember(); + Member loggedInMember = authService.findLoggedInMember(); Article article = articleService.getArticleById(request.getArticleId()); articleService.isValidForum(article, request.getForumId()); @@ -51,7 +51,7 @@ public List getList(Long forumId, Long articleId, int page, @Transactional public Long delete(Long forumId, Long articleId, Long commentId) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Comment comment = getCommentById(commentId); if (isValidMember(comment, member) && isExist(comment) && articleService.isValidForum(comment.getArticle(), diff --git a/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java b/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java index d5fb97a8..cfb29422 100644 --- a/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java +++ b/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java @@ -28,7 +28,7 @@ public class CommunityUtil { // 게시판, 작성자에 따라 개인정보 가공 public ProcessedPersonalInformation processPersonalInformation(Writing writing) { - Member loggedInMember = authService.findMember(); + Member loggedInMember = authService.findLoggedInMember(); Profile profile = profileService.getProfileByMemberId(writing.getMember().getId()); Forum forum; diff --git a/wingle/src/main/java/kr/co/wingle/member/AuthController.java b/wingle/src/main/java/kr/co/wingle/member/AuthController.java index 0a89585f..319c1dae 100644 --- a/wingle/src/main/java/kr/co/wingle/member/AuthController.java +++ b/wingle/src/main/java/kr/co/wingle/member/AuthController.java @@ -11,7 +11,6 @@ import kr.co.wingle.common.constants.SuccessCode; import kr.co.wingle.common.dto.ApiResponse; -import kr.co.wingle.common.util.SecurityUtil; import kr.co.wingle.member.dto.CertificationRequestDto; import kr.co.wingle.member.dto.CertificationResponseDto; import kr.co.wingle.member.dto.EmailRequestDto; @@ -53,7 +52,7 @@ public ApiResponse login(@RequestBody @Valid LoginRequestDto l @GetMapping("/me") public ApiResponse getMyAccount() { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); MemberResponseDto response = MemberResponseDto.from(member); return ApiResponse.success(SuccessCode.ACCOUNT_READ_SUCCESS, response); } diff --git a/wingle/src/main/java/kr/co/wingle/member/MemberController.java b/wingle/src/main/java/kr/co/wingle/member/MemberController.java index 57c06a9d..19a04df2 100644 --- a/wingle/src/main/java/kr/co/wingle/member/MemberController.java +++ b/wingle/src/main/java/kr/co/wingle/member/MemberController.java @@ -106,7 +106,7 @@ public ApiResponse saveMemo(@RequestBody @Valid MemoRequestDto } private void checkAdminAccount() { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); if (member.getAuthority() == Authority.ROLE_USER) { throw new ForbiddenException(ErrorCode.FORBIDDEN_USER); } diff --git a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java index db8e89a3..a0fe5506 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java @@ -105,11 +105,17 @@ public LoginResponseDto login(LoginRequestDto loginRequestDto) { } @Transactional(readOnly = true) - public Member findMember() { + public Member findLoggedInMember() { return memberRepository.findByEmail(SecurityUtil.getCurrentUserEmail()) .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); } + @Transactional(readOnly = true) + public Member findAcceptedLoggedInMember() { + Member member = findLoggedInMember(); + + } + @Transactional public TokenDto reissue(TokenRequestDto tokenRequestDto) { String key = RedisUtil.PREFIX_REFRESH_TOKEN + tokenRequestDto.getRefreshToken(); diff --git a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java index 9f50d6c2..ea50efd7 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java @@ -31,7 +31,7 @@ public class MessageService extends WritingService { @Transactional public MessageResponseDto send(MessageRequestDto messageRequestDto) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Room room = roomService.getRoomById(messageRequestDto.getRoomId()); // 해당 쪽지방에 있는지 검사 roomService.isValidRoomMember(member.getId(), room.getId()); @@ -43,7 +43,7 @@ public MessageResponseDto send(MessageRequestDto messageRequestDto) { @Transactional(readOnly = true) public List getListByRoom(Long roomId, int page, int size) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); roomService.isValidRoomMember(member.getId(), roomId); Pageable pageable = PageRequest.of(page, size); diff --git a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java index ddd78bf8..cc514785 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java @@ -55,7 +55,7 @@ public Room getRoomById(Long roomId) { @Transactional public RoomResponseDto getRoom(RoomRequestDto roomRequestDto) { final int oneToOneRoomSize = 2; - Member loggedInMember = authService.findMember(); + Member loggedInMember = authService.findLoggedInMember(); OriginType originType = OriginType.from(roomRequestDto.getOriginType()); Room targetRoom = null; @@ -97,7 +97,7 @@ public RoomResponseDto getRoom(RoomRequestDto roomRequestDto) { @Transactional private Room createRoom(RoomRequestDto roomRequestDto) { - Member loggedInMember = authService.findMember(); + Member loggedInMember = authService.findLoggedInMember(); OriginType originType = OriginType.from(roomRequestDto.getOriginType()); if (!isValidOriginTypeAndId(originType, roomRequestDto.getOriginId())) { throw new NotFoundException(ErrorCode.BAD_PARAMETER); @@ -118,7 +118,7 @@ private Room createRoom(RoomRequestDto roomRequestDto) { @Transactional(readOnly = true) private boolean isValidOriginTypeAndId(OriginType originType, Long id) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); boolean isDeleted = switch (originType) { case ARTICLE -> articleService.getArticleById(id).isDeleted(); case COMMENT -> commentService.getCommentById(id).isDeleted(); @@ -138,7 +138,7 @@ public boolean isValidRoomMember(Long MemberId, Long roomId) { } public List getMyList(int page, int size) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Pageable pageable = PageRequest.of(page, size); List pages = roomMemberRepository.findByMemberIdAndIsDeleted(member.getId(), false, pageable); diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index 7420655a..61461757 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -43,7 +43,7 @@ public class ProfileService { @Transactional public ProfileResponseDto saveProfile(ProfileRequestDto request) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); //TODO: setRegistration @@ -74,7 +74,7 @@ public ProfileResponseDto saveProfile(ProfileRequestDto request) { @Transactional public LanguagesResponseDto saveLanguages(LanguagesRequestDto request) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); // delete all memberLanguage List allByMember = languageRepository.findAllByMember(member); @@ -98,7 +98,7 @@ public LanguagesResponseDto saveLanguages(LanguagesRequestDto request) { @Transactional public IntroductionResponseDto saveIntroduction(IntroductionRequestDto request) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Profile profile = getProfile(member); profile.setIntroduction(request.getIntroduction()); @@ -108,7 +108,7 @@ public IntroductionResponseDto saveIntroduction(IntroductionRequestDto request) @Transactional public InterestsResponseDto saveInterests(InterestsRequestDto request) { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); // delete all memberInterest List allByMember = memberInterestRepository.findAllByMember(member); @@ -154,7 +154,7 @@ private void setRegistration(Member member) { @Transactional public ProfileGetResponseDto getProfile() { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Profile profile = getProfile(member); String imageUrl = profile.getImageUrl(); @@ -168,7 +168,7 @@ public ProfileGetResponseDto getProfile() { } public ProfileRegistrationResponseDto isRegister() { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Profile profile = getProfile(member); Boolean registration = profile.isRegistration(); @@ -177,7 +177,7 @@ public ProfileRegistrationResponseDto isRegister() { } public ProfileViewResponseDto getProfileDetail() { - Member member = authService.findMember(); + Member member = authService.findLoggedInMember(); Profile profile = getProfile(member); String image = member.getIdCardImageUrl(); String nation = profile.getNation(); diff --git a/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java b/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java index 09090ecf..a81e1a3b 100644 --- a/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java +++ b/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java @@ -14,7 +14,7 @@ public class WritingUtil { @Transactional(readOnly = true) public boolean isMine(Writing writing) { - Member loggedInMember = authService.findMember(); + Member loggedInMember = authService.findLoggedInMember(); boolean isMine = writing.getMember().getId() == loggedInMember.getId() ? true : false; return isMine; } diff --git a/wingle/src/test/java/kr/co/wingle/member/AuthControllerTest.java b/wingle/src/test/java/kr/co/wingle/member/AuthControllerTest.java index 7b4acb7a..92fcc170 100644 --- a/wingle/src/test/java/kr/co/wingle/member/AuthControllerTest.java +++ b/wingle/src/test/java/kr/co/wingle/member/AuthControllerTest.java @@ -112,7 +112,7 @@ public void setup(WebApplicationContext webApplicationContext) { Member member = MemberTemplate.makeTestMember(); MemberResponseDto responseDto = MemberResponseDto.from(member); - given(authService.findMember()) + given(authService.findLoggedInMember()) .willReturn(member); MockHttpServletRequestBuilder builder = get("/api/v1/auth/me") diff --git a/wingle/src/test/java/kr/co/wingle/member/MemberControllerTest.java b/wingle/src/test/java/kr/co/wingle/member/MemberControllerTest.java index af7a8342..74140bbe 100644 --- a/wingle/src/test/java/kr/co/wingle/member/MemberControllerTest.java +++ b/wingle/src/test/java/kr/co/wingle/member/MemberControllerTest.java @@ -61,7 +61,7 @@ public void setup(WebApplicationContext webApplicationContext) { @Test void 수락_대기_목록_조회() throws Exception { Member adminMember = makeTestAdminMember(); - given(authService.findMember()) + given(authService.findLoggedInMember()) .willReturn(adminMember); List response = new ArrayList<>(); given(memberService.getWaitingList(anyInt())) @@ -81,7 +81,7 @@ public void setup(WebApplicationContext webApplicationContext) { @Test void 수락_대기_사용자_조회() throws Exception { Member adminMember = makeTestAdminMember(); - given(authService.findMember()) + given(authService.findLoggedInMember()) .willReturn(adminMember); WaitingUserResponseDto response = WaitingUserResponseDto.from(makeTestMember(), "KR"); given(memberService.getWaitingUserInfo(anyLong())) @@ -97,11 +97,11 @@ public void setup(WebApplicationContext webApplicationContext) { )) .andDo(print()); } - - @Test + + @Test void 수락_거절_목록_조회() throws Exception { Member adminMember = makeTestAdminMember(); - given(authService.findMember()) + given(authService.findLoggedInMember()) .willReturn(adminMember); List response = new ArrayList<>(); given(memberService.getRejectionList(anyInt())) @@ -121,7 +121,7 @@ public void setup(WebApplicationContext webApplicationContext) { @Test void 수락_완료_목록_조회() throws Exception { Member adminMember = makeTestAdminMember(); - given(authService.findMember()) + given(authService.findLoggedInMember()) .willReturn(adminMember); List response = new ArrayList<>(); given(memberService.getAcceptanceList(anyInt())) diff --git a/wingle/src/test/java/kr/co/wingle/member/service/AuthServiceTest.java b/wingle/src/test/java/kr/co/wingle/member/service/AuthServiceTest.java index 445dd81e..5db9e1a8 100644 --- a/wingle/src/test/java/kr/co/wingle/member/service/AuthServiceTest.java +++ b/wingle/src/test/java/kr/co/wingle/member/service/AuthServiceTest.java @@ -27,8 +27,8 @@ import kr.co.wingle.member.dto.TokenRequestDto; import kr.co.wingle.member.entity.Member; import kr.co.wingle.member.entity.TermMember; -import kr.co.wingle.profile.entity.Profile; import kr.co.wingle.profile.ProfileRepository; +import kr.co.wingle.profile.entity.Profile; @SpringBootTest @WithMockUser(value = EMAIL, password = PASSWORD) @@ -97,7 +97,7 @@ class AuthServiceTest { memberRepository.save(member); //when - Member findMember = authService.findMember(); + Member findMember = authService.findLoggedInMember(); //then assertThat(findMember.getEmail()).isEqualTo(member.getEmail()); @@ -110,7 +110,7 @@ class AuthServiceTest { //when //then - assertThatThrownBy(() -> authService.findMember()).isInstanceOf(NotFoundException.class) + assertThatThrownBy(() -> authService.findLoggedInMember()).isInstanceOf(NotFoundException.class) .hasMessage(ErrorCode.USER_NOT_FOUND.getMessage()); } From 4c87e7c142090f3493c6b3381a00d4be48994959 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:56:05 +0900 Subject: [PATCH 46/60] =?UTF-8?q?[chore]=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/kr/co/wingle/common/constants/ErrorCode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java index 6e906129..25673a54 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java @@ -30,7 +30,7 @@ public enum ErrorCode { DUPLICATE_EMAIL(BAD_REQUEST, "이미 가입된 유저입니다."), ALREADY_ACCEPTANCE(BAD_REQUEST, "이미 가입 승인한 유저입니다."), ALREADY_DENY(BAD_REQUEST, "이미 가입 거절한 유저입니다."), - ALREADY_WITHDROWN(BAD_REQUEST, "이미 탈퇴한 유저입니다."), + ALREADY_WITHDRAWN(BAD_REQUEST, "이미 탈퇴한 유저입니다."), // 메일 EMAIL_BAD_REQUEST(BAD_REQUEST, "이메일 형식이 유효하지 않습니다."), EMAIL_SEND_FAIL(BAD_REQUEST, "이메일을 전송할 수 없습니다."), From 504ae69e6707fe5df39cf022a05a785d62df4563 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 05:58:46 +0900 Subject: [PATCH 47/60] =?UTF-8?q?[refactor]=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=A0=9C=EA=B1=B0=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/wingle/member/service/AuthService.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java index a0fe5506..6f83c8cc 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java @@ -167,7 +167,7 @@ public CertificationResponseDto checkEmailAndCode(CertificationRequestDto certif @Transactional public PermissionResponseDto sendAcceptanceMail(AcceptanceRequestDto acceptanceRequestDto) { Long userId = acceptanceRequestDto.getUserId(); - Member member = validateMember(userId); + Member member = memberService.findMemberByMemberId(userId); if (member.getPermission() == Permission.APPROVE.getStatus()) throw new CustomException(ErrorCode.ALREADY_ACCEPTANCE); @@ -179,7 +179,7 @@ public PermissionResponseDto sendAcceptanceMail(AcceptanceRequestDto acceptanceR @Transactional public PermissionResponseDto sendRejectionMail(RejectionRequestDto rejectionRequestDto) { Long userId = rejectionRequestDto.getUserId(); - Member member = validateMember(userId); + Member member = memberService.findMemberByMemberId(userId); if (member.getPermission() == Permission.DENY.getStatus()) throw new CustomException(ErrorCode.ALREADY_DENY); if (member.getPermission() == Permission.APPROVE.getStatus()) @@ -240,9 +240,4 @@ public NicknameResponseDto checkDuplicateNickname(NicknameRequestDto request) { private String uploadIdCardImage(MultipartFile idCardImage) { return s3Util.idCardImageUpload(idCardImage); } - - private Member validateMember(Long userId) { - return memberRepository.findById(userId) - .orElseThrow(() -> new NotFoundException(ErrorCode.USER_NOT_FOUND)); - } } From daa3f171a5419d1e36d26e4d529412c85f66c625 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 06:18:35 +0900 Subject: [PATCH 48/60] =?UTF-8?q?[refactor]=20=EC=83=81=EC=88=98=20permiss?= =?UTF-8?q?ion=20enum=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/member/service/MemberService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index 5e0350ac..c26d861c 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -88,7 +88,7 @@ public boolean isAcceptedMember(Long memberId) { throw new NotFoundException(ErrorCode.ALREADY_WITHDRAWN); } // 관리자페이지에서 회원가입 승인 받은 회원인지 검사 - if (member.getPermission() != 1) { + if (member.getPermission() != Permission.APPROVE.getStatus()) { throw new NotFoundException(ErrorCode.FORBIDDEN_USER); } return true; From 36d92a10cde040fe7c4b1704f43dde9596ca876c Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 06:19:09 +0900 Subject: [PATCH 49/60] =?UTF-8?q?[feat]=20=EC=8A=B9=EC=9D=B8=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=9D=80=20=ED=9A=8C=EC=9B=90=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/kr/co/wingle/common/constants/ErrorCode.java | 1 + .../main/java/kr/co/wingle/member/service/MemberService.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java index 25673a54..56f12fd2 100644 --- a/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java +++ b/wingle/src/main/java/kr/co/wingle/common/constants/ErrorCode.java @@ -31,6 +31,7 @@ public enum ErrorCode { ALREADY_ACCEPTANCE(BAD_REQUEST, "이미 가입 승인한 유저입니다."), ALREADY_DENY(BAD_REQUEST, "이미 가입 거절한 유저입니다."), ALREADY_WITHDRAWN(BAD_REQUEST, "이미 탈퇴한 유저입니다."), + NOT_ACCEPTED(BAD_REQUEST, "승인되지 않은 유저입니다."), // 메일 EMAIL_BAD_REQUEST(BAD_REQUEST, "이메일 형식이 유효하지 않습니다."), EMAIL_SEND_FAIL(BAD_REQUEST, "이메일을 전송할 수 없습니다."), diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index c26d861c..e4501630 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional; import kr.co.wingle.common.constants.ErrorCode; +import kr.co.wingle.common.exception.ForbiddenException; import kr.co.wingle.common.exception.NotFoundException; import kr.co.wingle.member.MemberRepository; import kr.co.wingle.member.dto.MemoRequestDto; @@ -89,7 +90,7 @@ public boolean isAcceptedMember(Long memberId) { } // 관리자페이지에서 회원가입 승인 받은 회원인지 검사 if (member.getPermission() != Permission.APPROVE.getStatus()) { - throw new NotFoundException(ErrorCode.FORBIDDEN_USER); + throw new ForbiddenException(ErrorCode.NOT_ACCEPTED); } return true; } From 8081c0c99a97085ed4c1e32ba401afaf74ced665 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 06:20:45 +0900 Subject: [PATCH 50/60] =?UTF-8?q?[feat]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=ED=95=98=EA=B3=A0=20=EC=8A=B9=EC=9D=B8=EB=90=9C=20=ED=9A=8C?= =?UTF-8?q?=EC=9B=90=20=EC=B0=BE=EA=B8=B0=20=ED=95=A8=EC=88=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/member/service/AuthService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java index 6f83c8cc..2abe8016 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/AuthService.java @@ -14,6 +14,7 @@ import kr.co.wingle.common.constants.ErrorCode; import kr.co.wingle.common.exception.CustomException; import kr.co.wingle.common.exception.DuplicateException; +import kr.co.wingle.common.exception.ForbiddenException; import kr.co.wingle.common.exception.NotFoundException; import kr.co.wingle.common.jwt.TokenInfo; import kr.co.wingle.common.jwt.TokenProvider; @@ -113,7 +114,10 @@ public Member findLoggedInMember() { @Transactional(readOnly = true) public Member findAcceptedLoggedInMember() { Member member = findLoggedInMember(); - + if (!memberService.isAcceptedMember(member.getId())) { + throw new ForbiddenException(ErrorCode.NOT_ACCEPTED); + } + return member; } @Transactional From d4325c79e2ceda0e08d7138e036e64d5e8461d1b Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 06:21:28 +0900 Subject: [PATCH 51/60] =?UTF-8?q?[feat]=20=EB=AF=B8=EC=8A=B9=EC=9D=B8=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=20=EC=BB=A8=ED=85=90=EC=B8=A0=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=20=EC=A0=9C=ED=95=9C=20#128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wingle/community/article/ArticleService.java | 6 +++--- .../wingle/community/comment/CommentService.java | 4 ++-- .../kr/co/wingle/community/util/CommunityUtil.java | 2 +- .../co/wingle/message/service/MessageService.java | 4 ++-- .../kr/co/wingle/message/service/RoomService.java | 8 ++++---- .../java/kr/co/wingle/profile/ProfileService.java | 14 +++++++------- .../java/kr/co/wingle/writing/WritingUtil.java | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java index 901c8bd4..77560568 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleService.java @@ -30,7 +30,7 @@ public class ArticleService extends WritingService { @Transactional public ArticleResponseDto create(ArticleRequestDto request) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Forum forum = forumService.getForumById(request.getForumId()); // 공지 작성 방지 @@ -65,7 +65,7 @@ public List getList(Long forumId, int page, int size, boolea Pageable pageable = PageRequest.of(page, size); List
pages; if (getMine) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); pages = articleRepository.findByForumIdAndMemberIdAndIsDeleted(forumId, member.getId(), false, pageable); } else { pages = articleRepository.findByForumIdAndIsDeleted(forumId, false, pageable); @@ -80,7 +80,7 @@ public List getList(Long forumId, int page, int size, boolea @Transactional public Long delete(Long forumId, Long articleId) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Article article = getArticleById(articleId); if (isValidMember(article, member) && isExist(article) && isValidForum(article, forumId)) { diff --git a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java index 6d0cd9e3..3d52b6bb 100644 --- a/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java +++ b/wingle/src/main/java/kr/co/wingle/community/comment/CommentService.java @@ -27,7 +27,7 @@ public class CommentService extends WritingService { @Transactional public CommentResponseDto create(CommentRequestDto request) { - Member loggedInMember = authService.findLoggedInMember(); + Member loggedInMember = authService.findAcceptedLoggedInMember(); Article article = articleService.getArticleById(request.getArticleId()); articleService.isValidForum(article, request.getForumId()); @@ -51,7 +51,7 @@ public List getList(Long forumId, Long articleId, int page, @Transactional public Long delete(Long forumId, Long articleId, Long commentId) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Comment comment = getCommentById(commentId); if (isValidMember(comment, member) && isExist(comment) && articleService.isValidForum(comment.getArticle(), diff --git a/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java b/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java index cfb29422..8a8a8aa1 100644 --- a/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java +++ b/wingle/src/main/java/kr/co/wingle/community/util/CommunityUtil.java @@ -28,7 +28,7 @@ public class CommunityUtil { // 게시판, 작성자에 따라 개인정보 가공 public ProcessedPersonalInformation processPersonalInformation(Writing writing) { - Member loggedInMember = authService.findLoggedInMember(); + Member loggedInMember = authService.findAcceptedLoggedInMember(); Profile profile = profileService.getProfileByMemberId(writing.getMember().getId()); Forum forum; diff --git a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java index ea50efd7..2a4ccad2 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/MessageService.java @@ -31,7 +31,7 @@ public class MessageService extends WritingService { @Transactional public MessageResponseDto send(MessageRequestDto messageRequestDto) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Room room = roomService.getRoomById(messageRequestDto.getRoomId()); // 해당 쪽지방에 있는지 검사 roomService.isValidRoomMember(member.getId(), room.getId()); @@ -43,7 +43,7 @@ public MessageResponseDto send(MessageRequestDto messageRequestDto) { @Transactional(readOnly = true) public List getListByRoom(Long roomId, int page, int size) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); roomService.isValidRoomMember(member.getId(), roomId); Pageable pageable = PageRequest.of(page, size); diff --git a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java index cc514785..d66865f0 100644 --- a/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java +++ b/wingle/src/main/java/kr/co/wingle/message/service/RoomService.java @@ -55,7 +55,7 @@ public Room getRoomById(Long roomId) { @Transactional public RoomResponseDto getRoom(RoomRequestDto roomRequestDto) { final int oneToOneRoomSize = 2; - Member loggedInMember = authService.findLoggedInMember(); + Member loggedInMember = authService.findAcceptedLoggedInMember(); OriginType originType = OriginType.from(roomRequestDto.getOriginType()); Room targetRoom = null; @@ -97,7 +97,7 @@ public RoomResponseDto getRoom(RoomRequestDto roomRequestDto) { @Transactional private Room createRoom(RoomRequestDto roomRequestDto) { - Member loggedInMember = authService.findLoggedInMember(); + Member loggedInMember = authService.findAcceptedLoggedInMember(); OriginType originType = OriginType.from(roomRequestDto.getOriginType()); if (!isValidOriginTypeAndId(originType, roomRequestDto.getOriginId())) { throw new NotFoundException(ErrorCode.BAD_PARAMETER); @@ -118,7 +118,7 @@ private Room createRoom(RoomRequestDto roomRequestDto) { @Transactional(readOnly = true) private boolean isValidOriginTypeAndId(OriginType originType, Long id) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); boolean isDeleted = switch (originType) { case ARTICLE -> articleService.getArticleById(id).isDeleted(); case COMMENT -> commentService.getCommentById(id).isDeleted(); @@ -138,7 +138,7 @@ public boolean isValidRoomMember(Long MemberId, Long roomId) { } public List getMyList(int page, int size) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Pageable pageable = PageRequest.of(page, size); List pages = roomMemberRepository.findByMemberIdAndIsDeleted(member.getId(), false, pageable); diff --git a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java index 61461757..3cb8bf23 100644 --- a/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java +++ b/wingle/src/main/java/kr/co/wingle/profile/ProfileService.java @@ -43,7 +43,7 @@ public class ProfileService { @Transactional public ProfileResponseDto saveProfile(ProfileRequestDto request) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); //TODO: setRegistration @@ -74,7 +74,7 @@ public ProfileResponseDto saveProfile(ProfileRequestDto request) { @Transactional public LanguagesResponseDto saveLanguages(LanguagesRequestDto request) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); // delete all memberLanguage List allByMember = languageRepository.findAllByMember(member); @@ -98,7 +98,7 @@ public LanguagesResponseDto saveLanguages(LanguagesRequestDto request) { @Transactional public IntroductionResponseDto saveIntroduction(IntroductionRequestDto request) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Profile profile = getProfile(member); profile.setIntroduction(request.getIntroduction()); @@ -108,7 +108,7 @@ public IntroductionResponseDto saveIntroduction(IntroductionRequestDto request) @Transactional public InterestsResponseDto saveInterests(InterestsRequestDto request) { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); // delete all memberInterest List allByMember = memberInterestRepository.findAllByMember(member); @@ -154,7 +154,7 @@ private void setRegistration(Member member) { @Transactional public ProfileGetResponseDto getProfile() { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Profile profile = getProfile(member); String imageUrl = profile.getImageUrl(); @@ -168,7 +168,7 @@ public ProfileGetResponseDto getProfile() { } public ProfileRegistrationResponseDto isRegister() { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Profile profile = getProfile(member); Boolean registration = profile.isRegistration(); @@ -177,7 +177,7 @@ public ProfileRegistrationResponseDto isRegister() { } public ProfileViewResponseDto getProfileDetail() { - Member member = authService.findLoggedInMember(); + Member member = authService.findAcceptedLoggedInMember(); Profile profile = getProfile(member); String image = member.getIdCardImageUrl(); String nation = profile.getNation(); diff --git a/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java b/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java index a81e1a3b..c1818a1e 100644 --- a/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java +++ b/wingle/src/main/java/kr/co/wingle/writing/WritingUtil.java @@ -14,7 +14,7 @@ public class WritingUtil { @Transactional(readOnly = true) public boolean isMine(Writing writing) { - Member loggedInMember = authService.findLoggedInMember(); + Member loggedInMember = authService.findAcceptedLoggedInMember(); boolean isMine = writing.getMember().getId() == loggedInMember.getId() ? true : false; return isMine; } From 2c8750c141c7aff8bf89c7ce58e5a1cea299db23 Mon Sep 17 00:00:00 2001 From: silver Date: Thu, 4 May 2023 21:18:34 +0900 Subject: [PATCH 52/60] =?UTF-8?q?[fix]=20=EA=B4=80=EB=A6=AC=EC=9E=90?= =?UTF-8?q?=EB=8F=84=20=EC=BB=A8=ED=85=90=EC=B8=A0=20=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=EA=B0=80=EB=8A=A5=ED=95=98=EA=B2=8C=20=EC=88=98=EC=A0=95=20#12?= =?UTF-8?q?8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/member/service/MemberService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java index e4501630..d091d4a5 100644 --- a/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java +++ b/wingle/src/main/java/kr/co/wingle/member/service/MemberService.java @@ -88,8 +88,8 @@ public boolean isAcceptedMember(Long memberId) { if (member.isDeleted() == true) { throw new NotFoundException(ErrorCode.ALREADY_WITHDRAWN); } - // 관리자페이지에서 회원가입 승인 받은 회원인지 검사 - if (member.getPermission() != Permission.APPROVE.getStatus()) { + // 관리자페이지에서 회원가입 승인 받은 회원인지 or 관리자인지 검사 + if (member.getPermission() == Permission.WAIT.getStatus()) { throw new ForbiddenException(ErrorCode.NOT_ACCEPTED); } return true; From fe4258c595c2ead986aeef474690b5e655805e83 Mon Sep 17 00:00:00 2001 From: minjikim Date: Fri, 5 May 2023 14:54:13 +0900 Subject: [PATCH 53/60] =?UTF-8?q?[add]=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20res?= =?UTF-8?q?=EC=97=90=20=EA=B5=AD=EC=A0=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/community/article/ArticleMapper.java | 1 + .../java/kr/co/wingle/community/article/ArticleResponseDto.java | 1 + 2 files changed, 2 insertions(+) diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java index 492c8d42..e4237bd0 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleMapper.java @@ -39,6 +39,7 @@ public ArticleResponseDto toResponseDto(Article article, List images) { articleResponseDto.isMine(processedPersonalInformation.isMine()); articleResponseDto.userId(processedPersonalInformation.getProcessedMemberId()); articleResponseDto.userImage(profileService.getProfileByMemberId(article.getMember().getId()).getImageUrl()); + articleResponseDto.userNation(profileService.getProfileByMemberId(article.getMember().getId()).getNation()); articleResponseDto.forumId(article.getForum().getId()); return articleResponseDto.build(); diff --git a/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java b/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java index a6036eca..f6a34410 100644 --- a/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java +++ b/wingle/src/main/java/kr/co/wingle/community/article/ArticleResponseDto.java @@ -19,6 +19,7 @@ public class ArticleResponseDto { private Long userId; private String userNickname; private String userImage; + private String userNation; private LocalDateTime createdTime; private LocalDateTime updatedTime; private Long forumId; From 8d214c32e10c17271c6ae011efd6dd5f33129ff1 Mon Sep 17 00:00:00 2001 From: minjikim Date: Fri, 5 May 2023 14:56:49 +0900 Subject: [PATCH 54/60] =?UTF-8?q?[fix]=20nationCodeKor=20=EB=B3=80?= =?UTF-8?q?=EC=88=98=EA=B0=92=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/kr/co/wingle/community/forum/ForumService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wingle/src/main/java/kr/co/wingle/community/forum/ForumService.java b/wingle/src/main/java/kr/co/wingle/community/forum/ForumService.java index 0e11ed88..7f144d22 100644 --- a/wingle/src/main/java/kr/co/wingle/community/forum/ForumService.java +++ b/wingle/src/main/java/kr/co/wingle/community/forum/ForumService.java @@ -31,7 +31,7 @@ public Forum getForumById(Long forumId) { } static public String getNicknameByForum(Forum forum, Profile profile) { - final String nationCodeKor = "kor"; + final String nationCodeKor = "KR"; final String anonymousKor = "한국 윙그리"; final String anonymousNoneKor = "외국 윙그리"; final String admin = "관리자"; From 1afd72d1b1be5352d3d4d3d5960c6e7245f816dd Mon Sep 17 00:00:00 2001 From: Jisu Lee <67117391+damda0904@users.noreply.github.com> Date: Sat, 6 May 2023 19:25:12 +0900 Subject: [PATCH 55/60] =?UTF-8?q?[refactor]=20=20CloudWatch=EB=A1=9C?= =?UTF-8?q?=EC=9D=98=20=EB=A1=9C=EA=B7=B8=20=EC=A0=84=EC=86=A1=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=20=EC=84=B8=ED=8C=85=20#136=20(#136)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/build.gradle | 2 + wingle/src/main/resources/logback-spring.xml | 152 +++++++++---------- wingle/src/main/resources/logback.xml | 33 ++++ 3 files changed, 111 insertions(+), 76 deletions(-) create mode 100644 wingle/src/main/resources/logback.xml diff --git a/wingle/build.gradle b/wingle/build.gradle index 0587cd31..6a3f6140 100644 --- a/wingle/build.gradle +++ b/wingle/build.gradle @@ -49,6 +49,8 @@ dependencies { implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' testAnnotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final' + + implementation group: 'ca.pjer', name: 'logback-awslogs-appender', version: '1.6.0' } tasks.named('test') { diff --git a/wingle/src/main/resources/logback-spring.xml b/wingle/src/main/resources/logback-spring.xml index 37326411..06c5a615 100644 --- a/wingle/src/main/resources/logback-spring.xml +++ b/wingle/src/main/resources/logback-spring.xml @@ -1,82 +1,82 @@ - - - - - + + + + + + + - - - - ${LOG_PATTERN_DEV} - - + + + + + + - - - - + + + + - - - ./log/info/info-${BY_DATE}.log - - INFO - ACCEPT - DENY - - - ${LOG_PATTERN_PROD} - - - ./backup/info/info-%d{yyyy-MM-dd}.%i.log - 100MB - 180 - 3GB - - + + + + + + + + + + + + + + + + + + - - ./log/warn/warn-${BY_DATE}.log - - WARN - ACCEPT - DENY - - - ${LOG_PATTERN_PROD} - - - ./backup/warn/warn-%d{yyyy-MM-dd}.%i.log - 100MB - 30 - 3GB - - + + + + + + + + + + + + + + + + + - - ./log/error/error-${BY_DATE}.log - - ERROR - ACCEPT - DENY - - - ${LOG_PATTERN_PROD} - - - ./backup/error/error-%d{yyyy-MM-dd}.%i.log - 100MB - 30 - 3GB - - + + + + + + + + + + + + + + + + + - - - - - - - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/wingle/src/main/resources/logback.xml b/wingle/src/main/resources/logback.xml new file mode 100644 index 00000000..4835bf31 --- /dev/null +++ b/wingle/src/main/resources/logback.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + INFO + + + ${LOG_PATTERN_PROD} + + Wingle-prod-log + Wingle-prod-log- + + ap-northeast-2 + 50 + 30000 + 5000 + + 7 + ${AWS_ACCESS_KEY} + ${AWS_SECRET_KEY} + + + \ No newline at end of file From 2f0d5470b3dbca161d3054fa090746ec0a3350f0 Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sat, 6 May 2023 19:52:53 +0900 Subject: [PATCH 56/60] =?UTF-8?q?[refactor]=20logback-spring.xml=EC=9D=84?= =?UTF-8?q?=20cloudWatch=20=EC=84=A4=EC=A0=95=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EA=B5=90=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/resources/logback-spring.xml | 109 +++++-------------- 1 file changed, 30 insertions(+), 79 deletions(-) diff --git a/wingle/src/main/resources/logback-spring.xml b/wingle/src/main/resources/logback-spring.xml index 06c5a615..4835bf31 100644 --- a/wingle/src/main/resources/logback-spring.xml +++ b/wingle/src/main/resources/logback-spring.xml @@ -1,82 +1,33 @@ - - - - - - - + + - - - - - - + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + INFO + + + ${LOG_PATTERN_PROD} + + Wingle-prod-log + Wingle-prod-log- + + ap-northeast-2 + 50 + 30000 + 5000 + + 7 + ${AWS_ACCESS_KEY} + ${AWS_SECRET_KEY} + + + \ No newline at end of file From af9109d9d833db6863a1825ac0f6e5e24e5b7ebb Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sat, 6 May 2023 19:55:17 +0900 Subject: [PATCH 57/60] =?UTF-8?q?[refactor]=20logback.xml=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/resources/logback.xml | 33 --------------------------- 1 file changed, 33 deletions(-) delete mode 100644 wingle/src/main/resources/logback.xml diff --git a/wingle/src/main/resources/logback.xml b/wingle/src/main/resources/logback.xml deleted file mode 100644 index 4835bf31..00000000 --- a/wingle/src/main/resources/logback.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - INFO - - - ${LOG_PATTERN_PROD} - - Wingle-prod-log - Wingle-prod-log- - - ap-northeast-2 - 50 - 30000 - 5000 - - 7 - ${AWS_ACCESS_KEY} - ${AWS_SECRET_KEY} - - - \ No newline at end of file From 70f8c694142cc01f1e434d25ac37f3bf8a4bc1a8 Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sat, 6 May 2023 20:27:08 +0900 Subject: [PATCH 58/60] =?UTF-8?q?[refactor]=20dev=20=EB=A1=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/resources/logback-spring.xml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/wingle/src/main/resources/logback-spring.xml b/wingle/src/main/resources/logback-spring.xml index 4835bf31..e3dbf5f0 100644 --- a/wingle/src/main/resources/logback-spring.xml +++ b/wingle/src/main/resources/logback-spring.xml @@ -1,5 +1,5 @@ - + @@ -9,12 +9,25 @@ + + + + + ${LOG_PATTERN_DEV} + + + + + + + + - + INFO - + ${LOG_PATTERN_PROD} Wingle-prod-log From 14bcbaffe1f1528c370302ca37df9629602d335d Mon Sep 17 00:00:00 2001 From: Jisu Lee Date: Sat, 6 May 2023 20:34:24 +0900 Subject: [PATCH 59/60] =?UTF-8?q?[refactor]=20cloudWatch=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wingle/src/main/resources/logback-spring.xml | 40 ++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/wingle/src/main/resources/logback-spring.xml b/wingle/src/main/resources/logback-spring.xml index e3dbf5f0..947542bc 100644 --- a/wingle/src/main/resources/logback-spring.xml +++ b/wingle/src/main/resources/logback-spring.xml @@ -22,25 +22,27 @@ + - - - INFO - - - ${LOG_PATTERN_PROD} - - Wingle-prod-log - Wingle-prod-log- - - ap-northeast-2 - 50 - 30000 - 5000 - - 7 - ${AWS_ACCESS_KEY} - ${AWS_SECRET_KEY} - + + + + ${LOG_PATTERN_PROD} + + + Wingle-prod-log + Wingle-prod-log- + + ap-northeast-2 + 50 + 30000 + 5000 + + 7 + + ${AWS_ACCESS_KEY} + ${AWS_SECRET_KEY} + + \ No newline at end of file From b0c51cad898fb3d896ab26682e047c3aa16be1de Mon Sep 17 00:00:00 2001 From: LeeJE20 <42895142+LeeJE20@users.noreply.github.com> Date: Wed, 10 May 2023 22:48:15 +0900 Subject: [PATCH 60/60] =?UTF-8?q?[chore]=20cicd=20=EC=95=84=EC=8A=A4?= =?UTF-8?q?=ED=82=A4=EB=8F=85=20=EB=94=94=EB=A0=89=ED=84=B0=EB=A6=AC=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20#98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 1f530273..d6d68a99 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -83,6 +83,14 @@ jobs: mkdir info mkdir warn mkdir error + + - name: Make asciidoc directories + run: | + cd ./wingle + mkdir build + cd ./build + mkdir generated-snippets + - name: Grant execute permission for gradlew run: chmod +x ./wingle/gradlew