diff --git a/.idea/encodings.xml b/.idea/encodings.xml index d894f918..dcc38a27 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,6 +3,10 @@ + + + + diff --git a/server/src/main/java/edu/sjsu/moth/server/controller/StatusController.java b/server/src/main/java/edu/sjsu/moth/server/controller/StatusController.java index ca2b8d62..e12174b4 100644 --- a/server/src/main/java/edu/sjsu/moth/server/controller/StatusController.java +++ b/server/src/main/java/edu/sjsu/moth/server/controller/StatusController.java @@ -113,6 +113,11 @@ Mono>> getApiV1AccountsStatuses(@PathVariable String limit)) .map(ResponseEntity::ok); } + @GetMapping("/api/v1/trends/statuses") + Mono>> getApiV1TrendingStatuses(@RequestParam(required = false, defaultValue = "0") int offset, @RequestParam(required = false, defaultValue = "20") int limit) { + + return statusService.getAllStatuses(offset, limit).collectList().map(ResponseEntity::ok); + } public static class V1PostStatus { /** diff --git a/server/src/main/java/edu/sjsu/moth/server/service/StatusService.java b/server/src/main/java/edu/sjsu/moth/server/service/StatusService.java index 5d679a7b..c9966c58 100644 --- a/server/src/main/java/edu/sjsu/moth/server/service/StatusService.java +++ b/server/src/main/java/edu/sjsu/moth/server/service/StatusService.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.data.domain.Sort; +import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.security.Principal; @@ -14,6 +15,7 @@ @Configuration public class StatusService { + @Autowired StatusRepository statusRepository; @@ -58,4 +60,9 @@ public Mono> getStatusesForId(String username, String max_id, Strin int count = limit == null || limit > 40 || limit < 1 ? 40 : limit; return statusRepository.findAll(predicate, Sort.by(Sort.Direction.DESC, "id")).take(count).collectList(); } + + public Flux getAllStatuses(int offset, int limit) { + return statusRepository.findAll().skip(offset).take(limit); + } + }