using Models; using System.Collections.Immutable; namespace Services { /// /// The services that is in charge of handling the application's recipes. /// public interface IRecipesService { /// /// /// /// A list containg the popular recipes of the week public ImmutableList PopularRecipes(); /// /// performs a search over all the recipes /// /// A list containg the recipes that matches the prompt public ImmutableList SearchRecipes(string prompt); /// /// Retrieves a recipe from given RecipeInfo /// /// the informations about the recipe that we want to retrieve /// some recipe if the recipe was found, null else public Recipe? GetRecipe(RecipeInfo info); /// /// Gets the service that is in charge of handling the account's owned recipes. /// The account's owned recipes are the recipes that the account created. /// /// The account logged in /// The service that handles the given account's recipes public IAccountOwnedRecipesService GetRecipesOf(Account account); /// /// Gets the service that handles all the preferences of the given account /// /// The account logged in /// /// The service that handles the given account's preferences /// public IAccountRecipesPreferencesService GetPreferencesOf(Account account); } }