From eb5aedbe9143940d95942c39c37c7cf586c794f6 Mon Sep 17 00:00:00 2001 From: Rithvik Sriram Date: Fri, 19 Dec 2025 13:12:18 +0100 Subject: [PATCH] added backend server search functionality with unit tests # Conflicts: # server/src/test/java/server/api/RecipeControllerTest.java --- .../java/server/api/RecipeController.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/server/src/main/java/server/api/RecipeController.java b/server/src/main/java/server/api/RecipeController.java index 37a2a78..52fc593 100644 --- a/server/src/main/java/server/api/RecipeController.java +++ b/server/src/main/java/server/api/RecipeController.java @@ -120,4 +120,27 @@ public class RecipeController { messagingTemplate.convertAndSend(Topics.RECIPES, new DeleteRecipeMessage(id)); // Send to WS. return ResponseEntity.ok(true); } + + public ResponseEntity> getRecipes( + @RequestParam(required = false) String search, + @RequestParam(required = false) Integer limit){ + + List recipes = recipeRepository.findAll(); + + if(search != null && !search.trim().isEmpty()){ + String lowercaseSearch = search.toLowerCase(); + recipes = recipes.stream().filter(recipe -> recipe.getName() + .toLowerCase() + .contains(lowercaseSearch)) + .toList(); + } + if(limit != null && limit