123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package http
- import (
- "net/http"
- "go-common/app/admin/main/dm/conf"
- "go-common/app/admin/main/dm/service"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/http/blademaster/middleware/permit"
- "go-common/library/net/http/blademaster/middleware/verify"
- )
- var (
- //dmSvc service
- dmSvc *service.Service
- verifySvc *verify.Verify
- // authSvc auth service
- authSvc *permit.Permit
- )
- // Init http init
- func Init(c *conf.Config, s *service.Service) {
- dmSvc = s
- verifySvc = verify.New(c.Verify)
- authSvc = permit.New(c.ManagerAuth)
- engine := bm.DefaultServer(c.HTTPServer)
- authRouter(engine)
- innerRouter(engine)
- // init internal server
- if err := engine.Start(); err != nil {
- log.Error("engine.Start error(%v)", err)
- panic(err)
- }
- }
- func authRouter(engine *bm.Engine) {
- engine.GET("/monitor/ping", ping)
- group := engine.Group("/x/admin/dm")
- {
- // up filter
- group.GET("/upfilter/list", authSvc.Permit("DANMU_POOL_OPERATION"), upFilters)
- group.POST("/upfilter/edit", authSvc.Permit("DANMU_POOL_OPERATION"), editUpFilters)
- // advance dm list
- group.GET("/adv/list", authSvc.Permit("DANMU_POOL_OPERATION"), advList)
- // dm transfer
- group.GET("/transfer/list", authSvc.Permit("DANMU_POOL_OPERATION"), transferList)
- group.POST("/transfer/retry", authSvc.Permit("DANMU_POOL_OPERATION"), reTransferJob)
- // dm subject
- group.POST("/subject/state/edit", authSvc.Permit("DANMAKU_POOL_SWITCH"), uptSubjectsState)
- group.GET("/subject/log", authSvc.Permit("DANMU_LIST"), subjectLog)
- group.GET("/subject/archive", authSvc.Permit("DANMU_LIST"), archiveList)
- group.POST("/subject/maxlimit", authSvc.Permit("DANMU_POOL_OPERATION"), upSubjectMaxLimit)
- // dm mask
- group.GET("/mask/state", authSvc.Permit("DANMU_LIST"), maskState)
- group.POST("/mask/state/update", authSvc.Permit("DANMAKU_MASK_SWITCH"), updateMaskState)
- group.POST("/mask/generate", authSvc.Permit("DANMAKU_MASK_SWITCH"), generateMask)
- group.GET("/mask/up", authSvc.Permit("DANMU_LIST"), maskUps)
- group.POST("/mask/up/open", authSvc.Permit("DANMAKU_MASK_SWITCH"), maskUpOpen)
- // dm task
- group.GET("/task/list", authSvc.Permit("DM_TASK_LIST"), taskList)
- group.POST("/task/new", authSvc.Permit("DM_TASK_OPERATION"), addTask)
- group.POST("/task/review", authSvc.Permit("DM_TASK_REVIEW"), reviewTask)
- group.POST("/task/state/edit", authSvc.Permit("DM_TASK_OPERATION"), editTaskState)
- group.GET("/task/view", authSvc.Permit("DM_TASK_LIST"), taskView)
- group.GET("/task/csv", authSvc.Permit("DM_TASK_LIST"), taskCsv)
- // dm list
- group.GET("/content/list", authSvc.Permit("DANMU_LIST"), contentList)
- group.GET("/report/list/first", authSvc.Permit("DM_REPORT_FIRST_READ"), reportList2)
- group.GET("/report/list/second", authSvc.Permit("DM_REPORT_SECOND_READ"), reportList2)
- // dm bnj shield
- group.POST("/shield/upload", authSvc.Permit("DANMU_LIST"), shieldUpload)
- }
- subtitleG := group.Group("/subtitle")
- {
- subtitleG.GET("/list", authSvc.Permit("DM_SUBTITLE"), subtitleList)
- subtitleG.POST("/edit", authSvc.Permit("DM_SUBTITLE"), subtitleEdit)
- subtitleG.POST("/subject/switch", authSvc.Permit("DM_SUBTITLE"), subtitleSwitch)
- }
- }
- // innerRouter init inner router.
- func innerRouter(engine *bm.Engine) {
- group := engine.Group("/x/internal/dmadmin", verifySvc.Verify)
- {
- group.POST("/trans/add", addTrJob)
- cg := group.Group("/content")
- {
- cg.POST("/edit/state", editDMState)
- cg.POST("/edit/pool", editDMPool)
- cg.POST("/edit/attr", editDMAttr)
- cg.GET("/list", dmSearch)
- cg.POST("/refresh", xmlCacheFlush)
- cg.GET("/index/info", dmIndexInfo)
- cg.GET("/log/query", logList)
- }
- sg := group.Group("/subject")
- {
- sg.GET("/info", dmIndexInfo)
- sg.POST("/fix/count", fixDMCount)
- }
- rg := group.Group("/report")
- {
- rg.GET("/list", reportList)
- rg.GET("/log", reportLog)
- rg.POST("/user/stat/change", changeReportUserStat)
- rg.POST("/stat/change", changeReportStat)
- rg.POST("/judge", transferJudge)
- rg.POST("/judge/result", JudgeResult)
- }
- mg := group.Group("/monitor")
- {
- mg.GET("/list", monitorList)
- mg.POST("/edit", editMonitor)
- }
- subtitleG := group.Group("/subtitle")
- {
- subtitleG.POST("/workflow/callback", subtitleEditCallback)
- subtitleG.GET("/workflow/status/list", subtitleStatusList)
- subtitleG.GET("/workflow/lans/list", subtitleLanList)
- }
- }
- }
- // ping check server state.
- func ping(ctx *bm.Context) {
- if err := dmSvc.Ping(ctx); err != nil {
- log.Error("dm admin ping error(%v)", err)
- ctx.JSON(nil, err)
- ctx.AbortWithStatus(http.StatusServiceUnavailable)
- }
- ctx.Next()
- }
|