20 lines
705 B
Go
20 lines
705 B
Go
package domain
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type RecipeService interface {
|
|
CreateRecipe(ctx *gin.Context) (*Recipe, error)
|
|
EditRecipe(ctx *gin.Context, recipeId, userId int) (*Recipe, error)
|
|
DeleteRecipe(userId, recipeId int) error
|
|
GetRecipe(id int, userId *int) (*Recipe, error)
|
|
SearchRecipes(filters SearchFilters, userId *int, favorites bool) ([]Recipe, error)
|
|
GetUserRecipes(userId int) ([]Recipe, error)
|
|
GetUserFavoriteRecipes(userId int) ([]Recipe, error)
|
|
GetUserViewedRecipes(userId, limit int) ([]Recipe, error)
|
|
GetUserMadeRecipes(userId, limit int) ([]Recipe, error)
|
|
GetRecipeOfTheWeek(userId *int) (*Recipe, error)
|
|
IsRecipeOwner(userId *int, recipeId int) (bool, error)
|
|
}
|