feat(recipe/controller): adaptada función de detalle de SearchAllRecipes para la lista

parent b3442dbd
package com.example.apprecetas.recipe.infrastructure.controller; package com.example.apprecetas.recipe.infrastructure.controller;
import com.example.apprecetas.recipe.application.SearchAIRecipesUseCase; import com.example.apprecetas.recipe.application.SearchAIRecipesUseCase;
import com.example.apprecetas.recipe.domain.entity.Recipe;
import com.example.apprecetas.recipe.domain.entity.Step;
import com.example.apprecetas.recipe.infrastructure.controller.dto.output.RecipeOutputDto; import com.example.apprecetas.recipe.infrastructure.controller.dto.output.RecipeOutputDto;
import com.example.apprecetas.recipe.infrastructure.controller.dto.output.RecipeSummaryOutputDto; import com.example.apprecetas.recipe.infrastructure.controller.dto.output.RecipeSummaryOutputDto;
import com.example.apprecetas.recipe.infrastructure.mapper.RecipeMapper; import com.example.apprecetas.recipe.infrastructure.mapper.RecipeMapper;
...@@ -9,8 +11,10 @@ import org.mapstruct.factory.Mappers; ...@@ -9,8 +11,10 @@ import org.mapstruct.factory.Mappers;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("/recipe") @RequestMapping("/recipe")
...@@ -51,7 +55,16 @@ public class SearchAIRecipesController { ...@@ -51,7 +55,16 @@ public class SearchAIRecipesController {
@PostMapping("/detail/{index}") @PostMapping("/detail/{index}")
public ResponseEntity<RecipeOutputDto> getRecipeDetail(@RequestHeader("X-Session-ID") String sessionId, public ResponseEntity<RecipeOutputDto> getRecipeDetail(@RequestHeader("X-Session-ID") String sessionId,
@PathVariable int index) { @PathVariable int index) {
RecipeOutputDto recipeDto = mapper.map(service.getRecipeDetail(sessionId, index)); Recipe recipe = service.getRecipeDetail(sessionId, index);
if (recipe != null && recipe.getSteps() != null) {
List<Step> sortedSteps = recipe.getSteps().stream()
.sorted(Comparator.comparing(Step::getNumber))
.collect(Collectors.toList());
recipe.setSteps(sortedSteps);
}
RecipeOutputDto recipeDto = mapper.map(recipe);
return ResponseEntity.ok(recipeDto); return ResponseEntity.ok(recipeDto);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment