Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
package clap.server.adapter.inbound.web.dto.auth.response;

import io.swagger.v3.oas.annotations.media.Schema;

public record LoginResponse(
String accessToken,
String refreshToken,
@Schema(description = "회원 정보")
MemberInfoResponse memberInfo
String refreshToken
) {}

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package clap.server.adapter.inbound.web.dto.member.request;

import clap.server.common.annotation.validation.password.ValidPassword;
import jakarta.validation.constraints.NotBlank;

public record UpdateInitialPasswordRequest(
@NotBlank @ValidPassword
String password
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package clap.server.adapter.inbound.web.dto.member.request;

import clap.server.common.annotation.validation.password.ValidPassword;
import jakarta.validation.constraints.NotBlank;

public record UpdatePasswordRequest(
@NotBlank @ValidPassword
String password
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package clap.server.adapter.inbound.web.dto.task.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;

public record TerminateTaskRequest(
@Schema(description = "종료 사유")
@NotBlank
String reason
) {
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package clap.server.adapter.inbound.web.member;

import clap.server.adapter.inbound.security.service.SecurityUserDetails;
import clap.server.adapter.inbound.web.dto.member.request.UpdateInitialPasswordRequest;
import clap.server.adapter.inbound.web.dto.member.request.UpdatePasswordRequest;
import clap.server.application.port.inbound.member.ResetInitialPasswordUsecase;
import clap.server.application.port.inbound.member.ResetPasswordUsecase;
import clap.server.application.port.inbound.member.VerifyPasswordUseCase;
import clap.server.common.annotation.architecture.WebAdapter;
import clap.server.common.annotation.validation.password.ValidPassword;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotBlank;
Expand All @@ -25,18 +26,18 @@ public class ResetPasswordController {
private final ResetInitialPasswordUsecase resetInitialPasswordUsecase;
private final VerifyPasswordUseCase verifyPasswordUseCase;

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

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


Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package clap.server.adapter.inbound.web.task;

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

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,10 @@ private AuthResponseMapper() {
throw new IllegalArgumentException();
}

public static LoginResponse toLoginResponse(final String accessToken, final String refreshToken, final Member member) {
public static LoginResponse toLoginResponse(final String accessToken, final String refreshToken) {
return new LoginResponse(
accessToken,
refreshToken,
toMemberInfoResponse(member)
);
}

public static MemberInfoResponse toMemberInfoResponse(Member member) {
return new MemberInfoResponse(
member.getMemberId(),
member.getMemberInfo().getName(),
member.getMemberInfo().getNickname(),
member.getImageUrl(),
member.getMemberInfo().getRole(),
member.getStatus()
refreshToken
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ public LoginResponse login(String nickname, String password, String clientIp) {

if (member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)) {
String temporaryToken = manageTokenService.issueTemporaryToken(member.getMemberId());
return AuthResponseMapper.toLoginResponse(temporaryToken, null, member);
return AuthResponseMapper.toLoginResponse(temporaryToken, null);
}

CustomJwts jwtTokens = manageTokenService.issueTokens(member);
refreshTokenService.saveRefreshToken(manageTokenService.issueRefreshToken(member.getMemberId()));
loginAttemptService.resetFailedAttempts(clientIp);
return AuthResponseMapper.toLoginResponse(jwtTokens.accessToken(), jwtTokens.refreshToken(), member);
return AuthResponseMapper.toLoginResponse(jwtTokens.accessToken(), jwtTokens.refreshToken());
}

@Override
Expand Down