Skip to content

Commit 40edc96

Browse files
authored
{refactor} 그룹 관련 로직 분리
{refactor} 그룹 관련 로직 분리
2 parents b8356de + 0455077 commit 40edc96

3 files changed

Lines changed: 79 additions & 77 deletions

File tree

.github/workflows/docker-image-ec2.yml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,3 @@ jobs:
5858
VERSION=0.${{ github.run_number }}
5959
docker push ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:$VERSION
6060
docker push ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:latest
61-
62-
# 8. EC2에 SSH 연결 및 새 이미지 실행
63-
- name: Deploy to EC2
64-
uses: appleboy/ssh-action@v0.1.7
65-
with:
66-
host: ${{ secrets.EC2_HOST }}
67-
username: ubuntu
68-
key: ${{ secrets.EC2_SSH_KEY }}
69-
port: 22
70-
script: |
71-
echo "Pulling latest image from Docker Hub..."
72-
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:latest
73-
74-
echo "Stopping and removing existing container..."
75-
docker stop weakness_server || true && docker rm weakness_server || true
76-
77-
echo "Running new container..."
78-
docker run -d --name weakness_server -p 8080:8080 ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:latest

MathCaptain/weakness/src/main/java/MathCaptain/weakness/Group/controller/GroupController.java

Lines changed: 2 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,8 @@
3030
@RequiredArgsConstructor
3131
public class GroupController {
3232

33-
public static final RequestStatus ACCEPTED = RequestStatus.ACCEPTED;
34-
public static final RequestStatus REJECTED = RequestStatus.REJECTED;
35-
public static final RequestStatus CANCELED = RequestStatus.CANCELED;
36-
3733
private final GroupService groupService;
3834
private final RelationService relationService;
39-
private final GroupJoinService groupJoinService;
40-
private final NotificationService notificationService;
4135

4236
/// 그룹 CRUD
4337

@@ -50,8 +44,7 @@ public ApiResponse<List<GroupResponseDto>> getUsersGroups(@LoginUser Users login
5044
// 그룹 조회
5145
@GetMapping("/group/{groupId}")
5246
public ApiResponse<GroupResponseDto> groupInfo(@PathVariable Long groupId) {
53-
GroupResponseDto groupResponseDto = groupService.getGroupInfo(groupId);
54-
return ApiResponse.ok(groupResponseDto);
47+
return ApiResponse.ok(groupService.getGroupInfo(groupId));
5548
}
5649

5750
// 그룹 생성
@@ -67,68 +60,18 @@ public ApiResponse<GroupResponseDto> updateGroup(@Valid @PathVariable Long group
6760
return groupService.updateGroupInfo(groupId, groupUpdateRequestDto);
6861
}
6962

70-
// 그룹 가입 요청 보내기
71-
@PostMapping("/group/join/{groupId}")
72-
public ApiResponse<?> joinGroup(@Valid @PathVariable Long groupId,
73-
@LoginUser Users loginUser,
74-
@RequestBody GroupJoinRequestDto groupJoinRequestDto) {
75-
groupJoinService.joinGroupRequest(groupId, loginUser, groupJoinRequestDto);
76-
notificationService.notifyGroupJoinRequest(groupId, loginUser);
77-
return ApiResponse.ok("그룹 가입 요청이 완료되었습니다.");
78-
}
79-
8063
// 그룹 삭제
8164
@DeleteMapping("/group/{groupId}")
8265
public ApiResponse<?> deleteGroup(@PathVariable Long groupId) {
8366
return groupService.deleteGroup(groupId);
8467
}
8568

86-
87-
/// 그룹 가입
88-
89-
// 그룹 가입 요청 수락
90-
@PostMapping("/group/join/accept/{groupId}")
91-
public ApiResponse<?> acceptJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
92-
groupJoinService.changeStatus(groupId, loginUser, ACCEPTED);
93-
notificationService.notifyGroupJoinResult(groupId, loginUser);
94-
return ApiResponse.ok("그룹 가입 요청이 수락되었습니다.");
95-
}
96-
97-
// 그룹 가입 요청 거절
98-
@PostMapping("/group/join/reject/{groupId}")
99-
public ApiResponse<?> rejectJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
100-
groupJoinService.changeStatus(groupId, loginUser, REJECTED);
101-
notificationService.notifyGroupJoinResult(groupId, loginUser);
102-
return ApiResponse.ok("그룹 가입 요청이 거절되었습니다.");
103-
}
104-
105-
// 그룹 가입 요청 취소
106-
@DeleteMapping("/group/join/cancel/{groupId}")
107-
public ApiResponse<?> cancelJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
108-
groupJoinService.changeStatus(groupId, loginUser, CANCELED);
109-
return ApiResponse.ok("그룹 가입 요청이 취소되었습니다.");
110-
}
111-
112-
// 그룹 가입 요청 조회
113-
@GetMapping("/group/join/{groupId}")
114-
public ApiResponse<?> getJoinRequest(@PathVariable Long groupId) {
115-
return groupJoinService.getJoinRequestList(groupId);
116-
}
117-
118-
// 그룹 떠나기 (탈퇴)
119-
@DeleteMapping("/group/leave/{groupId}")
120-
public ApiResponse<?> leaveGroup(@LoginUser Users loginUser, @PathVariable Long groupId) {
121-
return relationService.leaveGroup(loginUser, groupId);
122-
}
123-
124-
12569
/// 조회
12670

