83 lines
3.5 KiB
Go
83 lines
3.5 KiB
Go
package routers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.apinb.com/bsm-sdk/core/middleware"
|
|
"git.apinb.com/heqiapp/platforms/backend/api/internal/logic/platform"
|
|
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterPlatform 注册 /heqi/platform/v1 前缀下的平台总后台路由。
|
|
func RegisterPlatform(serviceKey string, engine *gin.Engine) {
|
|
basePath := fmt.Sprintf("/%s/platform/v1", serviceKey)
|
|
anonymous := engine.Group(basePath)
|
|
anonymous.GET("/ping/hello", platform.PingHello)
|
|
anonymous.POST("/auth/login", platform.Login)
|
|
|
|
protected := engine.Group(basePath)
|
|
protected.Use(middleware.JwtAuth(true))
|
|
protected.GET("/auth/profile", platform.CurrentProfile)
|
|
protected.PUT("/auth/password", platform.ChangePassword)
|
|
protected.GET("/dashboard/overview", platform.DashboardOverview)
|
|
|
|
registerGasRoute(protected)
|
|
registerDeliveryRoute(protected)
|
|
registerStaffRoute(protected)
|
|
registerUserRoute(protected)
|
|
registerPlatformRoute(protected)
|
|
}
|
|
|
|
func registerGasRoute(group *gin.RouterGroup) {
|
|
resource := group.Group("/gas/gas_basic")
|
|
resource.GET("", platform.ListGasBasic)
|
|
resource.POST("", platform.CreateGasBasic)
|
|
resource.GET("/:identity", platform.GetGasBasic)
|
|
resource.PUT("/:identity", platform.UpdateGasBasic)
|
|
resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.GasBasic{}) })
|
|
resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.GasBasic{}) })
|
|
}
|
|
|
|
func registerDeliveryRoute(group *gin.RouterGroup) {
|
|
resource := group.Group("/delivery/delivery_basic")
|
|
resource.GET("", platform.ListDeliveryBasic)
|
|
resource.POST("", platform.CreateDeliveryBasic)
|
|
resource.GET("/:identity", platform.GetDeliveryBasic)
|
|
resource.PUT("/:identity", platform.UpdateDeliveryBasic)
|
|
resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.DeliveryBasic{}) })
|
|
resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.DeliveryBasic{}) })
|
|
}
|
|
|
|
func registerStaffRoute(group *gin.RouterGroup) {
|
|
resource := group.Group("/staff")
|
|
resource.GET("/account", platform.ListStaff)
|
|
resource.POST("/account", platform.CreateStaff)
|
|
resource.GET("/:identity", platform.GetStaff)
|
|
resource.PUT("/:identity", platform.UpdateStaff)
|
|
resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.StaffAccount{}) })
|
|
resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.StaffAccount{}) })
|
|
}
|
|
|
|
func registerUserRoute(group *gin.RouterGroup) {
|
|
resource := group.Group("/user")
|
|
resource.GET("/account", platform.ListUser)
|
|
resource.POST("/account", platform.CreateUser)
|
|
resource.GET("/:identity", platform.GetUser)
|
|
resource.PUT("/:identity", platform.UpdateUser)
|
|
resource.PATCH("/:identity/status", func(ctx *gin.Context) { platform.UpdateRecordStatus(ctx, &models.UserAccount{}) })
|
|
resource.DELETE("/:identity", func(ctx *gin.Context) { platform.ArchiveRecord(ctx, &models.UserAccount{}) })
|
|
}
|
|
|
|
func registerPlatformRoute(group *gin.RouterGroup) {
|
|
group.GET("/platform/platfrom_account", platform.ListPlatfromAccount)
|
|
role := group.Group("/platform/platform_role")
|
|
role.GET("", platform.ListPlatformRole)
|
|
role.POST("", platform.CreatePlatformRole)
|
|
role.GET("/:identity", platform.GetPlatformRole)
|
|
role.PUT("/:identity", platform.UpdatePlatformRole)
|
|
role.PATCH("/:identity/status", platform.UpdatePlatformRoleStatus)
|
|
role.DELETE("/:identity", platform.ArchivePlatformRole)
|
|
group.GET("/platform/platform_menu", platform.ListPlatformMenu)
|
|
}
|