using Models;
using System.Collections.Immutable;
namespace Services
{
///
/// This service handles the recipes created by an account
///
public interface IAccountOwnedRecipesService
{
///
/// This service's bound account
///
public Account Account { get; }
///
/// Upload a new recipe, ensuring the recipe's owner matches the service's bound account user.
///
/// The recipe to upload
/// true if the recipe could be uploaded, false instead
public bool UploadRecipe(Recipe recipe);
///
/// Removes a recipe
///
/// The informations about the recipe to remove
/// true if the recipe could be removed, false instead
public bool RemoveRecipe(RecipeInfo info);
///
/// The living recipes created by this account.
/// If the user removes a recipe (using ) it'll no longer apear in the
/// next invocations of this recipe
///
/// the list of all the living recipes of the account
public ImmutableList GetAccountRecipes();
}
}