pejhancctv/handlers/wishlist.go

75 lines
1.3 KiB
Go

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")
}