package tutorial.core.repositories;

import java.util.List;
import tutorial.core.models.entities.ActiveIngredientRecomendation;

/**
 * 
 * @author Xavier
 */
public interface ActiveIngredientRecomendationRepo {

    /**
     *
     * @param id
     * @return
     */
    public ActiveIngredientRecomendation findActiveIngredientRecomendation(Long id); // Returns the ActiveIngredientRecomendation or null if it can't be found

    /**
     *
     * @param id
     * @return
     */
    public ActiveIngredientRecomendation deleteActiveIngredientRecomendation(Long id); // Deletes the found ActiveIngredientRecomendation or returns null if it can't be found

    /**
     * @param id the id of the ActiveIngredientRecomendation to updateActiveIngredientRecomendation
     * @param data the ActiveIngredientRecomendation containing the data to be used for the updateActiveIngredientRecomendation
     * @return the updated ActiveIngredientRecomendation or null if the ActiveIngredientRecomendation with the id cannot be found
     */
    public ActiveIngredientRecomendation updateActiveIngredientRecomendation(Long id, ActiveIngredientRecomendation data);

    /**
     * 
     * @param data
     * @return 
     */
    public ActiveIngredientRecomendation createActiveIngredientRecomendation(ActiveIngredientRecomendation data);

    /**
     * 
     * @param activeIngredientId
     * @return 
     */
    public List<ActiveIngredientRecomendation> findByActiveIngredientId(Long activeIngredientId);

    /**
     * 
     */
    public void deleteAllRecomendations();
}
