Skip to content

Commit 490d2d5

Browse files
Feat: [FN-325] 내가 신청한 가입 신청 리스트 조회 API 추가
Feat: [FN-325] 내가 신청한 가입 신청 리스트 조회 API 추가
2 parents c8409ba + 7ed356b commit 490d2d5

9 files changed

Lines changed: 112 additions & 1 deletion

File tree

src/main/java/flipnote/group/adapter/in/web/JoinController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,4 @@ public ResponseEntity<JoinRespondResponseDto> respondToJoinRequest(
102102
return ResponseEntity.ok(res);
103103
}
104104

105-
//todo 내가 신청한 가입신청 리스트 조회
106105
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package flipnote.group.adapter.in.web;
2+
3+
import org.springframework.http.ResponseEntity;
4+
import org.springframework.web.bind.annotation.GetMapping;
5+
import org.springframework.web.bind.annotation.RequestHeader;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
import org.springframework.web.bind.annotation.RestController;
8+
9+
import flipnote.group.api.dto.response.FindMyJoinListResponseDto;
10+
import flipnote.group.application.port.in.FindMyJoinListUseCase;
11+
import flipnote.group.application.port.in.result.FindMyJoinListResult;
12+
import lombok.RequiredArgsConstructor;
13+
14+
@RestController
15+
@RequestMapping("/v1")
16+
@RequiredArgsConstructor
17+
public class MeController {
18+
19+
private final FindMyJoinListUseCase findMyJoinListUseCase;
20+
21+
/**
22+
* 내가 신청한 가입신청 리스트 조회
23+
* @param userId
24+
* @return
25+
*/
26+
@GetMapping("/joins/me")
27+
public ResponseEntity<FindMyJoinListResponseDto> findGroupJoinMe(
28+
@RequestHeader("X-USER-ID") Long userId
29+
) {
30+
FindMyJoinListResult result = findMyJoinListUseCase.findMyJoinList(userId);
31+
32+
FindMyJoinListResponseDto res = FindMyJoinListResponseDto.from(result);
33+
34+
return ResponseEntity.ok(res);
35+
}
36+
}

src/main/java/flipnote/group/adapter/out/persistence/JoinRepositoryAdapter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,11 @@ public JoinEntity findJoin(Long joinId) {
4646
public JoinEntity updateJoin(JoinEntity join) {
4747
return joinRepository.save(join);
4848
}
49+
50+
@Override
51+
public List<JoinEntity> findMyJoinList(Long userId) {
52+
List<JoinEntity> joinList = joinRepository.findAllByUserId(userId);
53+
54+
return joinList;
55+
}
4956
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package flipnote.group.api.dto.response;
2+
3+
import java.util.List;
4+
5+
import flipnote.group.application.port.in.result.FindMyJoinListResult;
6+
import flipnote.group.domain.model.join.JoinInfo;
7+
8+
public record FindMyJoinListResponseDto(
9+
List<JoinInfo> joinList
10+
) {
11+
public static FindMyJoinListResponseDto from(FindMyJoinListResult result) {
12+
13+
return new FindMyJoinListResponseDto(result.joinList());
14+
}
15+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package flipnote.group.application.port.in;
2+
3+
import flipnote.group.application.port.in.result.FindMyJoinListResult;
4+
5+
public interface FindMyJoinListUseCase {
6+
FindMyJoinListResult findMyJoinList(Long userId);
7+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package flipnote.group.application.port.in.result;
2+
3+
import java.util.List;
4+
5+
import flipnote.group.adapter.out.entity.JoinEntity;
6+
import flipnote.group.domain.model.join.JoinInfo;
7+
8+
public record FindMyJoinListResult(
9+
List<JoinInfo> joinList
10+
) {
11+
public static FindMyJoinListResult of(List<JoinEntity> joinList) {
12+
List<JoinInfo> joinInfoList = joinList.stream()
13+
.map(JoinInfo::of)
14+
.toList();
15+
return new FindMyJoinListResult(joinInfoList);
16+
}
17+
}

src/main/java/flipnote/group/application/port/out/JoinRepositoryPort.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ public interface JoinRepositoryPort {
1414
JoinEntity findJoin(Long joinId);
1515

1616
JoinEntity updateJoin(JoinEntity join);
17+
18+
List<JoinEntity> findMyJoinList(Long userId);
1719
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package flipnote.group.application.service;
2+
3+
import java.util.List;
4+
5+
import org.springframework.stereotype.Service;
6+
7+
import flipnote.group.adapter.out.entity.JoinEntity;
8+
import flipnote.group.application.port.in.FindMyJoinListUseCase;
9+
import flipnote.group.application.port.in.result.FindMyJoinListResult;
10+
import flipnote.group.application.port.out.JoinRepositoryPort;
11+
import lombok.RequiredArgsConstructor;
12+
13+
@Service
14+
@RequiredArgsConstructor
15+
public class FindMyJoinListService implements FindMyJoinListUseCase {
16+
17+
private final JoinRepositoryPort joinRepository;
18+
19+
@Override
20+
public FindMyJoinListResult findMyJoinList(Long userId) {
21+
22+
List<JoinEntity> joinList = joinRepository.findMyJoinList(userId);
23+
24+
return FindMyJoinListResult.of(joinList);
25+
}
26+
}

src/main/java/flipnote/group/infrastructure/persistence/jpa/JoinRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ public interface JoinRepository extends JpaRepository<JoinEntity, Long> {
1111
boolean existsByUserIdAndGroupId(Long userId, Long groupId);
1212

1313
List<JoinEntity> findAllByGroupId(Long groupId);
14+
15+
List<JoinEntity> findAllByUserId(Long userId);
1416
}

0 commit comments

Comments
 (0)