You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

60 lines
1.3 KiB

package user
import (
"git.echinacities.com/mogfee/protoc-gen-kit/response"
"github.com/gin-gonic/gin"
)
func NewGin(app *gin.Engine, srv UserServer) {
app.GET("/api/v1/user/list", httpList(srv))
app.POST("/api/v1/user/login", httpLogin(srv))
app.DELETE("/api/v1/user/delete", httpDelete(srv))
}
func httpList(srv UserServer) func(c *gin.Context) {
return func(c *gin.Context) {
post := LoginRequest{}
resp := response.New(c)
if err := resp.BindQuery(&post); err != nil {
resp.Error(err)
return
}
result, err := srv.List(c, &post)
if err != nil {
resp.Error(err)
return
}
c.JSON(200, result)
}
}
func httpLogin(srv UserServer) func(c *gin.Context) {
return func(c *gin.Context) {
post := LoginRequest{}
resp := response.New(c)
if err := resp.BindJSON(&post); err != nil {
resp.Error(err)
return
}
result, err := srv.Login(c, &post)
if err != nil {
resp.Error(err)
return
}
c.JSON(200, result)
}
}
func httpDelete(srv UserServer) func(c *gin.Context) {
return func(c *gin.Context) {
post := LoginRequest{}
resp := response.New(c)
if err := resp.BindJSON(&post); err != nil {
resp.Error(err)
return
}
result, err := srv.Delete(c, &post)
if err != nil {
resp.Error(err)
return
}
c.JSON(200, result)
}
}