package com.example.demo.service;

import java.util.List;

import org.jspecify.annotations.Nullable;
import org.springframework.web.multipart.MultipartFile;

import com.example.demo.dto.RecipeDto;
import com.example.demo.entity.Recipe;
import com.example.demo.entity.User;

public interface RecipeService {
	RecipeDto convertToDto(Recipe recipe);

	RecipeDto saveRecipe(RecipeDto recipe, String currentUsername);

	List<RecipeDto> getAllRecipes();

	RecipeDto getRecipeById(Integer recipeId);
	
	List<RecipeDto> getNewestRecipes(int limit);
	
	List<RecipeDto> getRecipes(String name, List<String> tags, List<Integer> prices, List<Integer> cookTime, List<Integer> prepTime);

	RecipeDto updateRecipe(RecipeDto recipedto, Integer Id, String currentUsername);

	void deleteRecipe(Integer Id, String currentUsername);

	void updateRecipeImage(Integer id, MultipartFile image);

}