From 189c87aa7dace6cb858ac71d4cbd8d7dba553621 Mon Sep 17 00:00:00 2001 From: ah9mon Date: Fri, 4 Aug 2023 12:45:15 +0900 Subject: [PATCH] fix: delete MemberStatus Entity --- .../anywayclear/config/SecurityConfig.java | 7 ++++ .../config/oauth/CustumOAuth2UserService.java | 1 + .../controller/MemberController.java | 6 ---- .../dto/request/MemberCreateRequest.java | 5 ++- .../java/com/anywayclear/entity/Member.java | 9 +++--- .../com/anywayclear/entity/MemberStatus.java | 32 ------------------- .../repository/MemberStatusRepository.java | 7 ---- .../anywayclear/service/MemberService.java | 3 -- .../anywayclear/repository/MemberTest.java | 1 - 9 files changed, 16 insertions(+), 55 deletions(-) delete mode 100644 src/main/java/com/anywayclear/entity/MemberStatus.java delete mode 100644 src/main/java/com/anywayclear/repository/MemberStatusRepository.java diff --git a/src/main/java/com/anywayclear/config/SecurityConfig.java b/src/main/java/com/anywayclear/config/SecurityConfig.java index 045f50a..e11ecf9 100644 --- a/src/main/java/com/anywayclear/config/SecurityConfig.java +++ b/src/main/java/com/anywayclear/config/SecurityConfig.java @@ -72,6 +72,13 @@ public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws .failureHandler(oAuth2AuthenticationFailureHandler) ); + // 로그아웃 설정 +// httpSecurity.logout() +// .addLogoutHandler() +// .logoutSuccessHandler() +// .logout +// .logoutSuccessUrl() + // H2 사용을 위한 설정 httpSecurity .headers().frameOptions().disable(); diff --git a/src/main/java/com/anywayclear/config/oauth/CustumOAuth2UserService.java b/src/main/java/com/anywayclear/config/oauth/CustumOAuth2UserService.java index b8015d5..f174182 100644 --- a/src/main/java/com/anywayclear/config/oauth/CustumOAuth2UserService.java +++ b/src/main/java/com/anywayclear/config/oauth/CustumOAuth2UserService.java @@ -70,6 +70,7 @@ private Member createMember(String emailAddress, String nickname, String image) .image(image) .nickname(nickname) .role("ROLE_CONSUMER") + .memberStatus(true) .build(); return memberRepository.save(member); diff --git a/src/main/java/com/anywayclear/controller/MemberController.java b/src/main/java/com/anywayclear/controller/MemberController.java index a0c7fcb..eb33fce 100644 --- a/src/main/java/com/anywayclear/controller/MemberController.java +++ b/src/main/java/com/anywayclear/controller/MemberController.java @@ -24,12 +24,6 @@ public MemberController(MemberService memberService) { this.memberService = memberService; } - @PostMapping("/sign-up") - public ResponseEntity getMember(@Valid @RequestBody MemberCreateRequest request) { - final String id = memberService.createMember(request); - return ResponseEntity.created(URI.create("api/members/" + id)).build(); - } - @GetMapping("/{userId}") public ResponseEntity getMemberDetail(@PathVariable("userId") String userId) { return ResponseEntity.ok(memberService.getMemberByUserId(userId)); diff --git a/src/main/java/com/anywayclear/dto/request/MemberCreateRequest.java b/src/main/java/com/anywayclear/dto/request/MemberCreateRequest.java index fc33653..b568646 100644 --- a/src/main/java/com/anywayclear/dto/request/MemberCreateRequest.java +++ b/src/main/java/com/anywayclear/dto/request/MemberCreateRequest.java @@ -24,9 +24,11 @@ public class MemberCreateRequest { private String description; private String companyRegistrationNumber; private String companyAddress; + @NotBlank + private boolean memberStatus; @Builder - public MemberCreateRequest(String nickname, String image, String emailAddress, String role,String phoneNumber, String description, String companyRegistrationNumber, String companyAddress) { + public MemberCreateRequest(String nickname, String image, String emailAddress, String role,String phoneNumber, String description, String companyRegistrationNumber, String companyAddress, boolean memberStatus) { this.nickname = nickname; this.image = image; this.emailAddress = emailAddress; @@ -35,5 +37,6 @@ public MemberCreateRequest(String nickname, String image, String emailAddress, S this.description = description; this.companyRegistrationNumber = companyRegistrationNumber; this.companyAddress = companyAddress; + this.memberStatus = memberStatus; } } \ No newline at end of file diff --git a/src/main/java/com/anywayclear/entity/Member.java b/src/main/java/com/anywayclear/entity/Member.java index 418dd86..d245b19 100644 --- a/src/main/java/com/anywayclear/entity/Member.java +++ b/src/main/java/com/anywayclear/entity/Member.java @@ -39,16 +39,14 @@ public class Member { private String companyAddress; + private boolean memberStatus; + @OneToOne(mappedBy = "member", cascade = CascadeType.ALL) // 영속성 전이가 발생해 부모객체를 저장할 때 자식객체도 함께 저장 @JsonBackReference // 순환참조 방지 private Point point = new Point(this); // 멤버 생성 시 포인트 객체 자동 생성 - @OneToOne(mappedBy = "member", cascade = CascadeType.ALL) - @JsonBackReference - private MemberStatus memberStatus = new MemberStatus(this); - @Builder - public Member(String id, String userId, String nickname, String image, String emailAddress, String role, String phoneNumber, String description, String companyRegistrationNumber, String companyAddress) { + public Member(String id, String userId, String nickname, String image, String emailAddress, String role, String phoneNumber, String description, String companyRegistrationNumber, String companyAddress, boolean memberStatus) { this.id = id; this.userId = userId; this.nickname = nickname; @@ -59,6 +57,7 @@ public Member(String id, String userId, String nickname, String image, String em this.description = description; this.companyRegistrationNumber = companyRegistrationNumber; this.companyAddress = companyAddress; + this.memberStatus = memberStatus; } public static Member toEntity(MemberCreateRequest request) { diff --git a/src/main/java/com/anywayclear/entity/MemberStatus.java b/src/main/java/com/anywayclear/entity/MemberStatus.java deleted file mode 100644 index dd8a61f..0000000 --- a/src/main/java/com/anywayclear/entity/MemberStatus.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.anywayclear.entity; - -import com.fasterxml.jackson.annotation.JsonManagedReference; -import lombok.*; - -import javax.persistence.*; - -@Entity -@Getter -@Setter -@NoArgsConstructor -@ToString -@Table(name = "Member_Status") -public class MemberStatus { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; - - @Column(nullable = false) - private boolean isOut = false; - - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JsonManagedReference // 순환참조 방지 - @JoinColumn(name = "member_id", referencedColumnName = "id") - private Member member; - - @Builder - public MemberStatus(Member member) { - this.member = member; - } -} diff --git a/src/main/java/com/anywayclear/repository/MemberStatusRepository.java b/src/main/java/com/anywayclear/repository/MemberStatusRepository.java deleted file mode 100644 index d10fe89..0000000 --- a/src/main/java/com/anywayclear/repository/MemberStatusRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.anywayclear.repository; - -import com.anywayclear.entity.MemberStatus; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface MemberStatusRepository extends JpaRepository { -} diff --git a/src/main/java/com/anywayclear/service/MemberService.java b/src/main/java/com/anywayclear/service/MemberService.java index 08be1de..0d85953 100644 --- a/src/main/java/com/anywayclear/service/MemberService.java +++ b/src/main/java/com/anywayclear/service/MemberService.java @@ -16,9 +16,6 @@ public class MemberService { public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } - public String createMember(MemberCreateRequest request) { - return memberRepository.save(Member.toEntity(request)).getId(); - } public MemberResponse getMember(String id) { Member member = memberRepository.findById(id).orElseThrow(() -> new RuntimeException("아이디가 없습니다.")); diff --git a/src/test/java/com/anywayclear/repository/MemberTest.java b/src/test/java/com/anywayclear/repository/MemberTest.java index 37ca01a..e5e0c4e 100644 --- a/src/test/java/com/anywayclear/repository/MemberTest.java +++ b/src/test/java/com/anywayclear/repository/MemberTest.java @@ -1,7 +1,6 @@ package com.anywayclear.repository; import com.anywayclear.entity.Member; -import com.anywayclear.entity.MemberStatus; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;