Skip to content

Commit 69f4129

Browse files
Feat: 내가 신청한 가입 신청 리스트 조회
1 parent d1dd20e commit 69f4129

10 files changed

Lines changed: 107 additions & 5 deletions

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
@@ -101,5 +101,4 @@ public ResponseEntity<JoinRespondResponseDto> respondToJoinRequest(
101101
return ResponseEntity.ok(res);
102102
}
103103

104-
//todo 내가 신청한 가입신청 리스트 조회
105104
}
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: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public JoinDomain save(JoinDomain domain) {
3434
}
3535

3636
@Override
37-
public List<JoinDomain> findFormList(Long groupId) {
37+
public List<JoinDomain> findJoinList(Long groupId) {
3838

3939
List<JoinEntity> joinList = joinRepository.findAllByGroupId(groupId);
4040

@@ -59,4 +59,11 @@ public JoinDomain updateJoin(JoinDomain joinDomain) {
5959

6060
return JoinMapper.toDomain(entity);
6161
}
62+
63+
@Override
64+
public List<JoinDomain> findMyJoinList(Long userId) {
65+
List<JoinEntity> joinList = joinRepository.findAllByUserId(userId);
66+
67+
return JoinMapper.toDomains(joinList);
68+
}
6269
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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.JoinDomain;
7+
8+
public record FindMyJoinListResponseDto(
9+
List<JoinDomain> joinList
10+
) {
11+
public static FindMyJoinListResponseDto from(FindMyJoinListResult result) {
12+
return new FindMyJoinListResponseDto(result.joinDomainList());
13+
}
14+
}
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: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package flipnote.group.application.port.in.result;
2+
3+
import java.util.List;
4+
5+
import flipnote.group.domain.model.join.JoinDomain;
6+
7+
public record FindMyJoinListResult(
8+
List<JoinDomain> joinDomainList
9+
) {
10+
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
import java.util.List;
44

55
import flipnote.group.domain.model.join.JoinDomain;
6-
import flipnote.group.domain.model.join.JoinStatus;
76

87
public interface JoinRepositoryPort {
98
boolean existsJoin(Long groupId, Long userId);
109

1110
JoinDomain save(JoinDomain domain);
1211

13-
List<JoinDomain> findFormList(Long groupId);
12+
List<JoinDomain> findJoinList(Long groupId);
1413

1514
JoinDomain findJoin(Long joinId);
1615

1716
JoinDomain updateJoin(JoinDomain joinDomain);
17+
18+
List<JoinDomain> findMyJoinList(Long userId);
1819
}

src/main/java/flipnote/group/application/service/ApplicationFormService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public FindJoinFormListResult findJoinFormList(FindJoinFormCommand cmd) {
8484
throw new IllegalArgumentException("not permission");
8585
}
8686

87-
List<JoinDomain> joinDomainList = joinRepository.findFormList(cmd.groupId());
87+
List<JoinDomain> joinDomainList = joinRepository.findJoinList(cmd.groupId());
8888

8989

9090
return new FindJoinFormListResult(joinDomainList);
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.application.port.in.FindMyJoinListUseCase;
8+
import flipnote.group.application.port.in.result.FindMyJoinListResult;
9+
import flipnote.group.application.port.out.JoinRepositoryPort;
10+
import flipnote.group.domain.model.join.JoinDomain;
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<JoinDomain> joinList = joinRepository.findMyJoinList(userId);
23+
24+
return new FindMyJoinListResult(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
@@ -12,4 +12,6 @@ public interface JoinRepository extends JpaRepository<JoinEntity, Long> {
1212
boolean existsByUserIdAndGroupId(Long userId, Long groupId);
1313

1414
List<JoinEntity> findAllByGroupId(Long groupId);
15+
16+
List<JoinEntity> findAllByUserId(Long userId);
1517
}

0 commit comments

Comments
 (0)