feat(UpdateRecipe): implementado servicio para actualizar recetas básico

parent 8d5c9b47
package com.example.apprecetas.recipe.application;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeInputDto;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeOutputDto;
public interface UpdateRecipeUseCase {
RecipeOutputDto update(Long id, RecipeInputDto recipeInputDto);
}
package com.example.apprecetas.recipe.application.impl;
import com.example.apprecetas.recipe.application.UpdateRecipeUseCase;
import com.example.apprecetas.recipe.domain.repository.UpdateRecipeRepository;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeInputDto;
import com.example.apprecetas.recipe.infrastructure.controller.dto.RecipeOutputDto;
import com.example.apprecetas.recipe.infrastructure.mapper.RecipeMapper;
import com.example.apprecetas.recipe.infrastructure.repository.jpa.RecipeJpa;
import org.mapstruct.factory.Mappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UpdateRecipeUseCaseImpl implements UpdateRecipeUseCase {
@Autowired
private UpdateRecipeRepository repository;
private final RecipeMapper mapper = Mappers.getMapper(RecipeMapper.class);
@Override
public RecipeOutputDto update(Long id, RecipeInputDto recipeInputDto) {
RecipeJpa recipeJpa = mapper.mapJpa(mapper.map(recipeInputDto));
RecipeJpa updatedRecipe = repository.upadte(id, recipeJpa);
return mapper.map(mapper.mapJpa(updatedRecipe));
}
}
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