diff --git a/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java b/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java index 40a5a33..e5a038c 100644 --- a/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java +++ b/src/main/java/Capstone/AutoScheduler/global/config/SecurityConfig.java @@ -25,7 +25,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti .requestMatchers("/member/sign-up", "/member/sign-in").permitAll() .requestMatchers("/member/**").permitAll() // Event 관련 접근 - .requestMatchers("/event/", "/event/{eventId}", "/event/member/{memberId}", "/event/member/{memberId}/event/{eventId}", "/event/member/{memberId}/date/{date}", "/event/multipleEvents/{memberId}/{generatorId}").permitAll() + .requestMatchers("/event/", "/event/{eventId}", "/event/member/{memberId}", "/event/member/{memberId}/event/{eventId}", "/event/member/{memberId}/date/{date}", "/event/multipleEvents/{memberId}/{generatorId}", "/event/member/{memberId}/recent").permitAll() // Generator 관련 접근 .requestMatchers("/generator/", "/generator/{generatorId}").permitAll() // Bookmark 관련 접근 diff --git a/src/main/java/Capstone/AutoScheduler/global/repository/EventRepository.java b/src/main/java/Capstone/AutoScheduler/global/repository/EventRepository.java index 383eb72..9b5a36e 100644 --- a/src/main/java/Capstone/AutoScheduler/global/repository/EventRepository.java +++ b/src/main/java/Capstone/AutoScheduler/global/repository/EventRepository.java @@ -11,5 +11,5 @@ public interface EventRepository extends JpaRepository { List findAllByMember(Member member); - + List findTop10ByMember_MemberIdOrderByCreatedAtDesc(Long memberId); } diff --git a/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryService.java b/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryService.java index 55037a1..ed72f8b 100644 --- a/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryService.java +++ b/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryService.java @@ -9,4 +9,5 @@ public interface EventQueryService { List getMemberEvent(Long memberId); List getMemberEventByDate(Long memberId, String date); Event getEvent(Long memberId, Long eventId); + List findRecentEventsByMember(Long memberId, int limit); } diff --git a/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryServiceImpl.java b/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryServiceImpl.java index 93700f4..224b894 100644 --- a/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryServiceImpl.java +++ b/src/main/java/Capstone/AutoScheduler/global/service/EventService/EventQueryServiceImpl.java @@ -54,4 +54,10 @@ public Event getEvent(Long memberId, Long eventId) { return null; } } + + @Override + public List findRecentEventsByMember(Long memberId, int limit) { + return eventRepository.findTop10ByMember_MemberIdOrderByCreatedAtDesc(memberId);// 최신 10개 일정 조회 + } + } diff --git a/src/main/java/Capstone/AutoScheduler/global/web/controller/EventController.java b/src/main/java/Capstone/AutoScheduler/global/web/controller/EventController.java index 8777fb7..cfe31a9 100644 --- a/src/main/java/Capstone/AutoScheduler/global/web/controller/EventController.java +++ b/src/main/java/Capstone/AutoScheduler/global/web/controller/EventController.java @@ -93,6 +93,14 @@ public ApiResponse> createMultipleEv return ApiResponse.onSuccess(SuccessStatus.EVENT_OK, createdEvents); } + // 사용자의 최근 생성된 일정 전체 리스트 조회하기 + @GetMapping("/member/{memberId}/recent") + @Operation(summary = "사용자의 최근 생성된 일정 리스트 조회 API", description = "사용자의 최근 생성된 10개의 일정 리스트를 조회합니다.") + public ApiResponse findRecentEventsByMember(@PathVariable Long memberId) { + List recentEvents = eventQueryService.findRecentEventsByMember(memberId, 10); // 10개의 일정 조회 + return ApiResponse.onSuccess(SuccessStatus.EVENT_OK, EventConverter.toMemberEventPreviewListDTO(recentEvents)); + } + }