12771
// 그룹 멤버 조회
12872
@GetMapping("/group/members/{groupId}")
12973
public ApiResponse<List<UserResponseDto>> groupMembers(@PathVariable Long groupId) {
130-
List<UserResponseDto> members = groupService.getGroupMembers(groupId);
131-
return ApiResponse.ok(members);
74+
return ApiResponse.ok(groupService.getGroupMembers(groupId));
13275
}
13376

13477
// 그룹 관계 조회
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package MathCaptain.weakness.Group.controller;
2+
3+
import MathCaptain.weakness.Group.dto.request.GroupJoinRequestDto;
4+
import MathCaptain.weakness.Group.enums.RequestStatus;
5+
import MathCaptain.weakness.Group.service.GroupJoinService;
6+
import MathCaptain.weakness.Group.service.GroupService;
7+
import MathCaptain.weakness.Group.service.RelationService;
8+
import MathCaptain.weakness.Notification.service.NotificationService;
9+
import MathCaptain.weakness.User.domain.Users;
10+
import MathCaptain.weakness.global.Api.ApiResponse;
11+
import MathCaptain.weakness.global.annotation.LoginUser;
12+
import jakarta.validation.Valid;
13+
import lombok.RequiredArgsConstructor;
14+
import lombok.extern.slf4j.Slf4j;
15+
import org.springframework.web.bind.annotation.*;
16+
17+
@Slf4j
18+
@RestController
19+
@RequiredArgsConstructor
20+
public class GroupJoinController {
21+
22+
public static final RequestStatus ACCEPTED = RequestStatus.ACCEPTED;
23+
public static final RequestStatus REJECTED = RequestStatus.REJECTED;
24+
public static final RequestStatus CANCELED = RequestStatus.CANCELED;
25+
26+
private final RelationService relationService;
27+
private final GroupJoinService groupJoinService;
28+
private final NotificationService notificationService;
29+
30+
/// 그룹 가입
31+
32+
// 그룹 가입 요청 보내기
33+
@PostMapping("/group/join/{groupId}")
34+
public ApiResponse<?> joinGroup(@Valid @PathVariable Long groupId,
35+
@LoginUser Users loginUser,
36+
@RequestBody GroupJoinRequestDto groupJoinRequestDto) {
37+
groupJoinService.joinGroupRequest(groupId, loginUser, groupJoinRequestDto);
38+
notificationService.notifyGroupJoinRequest(groupId, loginUser);
39+
return ApiResponse.ok("그룹 가입 요청이 완료되었습니다.");
40+
}
41+
42+
// 그룹 가입 요청 수락
43+
@PostMapping("/group/join/accept/{groupId}")
44+
public ApiResponse<?> acceptJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
45+
groupJoinService.changeStatus(groupId, loginUser, ACCEPTED);
46+
notificationService.notifyGroupJoinResult(groupId, loginUser);
47+
return ApiResponse.ok("그룹 가입 요청이 수락되었습니다.");
48+
}
49+
50+
// 그룹 가입 요청 거절
51+
@PostMapping("/group/join/reject/{groupId}")
52+
public ApiResponse<?> rejectJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
53+
groupJoinService.changeStatus(groupId, loginUser, REJECTED);
54+
notificationService.notifyGroupJoinResult(groupId, loginUser);
55+
return ApiResponse.ok("그룹 가입 요청이 거절되었습니다.");
56+
}
57+
58+
// 그룹 가입 요청 취소
59+
@DeleteMapping("/group/join/cancel/{groupId}")
60+
public ApiResponse<?> cancelJoinRequest(@PathVariable Long groupId, @LoginUser Users loginUser) {
61+
groupJoinService.changeStatus(groupId, loginUser, CANCELED);
62+
return ApiResponse.ok("그룹 가입 요청이 취소되었습니다.");
63+
}
64+
65+
// 그룹 가입 요청 조회
66+
@GetMapping("/group/join/{groupId}")
67+
public ApiResponse<?> getJoinRequest(@PathVariable Long groupId) {
68+
return groupJoinService.getJoinRequestList(groupId);
69+
}
70+
71+
// 그룹 떠나기 (탈퇴)
72+
@DeleteMapping("/group/leave/{groupId}")
73+
public ApiResponse<?> leaveGroup(@LoginUser Users loginUser, @PathVariable Long groupId) {
74+
return relationService.leaveGroup(loginUser, groupId);
75+
}
76+
77+
}

0 commit comments

Comments
 (0)