diff --git a/src/main/java/com/cmc/suppin/member/controller/MemberApi.java b/src/main/java/com/cmc/suppin/member/controller/MemberApi.java index 851b686..7c6f2be 100644 --- a/src/main/java/com/cmc/suppin/member/controller/MemberApi.java +++ b/src/main/java/com/cmc/suppin/member/controller/MemberApi.java @@ -27,7 +27,9 @@ public class MemberApi { private final MemberCommandService memberCommandService; - // 회원가입 + /** + * 회원가입 + */ @PostMapping("/join") @Operation(summary = "회원가입 API", description = "request 파라미터 : id, password, name, phone, email") public ApiResponse join(@RequestBody @Valid MemberRequestDTO.JoinDTO request) { @@ -55,6 +57,9 @@ public ApiResponse deleteMember(@AuthenticationPrincipal MemberDetails mem return ApiResponse.onSuccess(null, SuccessStatus.MEMBER_DELETE_SUCCESS); } + /** + * TODO: 로그인, 로그아웃, 비밀번호 변경, 회원정보 상세 조회, 회원정보 수정 API + */ // 로그인 @PostMapping("/login") @Operation(summary = "로그인 API", description = "request : userId, password") @@ -63,4 +68,51 @@ public ApiResponse login(@RequestBody @Valid return ApiResponse.onSuccess(response, SuccessStatus.MEMBER_LOGIN_SUCCESS); } + +// // 로그아웃 +// @PostMapping("/logout") +// @Operation(summary = "로그아웃 API", description = "JWT 토큰을 헤더에 포함시켜 보내주시면 됩니다.") +// public ApiResponse logout(@AuthenticationPrincipal MemberDetails memberDetails) { +// if (memberDetails == null) { +// return ApiResponse.onFailure("403", "인증된 사용자만 로그아웃할 수 있습니다.", null); +// } +// memberCommandService.logout(memberDetails.getUserId()); +// return ApiResponse.onSuccess(null, SuccessStatus.MEMBER_LOGOUT_SUCCESS); +// } +// +// // 비밀번호 변경 +// @PutMapping("/changePassword") +// @Operation(summary = "비밀번호 변경 API", description = "request : userId, password, newPassword") +// public ApiResponse changePassword(@AuthenticationPrincipal MemberDetails memberDetails, @RequestBody @Valid MemberRequestDTO.ChangePasswordDTO request) { +// if (memberDetails == null) { +// return ApiResponse.onFailure("403", "인증된 사용자만 비밀번호를 변경할 수 있습니다.", null); +// } +// memberCommandService.changePassword(memberDetails.getUserId(), request); +// return ApiResponse.onSuccess(null, SuccessStatus.MEMBER_CHANGE_PASSWORD_SUCCESS); +// } +// +// // 회원정보 상세 조회(마이페이지) +// @GetMapping("/info") +// @Operation(summary = "회원정보 상세 조회 API", description = "JWT 토큰을 헤더에 포함시켜 보내주시면 됩니다.") +// public ApiResponse getMemberInfo(@AuthenticationPrincipal MemberDetails memberDetails) { +// if (memberDetails == null) { +// return ApiResponse.onFailure("403", "인증된 사용자만 조회할 수 있습니다.", null); +// } +// Member member = memberCommandService.getMemberInfo(memberDetails.getUserId()); +// return ApiResponse.onSuccess(MemberConverter.toMemberInfoDTO(member), SuccessStatus.MEMBER_INFO_SUCCESS); +// } +// +// // 회원정보 수정 +// @PutMapping("/info/update") +// @Operation(summary = "회원정보 수정 API", description = "request : userId, name, phone, email") +// public ApiResponse updateMemberInfo(@AuthenticationPrincipal MemberDetails memberDetails, @RequestBody @Valid MemberRequestDTO.UpdateMemberInfoDTO request) { +// if (memberDetails == null) { +// return ApiResponse.onFailure("403", "인증된 사용자만 수정할 수 있습니다.", null); +// } +// memberCommandService.updateMemberInfo(memberDetails.getUserId(), request); +// return ApiResponse.onSuccess(null, SuccessStatus.MEMBER_UPDATE_SUCCESS); +// } + + // TODO: 아이디 찾기, 비밀번호 찾기 API 구현 필요 + } diff --git a/src/main/java/com/cmc/suppin/member/domain/Member.java b/src/main/java/com/cmc/suppin/member/domain/Member.java index f1cf504..c3a7016 100644 --- a/src/main/java/com/cmc/suppin/member/domain/Member.java +++ b/src/main/java/com/cmc/suppin/member/domain/Member.java @@ -33,12 +33,14 @@ public class Member extends BaseDateTimeEntity { @Column(columnDefinition = "VARCHAR(30)", nullable = false) private String email; - @Column(columnDefinition = "VARCHAR(20)", nullable = false) + @Column(columnDefinition = "VARCHAR(255)", nullable = false) private String password; @Column(columnDefinition = "VARCHAR(13)", nullable = false) private String phoneNumber; + private Boolean termsAgree; + private String role; // 추가된 생성자 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9d59683..7c941fd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: - ddl-auto: update + ddl-auto: create properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect