106 lines
1.7 KiB
Go
106 lines
1.7 KiB
Go
package handlers
|
|
|
|
import (
|
|
"platform/web/auth"
|
|
"platform/web/core"
|
|
g "platform/web/globals"
|
|
s "platform/web/services"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func PageCouponByAdmin(c *fiber.Ctx) error {
|
|
_, err := auth.GetAuthCtx(c).PermitAdmin(core.ScopeCouponRead)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
var req core.PageReq
|
|
if err := g.Validator.ParseBody(c, &req); err != nil {
|
|
return err
|
|
}
|
|
|
|
list, total, err := s.Coupon.Page(&req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return c.JSON(core.PageResp{
|
|
Total: int(total),
|
|
Page: req.GetPage(),
|
|
Size: req.GetSize(),
|
|
List: list,
|
|
})
|
|
}
|
|
|
|
func AllCouponByAdmin(c *fiber.Ctx) error {
|
|
_, err := auth.GetAuthCtx(c).PermitAdmin(core.ScopeCouponRead)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
list, err := s.Coupon.All()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return c.JSON(list)
|
|
}
|
|
|
|
func CreateCoupon(c *fiber.Ctx) error {
|
|
_, err := auth.GetAuthCtx(c).PermitAdmin(core.ScopeCouponWrite)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
var req s.CreateCouponData
|
|
if err := g.Validator.ParseBody(c, &req); err != nil {
|
|
return err
|
|
}
|
|
|
|
err = s.Coupon.Create(req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func UpdateCoupon(c *fiber.Ctx) error {
|
|
_, err := auth.GetAuthCtx(c).PermitAdmin(core.ScopeCouponWrite)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
var req s.UpdateCouponData
|
|
if err := g.Validator.ParseBody(c, &req); err != nil {
|
|
return err
|
|
}
|
|
|
|
err = s.Coupon.Update(req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func DeleteCoupon(c *fiber.Ctx) error {
|
|
_, err := auth.GetAuthCtx(c).PermitAdmin(core.ScopeCouponWrite)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
var req core.IdReq
|
|
if err := g.Validator.ParseBody(c, &req); err != nil {
|
|
return err
|
|
}
|
|
|
|
err = s.Coupon.Delete(req.Id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|