42 lines
1.5 KiB
Go
42 lines
1.5 KiB
Go
package routers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.apinb.com/bsm-sdk/core/middleware"
|
|
"git.apinb.com/ops/files/internal/auth"
|
|
"git.apinb.com/ops/files/internal/health"
|
|
"git.apinb.com/ops/files/internal/logic/files"
|
|
"git.apinb.com/ops/files/internal/logic/ping"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Register 注册基础服务路由。
|
|
func Register(srvKey string, engine *gin.Engine) {
|
|
v1Group := engine.Group(fmt.Sprintf("/%s/v1", srvKey))
|
|
engine.GET("/ready", health.Ready)
|
|
v1Group.GET("/ping/hello", ping.Hello)
|
|
v1Group.GET("/runtime/status", middleware.JwtAuth(true), health.Status)
|
|
v1Group.PUT("/local/uploads/:identity", files.LocalUpload)
|
|
v1Group.GET("/access/:identity/content", files.SignedAccess)
|
|
v1Group.GET("/public/files/:identity/content", files.PublicAccess)
|
|
|
|
userGroup := v1Group.Group("", middleware.JwtAuth(true))
|
|
registerFileRoutes(userGroup)
|
|
userGroup.GET("/files/:identity/access", files.Access)
|
|
|
|
internalGroup := v1Group.Group("/internal", auth.ServiceAuth())
|
|
internalGroup.GET("/runtime/status", health.Status)
|
|
registerFileRoutes(internalGroup)
|
|
internalGroup.POST("/files/access", files.BatchAccess)
|
|
internalGroup.PUT("/files/:identity/visibility", files.SetVisibility)
|
|
}
|
|
|
|
func registerFileRoutes(group *gin.RouterGroup) {
|
|
group.POST("/uploads/init", files.InitUpload)
|
|
group.POST("/uploads/:identity/complete", files.CompleteUpload)
|
|
group.GET("/files/:identity", files.Detail)
|
|
group.GET("/files/:identity/content", files.Download)
|
|
group.DELETE("/files/:identity", files.Delete)
|
|
}
|