package handlers import ( database "app/database" "app/models" "app/repositories" "net/http" "strconv" "github.com/labstack/echo/v4" ) // Create(w *models.Wishlist) error // GetList(id uint) ([]models.Wishlist, error) // Delete(id uint) error func initWishlist() *repositories.Wishlist_repository { db := database.Db() wishRepository := new(repositories.Wishlist_repository) wishRepository.DB = &db return wishRepository } func CreateWishlist(c echo.Context) error { wishlist := new(models.Wishlist) wishlistReposiory := initWishlist() if err := c.Bind(wishlist); err != nil { panic(err) } err := wishlistReposiory.Create(wishlist) if err != nil { panic(err) } return c.JSON(http.StatusCreated, wishlist) } func GetWishlist(c echo.Context) error { id, err := strconv.Atoi(c.Param("id")) if err != nil { panic(err) } wishlistReposiory := initWishlist() wishlist, err := wishlistReposiory.GetList(uint(id)) if err != nil { panic(err) } return c.JSON(http.StatusAccepted, wishlist) } func DeleteWishlist(c echo.Context) error { id, err := strconv.Atoi(c.Param("id")) if err != nil { panic(err) } wishlistReposiory := initWishlist() err = wishlistReposiory.Delete(uint(id)) if err != nil { panic(err) } return c.String(http.StatusAccepted, "removed") }