go-common/app/admin/main/block/http/http.go
2019-04-22 18:49:16 +08:00

66 lines
1.4 KiB
Go

package http
import (
"go-common/app/admin/main/block/conf"
"go-common/app/admin/main/block/model"
"go-common/app/admin/main/block/service"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/permit"
"github.com/pkg/errors"
)
var (
authSvc *permit.Permit
svc *service.Service
)
// Init http server
func Init() {
initService()
engine := bm.DefaultServer(conf.Conf.BM)
innerRouter(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start() error(%v)", err)
panic(err)
}
}
// initService init biz services
func initService() {
authSvc = permit.New(conf.Conf.Auth)
svc = service.New()
}
func innerRouter(e *bm.Engine) {
e.GET("/monitor/ping", func(c *bm.Context) {})
cb := e.Group("/x/admin/block", authSvc.Permit(conf.Conf.Perms.Perm["search"]))
{
cb.POST("/search", blockSearch)
cb.GET("/history", blockHistory)
}
cb = e.Group("/x/admin/block", authSvc.Permit(conf.Conf.Perms.Perm["block"]))
{
cb.POST("", batchBlock)
}
cb = e.Group("/x/admin/block", authSvc.Permit(conf.Conf.Perms.Perm["remove"]))
{
cb.POST("/remove", batchRemove)
}
}
func bind(c *bm.Context, v model.ParamValidator) (err error) {
if err = c.Bind(v); err != nil {
err = errors.WithStack(err)
return
}
if !v.Validate() {
err = ecode.RequestErr
c.JSON(nil, ecode.RequestErr)
return
}
return
}