74 lines
1.7 KiB
Go
74 lines
1.7 KiB
Go
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)
|
|
}
|
|
}
|
|
}
|