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.
61 lines
1.4 KiB
61 lines
1.4 KiB
2 years ago
|
package user
|
||
|
|
||
|
import (
|
||
|
"github.com/gin-gonic/gin"
|
||
|
"github.com/mogfee/protoc-gen-kit/response"
|
||
|
)
|
||
|
|
||
|
func NewGin(app *gin.Engine, srv UserServer) {
|
||
|
_http_GET_List(app, "/api/v1/user/list", srv)
|
||
|
_http_POST_Login(app, "/api/v1/user/login", srv)
|
||
|
_http_DELETE_Delete(app, "/api/v1/user/delete", srv)
|
||
|
}
|
||
|
func _http_GET_List(router *gin.Engine, method string, srv UserServer) {
|
||
|
router.GET(method, 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 _http_POST_Login(router *gin.Engine, method string, srv UserServer) {
|
||
|
router.POST(method, 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 _http_DELETE_Delete(router *gin.Engine, method string, srv UserServer) {
|
||
|
router.DELETE(method, 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)
|
||
|
})
|
||
|
}
|