package handler import ( "acme-mana-server-go/model" "acme-mana-server-go/service" "acme-mana-server-go/vo" "github.com/gin-gonic/gin" "strconv" ) var acmeUserService = &service.AcmeUserService{} type AcmeUserHandler struct { } func (a *AcmeUserHandler) Register(r *gin.RouterGroup) { group := r.Group("/acme_user") group.GET("/", a.List) group.POST("/", a.Add) group.GET("/:id", a.Get) group.DELETE("/:id", a.Delete) group.POST("/page", a.Page) } func (a *AcmeUserHandler) List(c *gin.Context) { acmeUsers := acmeUserService.List() c.JSON(200, vo.Success(acmeUsers)) } func (a *AcmeUserHandler) Add(c *gin.Context) { acmeUser := &model.AcmeUser{} err := c.BindJSON(acmeUser) if err != nil { panic(err) } acmeUser = acmeUserService.Add(acmeUser) c.JSON(200, vo.Success(acmeUser)) } func (a *AcmeUserHandler) Get(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { panic(err) } acmeUser := acmeUserService.Get(id) c.JSON(200, vo.Success(acmeUser)) } func (a *AcmeUserHandler) Delete(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { panic(err) } acmeUserService.Delete(id) c.JSON(200, vo.Success("")) } func (a *AcmeUserHandler) Page(c *gin.Context) { req := &vo.AcmeUserPageReq{} err := c.BindJSON(req) if err != nil { panic(err) } total, acmeUsers := acmeUserService.Page(req) result := vo.PageResult{ Total: total, List: acmeUsers, } c.JSON(200, vo.Success(&result)) }