feat(CreateRecipe): implementado servicio para crear recetas básico

parent a54b1f0e
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 CreateRecipeUseCase {
RecipeOutputDto create(RecipeInputDto recipeInputDto);
}
package com.example.apprecetas.recipe.application.impl;
import com.example.apprecetas.recipe.application.CreateRecipeUseCase;
import com.example.apprecetas.recipe.domain.repository.CreateRecipeRepository;
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 CreateRecipeUseCaseImpl implements CreateRecipeUseCase {
@Autowired
private CreateRecipeRepository repository;
private final RecipeMapper mapper = Mappers.getMapper(RecipeMapper.class);
@Override
public RecipeOutputDto create(RecipeInputDto recipeInputDto) {
RecipeJpa recipeJpa = mapper.mapJpa(mapper.map(recipeInputDto));
RecipeJpa savedRecipe = repository.create(recipeJpa);
return mapper.map(mapper.mapJpa(savedRecipe));
}
}
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