19 lines
759 B
Go
19 lines
759 B
Go
package domain
|
|
|
|
type RecipeRepository interface {
|
|
CreateRecipe(recipe *Recipe) error
|
|
EditRecipe(recipe *Recipe, userId int) error
|
|
DeleteRecipe(recipeId, userId int) error
|
|
GetRecipe(id int, userId *int) (*Recipe, error)
|
|
GetRecipes(ids []int, userId *int) ([]Recipe, error)
|
|
SearchRecipes(filters SearchFilters, userId *int, favorites bool) ([]int, error)
|
|
CreateRecipeTags(recipe Recipe, tags []string) error
|
|
UpdateRecipeTags(recipe Recipe, tags []string) error
|
|
GetUserRecipesIds(userId int) ([]int, error)
|
|
GetUserFavoriteRecipesIds(userId int) ([]int, error)
|
|
GetRecipeTags(recipe *Recipe) error
|
|
GetRecipeFavorite(recipe *Recipe, userId int) error
|
|
GetRecipeOfTheWeekId(userId *int) (*int, error)
|
|
IsRecipeOwner(userId, recipeId int) (bool, error)
|
|
}
|