Skip to content

Commit 08a8d18

Browse files
authored
Merge pull request #119 from Team-Shaka/feature/118
✨ Feat: 트리하우스 창립자 가입 API
2 parents 41f3cac + b8c79e9 commit 08a8d18

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/main/java/treehouse/server/api/member/business/MemberService.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,24 @@ public MemberResponseDTO.registerMember register(User user, MemberRequestDTO.reg
5656
return MemberMapper.toRegister(savedMember);
5757
}
5858

59+
/**
60+
* 트리하우스 창립자로 가입
61+
* @param user
62+
* @param request
63+
* @return
64+
*/
65+
@Transactional
66+
public MemberResponseDTO.registerMember registerFounder(User user, MemberRequestDTO.registerMember request) {
67+
TreeHouse treeHouse = treehouseQueryAdapter.getTreehouseById(request.getTreehouseId());
68+
Member member = MemberMapper.toMember(user, request, treeHouse);
69+
Member savedMember = memberCommandAdapter.register(member);
70+
71+
user.addMember(savedMember); // User에 Member 추가
72+
treeHouse.addMember(savedMember); // TreeHouse에 Member 추가
73+
74+
return MemberMapper.toRegister(savedMember);
75+
}
76+
5977
@Transactional(readOnly = true)
6078
public MemberResponseDTO.getProfile getMyProfile(User user, Long treehouseId){
6179
TreeHouse treeHouse = treehouseQueryAdapter.getTreehouseById(treehouseId);
@@ -81,4 +99,6 @@ public MemberResponseDTO.updateProfile updateProfile(User user, Long treehouseId
8199
member.updateMember(request.getMemberName(), request.getBio(), request.getProfileImageURL());
82100
return MemberMapper.toUpdateProfile(member);
83101
}
102+
103+
84104
}

src/main/java/treehouse/server/api/member/presentation/MemberApi.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ public CommonResponse<MemberResponseDTO.registerMember> registerTreehouseMember(
3535
return CommonResponse.onSuccess(memberService.register(user, request));
3636
}
3737

38+
@PostMapping("/founder/register")
39+
@Operation(summary = "트리하우스 창립자 가입 🔑 ✅", description = "트리하우스 창립자로 가입합니다.")
40+
public CommonResponse<MemberResponseDTO.registerMember> registerFounder(
41+
@RequestBody final MemberRequestDTO.registerMember request,
42+
@AuthMember @Parameter(hidden = true) User user
43+
) {
44+
return CommonResponse.onSuccess(memberService.registerFounder(user, request));
45+
}
46+
47+
3848
@GetMapping("/treehouses/{treehouseId}/profiles/myProfile")
3949
@Operation(summary = "내 프로필 조회 🔑 ✅", description = "특정 트리하우스에서 내 프로필을 조회합니다.")
4050
public CommonResponse<MemberResponseDTO.getProfile> getMyProfile(

0 commit comments

Comments
 (0)