diff --git a/src/main/java/com/pecacm/backend/controllers/EventsController.java b/src/main/java/com/pecacm/backend/controllers/EventsController.java index 570b9de..8afb694 100644 --- a/src/main/java/com/pecacm/backend/controllers/EventsController.java +++ b/src/main/java/com/pecacm/backend/controllers/EventsController.java @@ -139,4 +139,9 @@ public ResponseEntity nextEvent(@RequestParam("date") @DateTimeFormat(iso Event nextEvent = eventService.getNextEvent(currDateTime); return ResponseEntity.ok(nextEvent); } + + @GetMapping("/search/pattern") + public List searchEventByPattern(@RequestParam String query){ + return eventService.searchEventByPattern(query); + } } diff --git a/src/main/java/com/pecacm/backend/repository/EventRepository.java b/src/main/java/com/pecacm/backend/repository/EventRepository.java index d15254d..6bdbc87 100644 --- a/src/main/java/com/pecacm/backend/repository/EventRepository.java +++ b/src/main/java/com/pecacm/backend/repository/EventRepository.java @@ -1,6 +1,7 @@ package com.pecacm.backend.repository; import com.pecacm.backend.entities.Event; +import com.pecacm.backend.entities.User; import com.pecacm.backend.enums.Branch; import org.springframework.data.domain.PageRequest; import org.springframework.data.jpa.repository.JpaRepository; @@ -17,4 +18,5 @@ public interface EventRepository extends JpaRepository { @Query("SELECT e from Event e WHERE e.startDate > :currDateTime ORDER BY e.startDate ASC LIMIT 1") Event getNearestEvent(@Param("currDateTime") LocalDateTime currDate); List findAllByStartDateGreaterThanEqualAndEndDateLessThanEqual(LocalDateTime startDate, LocalDateTime endDate, PageRequest pageRequest); + List findTop5ByTitleContainingIgnoreCase(String title); } \ No newline at end of file diff --git a/src/main/java/com/pecacm/backend/services/EventService.java b/src/main/java/com/pecacm/backend/services/EventService.java index 4f22a1d..833b086 100644 --- a/src/main/java/com/pecacm/backend/services/EventService.java +++ b/src/main/java/com/pecacm/backend/services/EventService.java @@ -21,7 +21,6 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; -import java.util.stream.Stream; @Service public class EventService { @@ -151,4 +150,8 @@ private void updateEventRoles(List emails, EventRole eventRole, Event ev public Event getNextEvent(LocalDateTime currDateTime) { return eventRepository.getNearestEvent(currDateTime); } + + public List searchEventByPattern(String query) { + return eventRepository.findTop5ByTitleContainingIgnoreCase(query); + } }