125 lines
3.2 KiB
Go
125 lines
3.2 KiB
Go
package http
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"go-common/app/admin/main/esports/conf"
|
|
"go-common/app/admin/main/esports/service"
|
|
"go-common/library/log"
|
|
bm "go-common/library/net/http/blademaster"
|
|
"go-common/library/net/http/blademaster/middleware/permit"
|
|
)
|
|
|
|
var (
|
|
esSvc *service.Service
|
|
//idfSvc *identify.Identify
|
|
permitSvc *permit.Permit
|
|
)
|
|
|
|
// Init init http sever instance.
|
|
func Init(c *conf.Config, s *service.Service) {
|
|
esSvc = s
|
|
permitSvc = permit.New(c.Permit)
|
|
engine := bm.DefaultServer(c.BM)
|
|
authRouter(engine)
|
|
// init internal server
|
|
if err := engine.Start(); err != nil {
|
|
log.Error("engine.Start error(%v)", err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func authRouter(e *bm.Engine) {
|
|
e.Ping(ping)
|
|
group := e.Group("/x/admin/esports", permitSvc.Permit("ESPORTS_ADMIN"))
|
|
{
|
|
matchGroup := group.Group("/matchs")
|
|
{
|
|
matchGroup.GET("/info", matchInfo)
|
|
matchGroup.GET("/list", matchList)
|
|
matchGroup.POST("/add", addMatch)
|
|
matchGroup.POST("/save", editMatch)
|
|
matchGroup.POST("/forbid", forbidMatch)
|
|
}
|
|
seasonGroup := group.Group("/seasons")
|
|
{
|
|
seasonGroup.GET("/info", seasonInfo)
|
|
seasonGroup.GET("/list", seasonList)
|
|
seasonGroup.POST("/add", addSeason)
|
|
seasonGroup.POST("/save", editSeason)
|
|
seasonGroup.POST("/forbid", forbidSeason)
|
|
}
|
|
contestGroup := group.Group("/contest")
|
|
{
|
|
contestGroup.GET("/info", contestInfo)
|
|
contestGroup.GET("/list", contestList)
|
|
contestGroup.POST("/add", addContest)
|
|
contestGroup.POST("/save", editContest)
|
|
contestGroup.POST("/forbid", forbidContest)
|
|
}
|
|
gameGroup := group.Group("/games")
|
|
{
|
|
gameGroup.GET("/info", gameInfo)
|
|
gameGroup.GET("/list", gameList)
|
|
gameGroup.POST("/add", addGame)
|
|
gameGroup.POST("/save", editGame)
|
|
gameGroup.POST("/forbid", forbidGame)
|
|
gameGroup.GET("/types", types)
|
|
}
|
|
teamGroup := group.Group("/teams")
|
|
{
|
|
teamGroup.GET("/info", teamInfo)
|
|
teamGroup.GET("/list", teamList)
|
|
teamGroup.POST("/add", addTeam)
|
|
teamGroup.POST("/save", editTeam)
|
|
teamGroup.POST("/forbid", forbidTeam)
|
|
}
|
|
tagGroup := group.Group("/tags")
|
|
{
|
|
tagGroup.GET("/info", tagInfo)
|
|
tagGroup.GET("/list", tagList)
|
|
tagGroup.POST("/add", addTag)
|
|
tagGroup.POST("/save", editTag)
|
|
tagGroup.POST("/forbid", forbidTag)
|
|
}
|
|
arcGroup := group.Group("/arcs")
|
|
{
|
|
arcGroup.GET("/list", arcList)
|
|
arcGroup.POST("/edit", editArc)
|
|
arcGroup.POST("/batch/add", batchAddArc)
|
|
arcGroup.POST("/batch/edit", batchEditArc)
|
|
arcGroup.POST("/batch/del", batchDelArc)
|
|
arcGroup.POST("/import/csv", arcImportCSV)
|
|
}
|
|
actGroup := group.Group("/active")
|
|
{
|
|
actGroup.GET("", listAct)
|
|
actGroup.POST("/add", addAct)
|
|
actGroup.POST("/edit", editAct)
|
|
actGroup.POST("/forbid", forbidAct)
|
|
dGroup := actGroup.Group("/detail")
|
|
{
|
|
dGroup.GET("/list", listDetail)
|
|
dGroup.POST("/add", addDetail)
|
|
dGroup.POST("/edit", editDetail)
|
|
dGroup.POST("/forbid", forbidDetail)
|
|
dGroup.POST("/online", onLine)
|
|
}
|
|
tGroup := actGroup.Group("/tree")
|
|
{
|
|
tGroup.GET("/list", listTree)
|
|
tGroup.POST("/add", addTree)
|
|
tGroup.POST("/edit", editTree)
|
|
tGroup.POST("/del", delTree)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func ping(c *bm.Context) {
|
|
if err := esSvc.Ping(c); err != nil {
|
|
log.Error("esport-admin ping error")
|
|
c.AbortWithStatus(http.StatusServiceUnavailable)
|
|
}
|
|
}
|