go-common/app/admin/main/upload/http/http.go

74 lines
1.7 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package http
import (
"go-common/app/admin/main/upload/conf"
"go-common/app/admin/main/upload/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 (
authSvc *permit.Permit
uaSvc *service.Service
verifySvc *verify.Verify
)
// Init init
func Init(c *conf.Config, s *service.Service) {
initService(c, s)
// init router
engine := bm.DefaultServer(c.BM)
innerRouter(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
// initService init services.
func initService(c *conf.Config, s *service.Service) {
authSvc = permit.New(c.Auth)
verifySvc = verify.New(nil)
uaSvc = s
}
// innerRouter init outer router api path.
func innerRouter(e *bm.Engine) {
//init api
e.Ping(ping)
uploadAdmin := e.Group("/x/admin/upload")
{
uploadAdmin.POST("/add", add)
uploadAdmin.GET("/list", authSvc.Permit(""), list)
uploadAdmin.DELETE("/delete", authSvc.Permit(""), deleteFile)
file := uploadAdmin.Group("/file")
{
file.POST("/upload", authSvc.Permit(""), InternalUploadAdminImage)
file.DELETE("/delete", authSvc.Permit(""), deleteRawFile)
}
}
uploadAdminV2 := e.Group("/x/admin/upload/v2")
{
uploadAdminV2.GET("/list", authSvc.Permit(""), multiList)
uploadAdminV2.DELETE("/delete", authSvc.Permit(""), deleteFileV2)
}
bucket := uploadAdmin.Group("/bucket")
{
bucket.POST("/add", verifySvc.Verify, addBucket)
bucket.GET("/list", listBucket)
bucket.GET("/list/public", listPublicBucket)
bucket.GET("/detail", detailBucket)
dir := bucket.Group("/dir")
{
dir.POST("/add", verifySvc.Verify, addDir)
}
}
}