Skip to content

Commit 940a4aa

Browse files
authored
Merge pull request #323 from TaskFlow-CLAP/CLAP-275
CLAP-275 로그인 response에 회원 정보 삭제 및 request body string 형식 dto로 수정
2 parents 3c38920 + 050c606 commit 940a4aa

File tree

10 files changed

+50
-32
lines changed

10 files changed

+50
-32
lines changed

.github/image/tf-erd.png

188 KB
Loading
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package clap.server.adapter.inbound.web.dto.auth.response;
22

3-
import io.swagger.v3.oas.annotations.media.Schema;
4-
53
public record LoginResponse(
64
String accessToken,
7-
String refreshToken,
8-
@Schema(description = "회원 정보")
9-
MemberInfoResponse memberInfo
5+
String refreshToken
106
) {}
117

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package clap.server.adapter.inbound.web.dto.member.request;
2+
3+
import clap.server.common.annotation.validation.password.ValidPassword;
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record UpdateInitialPasswordRequest(
7+
@NotBlank @ValidPassword
8+
String password
9+
) {
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package clap.server.adapter.inbound.web.dto.member.request;
2+
3+
import clap.server.common.annotation.validation.password.ValidPassword;
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record UpdatePasswordRequest(
7+
@NotBlank @ValidPassword
8+
String password
9+
) {
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package clap.server.adapter.inbound.web.dto.task.request;
2+
3+
import io.swagger.v3.oas.annotations.media.Schema;
4+
import jakarta.validation.constraints.NotBlank;
5+
6+
public record TerminateTaskRequest(
7+
@Schema(description = "종료 사유")
8+
@NotBlank
9+
String reason
10+
) {
11+
}

src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package clap.server.adapter.inbound.web.member;
22

33
import clap.server.adapter.inbound.security.service.SecurityUserDetails;
4+
import clap.server.adapter.inbound.web.dto.member.request.UpdateInitialPasswordRequest;
5+
import clap.server.adapter.inbound.web.dto.member.request.UpdatePasswordRequest;
46
import clap.server.application.port.inbound.member.ResetInitialPasswordUsecase;
57
import clap.server.application.port.inbound.member.ResetPasswordUsecase;
68
import clap.server.application.port.inbound.member.VerifyPasswordUseCase;
79
import clap.server.common.annotation.architecture.WebAdapter;
8-
import clap.server.common.annotation.validation.password.ValidPassword;
910
import io.swagger.v3.oas.annotations.Operation;
1011
import io.swagger.v3.oas.annotations.tags.Tag;
1112
import jakarta.validation.constraints.NotBlank;
@@ -25,18 +26,18 @@ public class ResetPasswordController {
2526
private final ResetInitialPasswordUsecase resetInitialPasswordUsecase;
2627
private final VerifyPasswordUseCase verifyPasswordUseCase;
2728

28-
@Operation(summary = "초기 로그인 후 비밀번호 재설정 API", description = "swagger에서 따옴표를 포함하지 않고 요청합니다.")
29+
@Operation(summary = "초기 로그인 후 비밀번호 재설정 API")
2930
@PatchMapping("/members/initial-password")
3031
public void resetPasswordAndActivateMember(@AuthenticationPrincipal SecurityUserDetails userInfo,
31-
@RequestBody @NotBlank @ValidPassword String password) {
32-
resetInitialPasswordUsecase.resetPasswordAndActivateMember(userInfo.getUserId(), password);
32+
@RequestBody UpdateInitialPasswordRequest request) {
33+
resetInitialPasswordUsecase.resetPasswordAndActivateMember(userInfo.getUserId(),request.password());
3334
}
3435

35-
@Operation(summary = "비밀번호 재설정 API", description = "swagger에서 따옴표를 포함하지 않고 요청합니다.")
36+
@Operation(summary = "비밀번호 재설정 API")
3637
@PatchMapping("/members/password")
3738
public void resetPassword(@AuthenticationPrincipal SecurityUserDetails userInfo,
38-
@RequestBody @NotBlank @ValidPassword String password) {
39-
resetPasswordUsecase.resetPassword(userInfo.getUserId(), password);
39+
@RequestBody UpdatePasswordRequest request) {
40+
resetPasswordUsecase.resetPassword(userInfo.getUserId(), request.password());
4041
}
4142

4243

src/main/java/clap/server/adapter/inbound/web/task/TerminateTaskController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package clap.server.adapter.inbound.web.task;
22

33
import clap.server.adapter.inbound.security.service.SecurityUserDetails;
4+
import clap.server.adapter.inbound.web.dto.task.request.TerminateTaskRequest;
45
import clap.server.application.port.inbound.task.TerminateTaskUsecase;
56
import clap.server.common.annotation.architecture.WebAdapter;
67
import io.swagger.v3.oas.annotations.Operation;
78
import io.swagger.v3.oas.annotations.media.Schema;
89
import io.swagger.v3.oas.annotations.tags.Tag;
10+
import jakarta.validation.constraints.NotBlank;
911
import lombok.RequiredArgsConstructor;
1012
import org.springframework.security.access.annotation.Secured;
1113
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@@ -24,8 +26,8 @@ public class TerminateTaskController {
2426
@PatchMapping("/{taskId}/terminate")
2527
public void terminateTask(@AuthenticationPrincipal SecurityUserDetails userInfo,
2628
@PathVariable Long taskId,
27-
@RequestBody @Schema(example = "스웨거에서는 따옴표를 떼고 보내주세요") String reason) {
28-
terminateTaskUsecase.terminateTask(userInfo.getUserId(), taskId, reason);
29+
@RequestBody TerminateTaskRequest request) {
30+
terminateTaskUsecase.terminateTask(userInfo.getUserId(), taskId, request.reason());
2931
}
3032

3133
}

src/main/java/clap/server/application/mapper/AuthResponseMapper.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,10 @@ private AuthResponseMapper() {
1111
throw new IllegalArgumentException();
1212
}
1313

14-
public static LoginResponse toLoginResponse(final String accessToken, final String refreshToken, final Member member) {
14+
public static LoginResponse toLoginResponse(final String accessToken, final String refreshToken) {
1515
return new LoginResponse(
1616
accessToken,
17-
refreshToken,
18-
toMemberInfoResponse(member)
19-
);
20-
}
21-
22-
public static MemberInfoResponse toMemberInfoResponse(Member member) {
23-
return new MemberInfoResponse(
24-
member.getMemberId(),
25-
member.getMemberInfo().getName(),
26-
member.getMemberInfo().getNickname(),
27-
member.getImageUrl(),
28-
member.getMemberInfo().getRole(),
29-
member.getStatus()
17+
refreshToken
3018
);
3119
}
3220

src/main/java/clap/server/application/service/auth/AuthService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ public LoginResponse login(String nickname, String password, String clientIp) {
4141

4242
if (member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)) {
4343
String temporaryToken = manageTokenService.issueTemporaryToken(member.getMemberId());
44-
return AuthResponseMapper.toLoginResponse(temporaryToken, null, member);
44+
return AuthResponseMapper.toLoginResponse(temporaryToken, null);
4545
}
4646

4747
CustomJwts jwtTokens = manageTokenService.issueTokens(member);
4848
refreshTokenService.saveRefreshToken(manageTokenService.issueRefreshToken(member.getMemberId()));
4949
loginAttemptService.resetFailedAttempts(clientIp);
50-
return AuthResponseMapper.toLoginResponse(jwtTokens.accessToken(), jwtTokens.refreshToken(), member);
50+
return AuthResponseMapper.toLoginResponse(jwtTokens.accessToken(), jwtTokens.refreshToken());
5151
}
5252

5353
@Override

src/main/java/clap/server/exception/code/MemberErrorCode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ public enum MemberErrorCode implements BaseErrorCode {
1414
PASSWORD_VERIFY_FAILED(HttpStatus.BAD_REQUEST, "MEMBER_006", "비밀번호 검증에 실패하였습니다"),
1515
INVALID_CSV_FORMAT(HttpStatus.BAD_REQUEST, "MEMBER_007", "CSV 파일 형식이 잘못되었습니다."),
1616
CSV_PARSING_ERROR(HttpStatus.BAD_REQUEST, "MEMBER_008", "CSV 데이터 파싱 중 오류가 발생했습니다."),
17-
MEMBER_REGISTRATION_FAILED(HttpStatus.INTERNAL_SERVER_ERROR, "MEMBER_009", "회원 등록 중 오류가 발생했습니다."),
18-
NAME_CANNOT_BE_EMPTY(HttpStatus.BAD_REQUEST, "MEMBER_010", "이름은 공백일 수 없습니다.")
17+
MEMBER_REGISTRATION_FAILED(HttpStatus.INTERNAL_SERVER_ERROR, "MEMBER_009", "담당자만 리뷰 권한이 있습니다."),
18+
NAME_CANNOT_BE_EMPTY(HttpStatus.BAD_REQUEST, "MEMBER_010", "이름은 공백일 수 없습니다."),
1919

2020
;
2121

0 commit comments

Comments
 (0)