Skip to content

Commit 39e2e52

Browse files
feat(interview): filter mission by sessionId (#1645)
Co-authored-by: woowahan-neo <jaeyeonling@woowahan.com>
1 parent cc263e5 commit 39e2e52

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

backend/src/main/java/wooteco/prolog/session/application/MissionService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ public List<MissionResponse> findAll() {
4646
return MissionResponse.listOf(missionRepository.findAll());
4747
}
4848

49+
public List<MissionResponse> findAllBySessionId(final long sessionId) {
50+
return MissionResponse.listOf(missionRepository.findBySessionId(sessionId));
51+
}
52+
4953
public Mission findById(Long id) {
5054
return missionRepository.findById(id)
5155
.orElseThrow(() -> new BadRequestException(MISSION_NOT_FOUND));

backend/src/main/java/wooteco/prolog/session/domain/repository/MissionRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,6 @@ public interface MissionRepository extends JpaRepository<Mission, Long> {
1010
Optional<Mission> findByName(String name);
1111

1212
List<Mission> findBySessionIdIn(List<Long> sessionIds);
13+
14+
List<Mission> findBySessionId(long sessionId);
1315
}

backend/src/main/java/wooteco/prolog/session/ui/MissionController.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package wooteco.prolog.session.ui;
22

3-
import java.util.List;
43
import org.springframework.http.ResponseEntity;
54
import org.springframework.web.bind.annotation.GetMapping;
65
import org.springframework.web.bind.annotation.PostMapping;
76
import org.springframework.web.bind.annotation.RequestBody;
87
import org.springframework.web.bind.annotation.RequestMapping;
8+
import org.springframework.web.bind.annotation.RequestParam;
99
import org.springframework.web.bind.annotation.RestController;
1010
import wooteco.prolog.login.aop.MemberOnly;
1111
import wooteco.prolog.login.domain.AuthMemberPrincipal;
@@ -14,6 +14,8 @@
1414
import wooteco.prolog.session.application.dto.MissionRequest;
1515
import wooteco.prolog.session.application.dto.MissionResponse;
1616

17+
import java.util.List;
18+
1719
@RestController
1820
@RequestMapping("/missions")
1921
public class MissionController {
@@ -25,9 +27,14 @@ public MissionController(MissionService missionService) {
2527
}
2628

2729
@GetMapping
28-
public ResponseEntity<List<MissionResponse>> showMissions() {
29-
List<MissionResponse> responses = missionService.findAll();
30-
return ResponseEntity.ok(responses);
30+
public ResponseEntity<List<MissionResponse>> showMissions(
31+
@RequestParam(required = false) final Long sessionId
32+
) {
33+
if (sessionId == null) {
34+
return ResponseEntity.ok(missionService.findAll());
35+
} else {
36+
return ResponseEntity.ok(missionService.findAllBySessionId(sessionId));
37+
}
3138
}
3239

3340
@MemberOnly

0 commit comments

Comments
 (0)