From 94962b1cbbb8e03efcd47b70002a347b72e188f7 Mon Sep 17 00:00:00 2001 From: yxhwxn Date: Wed, 31 Jul 2024 02:41:55 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Fix:=20=EC=9E=A6=EC=9D=80=20=EC=8A=A4?= =?UTF-8?q?=ED=82=A4=EB=A7=88=20=EB=B3=80=EA=B2=BD=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=9C=20create=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From a154d13c10a40f0fe31a2495d0374aee28a75bc9 Mon Sep 17 00:00:00 2001 From: yxhwxn Date: Wed, 31 Jul 2024 02:42:41 +0900 Subject: [PATCH 2/3] =?UTF-8?q?Feat:=20member=20entity=20=EC=95=BD?= =?UTF-8?q?=EA=B4=80=EB=8F=99=EC=9D=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/cmc/suppin/member/domain/Member.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; // 추가된 생성자 From c54ccb6fb1ee50ace8ed0592e26c3910f8b6ae4c Mon Sep 17 00:00:00 2001 From: yxhwxn Date: Wed, 31 Jul 2024 02:44:28 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Feat:=20API=20=ED=94=84=EB=A0=88=EC=9E=84?= =?UTF-8?q?=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../suppin/member/controller/MemberApi.java | 54 ++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) 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 구현 필요 + }