refactor(controller):精简控制器中路由的注册。

This commit is contained in:
徐涛 2022-08-20 07:00:34 +08:00
parent 62540f7a9a
commit 2d1196c703
7 changed files with 35 additions and 93 deletions

View File

@ -13,20 +13,10 @@ import (
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
) )
type _ChargesController struct {
Router *gin.Engine
}
var ChargesController *_ChargesController
func InitializeChargesController(router *gin.Engine) { func InitializeChargesController(router *gin.Engine) {
ChargesController = &_ChargesController{ router.GET("/charges", security.OPSAuthorize, listAllCharges)
Router: router, router.POST("/charge", security.OPSAuthorize, recordNewCharge)
} router.PUT("/charge/:uid/:seq", security.OPSAuthorize, modifyChargeState)
ChargesController.Router.GET("/charges", security.OPSAuthorize, listAllCharges)
ChargesController.Router.POST("/charge", security.OPSAuthorize, recordNewCharge)
ChargesController.Router.PUT("/charge/:uid/:seq", security.OPSAuthorize, modifyChargeState)
} }
func listAllCharges(c *gin.Context) { func listAllCharges(c *gin.Context) {

View File

@ -12,22 +12,12 @@ import (
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
) )
type _MaintenanceFeeController struct {
Router *gin.Engine
}
var MaintenanceFeeController *_MaintenanceFeeController
func InitializeMaintenanceFeeController(router *gin.Engine) { func InitializeMaintenanceFeeController(router *gin.Engine) {
MaintenanceFeeController = &_MaintenanceFeeController{ router.GET("/maintenance/fee", security.EnterpriseAuthorize, listMaintenanceFees)
Router: router, router.POST("/maintenance/fee", security.EnterpriseAuthorize, createMaintenanceFeeRecord)
} router.PUT("/maintenance/fee/:mid", security.EnterpriseAuthorize, modifyMaintenanceFeeRecord)
router.PUT("/maintenance/fee/:mid/enabled", security.EnterpriseAuthorize, changeMaintenanceFeeState)
MaintenanceFeeController.Router.GET("/maintenance/fee", security.EnterpriseAuthorize, listMaintenanceFees) router.DELETE("/maintenance/fee/:mid", security.EnterpriseAuthorize, deleteMaintenanceFee)
MaintenanceFeeController.Router.POST("/maintenance/fee", security.EnterpriseAuthorize, createMaintenanceFeeRecord)
MaintenanceFeeController.Router.PUT("/maintenance/fee/:mid", security.EnterpriseAuthorize, modifyMaintenanceFeeRecord)
MaintenanceFeeController.Router.PUT("/maintenance/fee/:mid/enabled", security.EnterpriseAuthorize, changeMaintenanceFeeState)
MaintenanceFeeController.Router.DELETE("/maintenance/fee/:mid", security.EnterpriseAuthorize, deleteMaintenanceFee)
} }
func listMaintenanceFees(c *gin.Context) { func listMaintenanceFees(c *gin.Context) {

View File

@ -17,23 +17,13 @@ import (
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
) )
type _Meter04kVController struct {
Router *gin.Engine
}
var Meter04kVController *_Meter04kVController
func InitializeMeter04kVController(router *gin.Engine) { func InitializeMeter04kVController(router *gin.Engine) {
Meter04kVController = &_Meter04kVController{ router.GET("/park/:pid/meter/template", security.EnterpriseAuthorize, download04kvMeterArchiveTemplate)
Router: router, router.GET("/park/:pid/meters", security.EnterpriseAuthorize, ListPaged04kVMeter)
} router.GET("/park/:pid/meter/:code", security.EnterpriseAuthorize, fetch04kVMeterDetail)
router.POST("/park/:pid/meter", security.EnterpriseAuthorize, createSingle04kVMeter)
Meter04kVController.Router.GET("/park/:pid/meter/template", security.EnterpriseAuthorize, download04kvMeterArchiveTemplate) router.PUT("/park/:pid/meter/:code", security.EnterpriseAuthorize, modifySingle04kVMeter)
Meter04kVController.Router.GET("/park/:pid/meters", security.EnterpriseAuthorize, ListPaged04kVMeter) router.POST("/park/:pid/meter/batch", security.EnterpriseAuthorize, batchImport04kVMeterArchive)
Meter04kVController.Router.GET("/park/:pid/meter/:code", security.EnterpriseAuthorize, fetch04kVMeterDetail)
Meter04kVController.Router.POST("/park/:pid/meter", security.EnterpriseAuthorize, createSingle04kVMeter)
Meter04kVController.Router.PUT("/park/:pid/meter/:code", security.EnterpriseAuthorize, modifySingle04kVMeter)
Meter04kVController.Router.POST("/park/:pid/meter/batch", security.EnterpriseAuthorize, batchImport04kVMeterArchive)
} }
func download04kvMeterArchiveTemplate(c *gin.Context) { func download04kvMeterArchiveTemplate(c *gin.Context) {

View File

@ -14,23 +14,14 @@ import (
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
) )
type _ParkController struct {
Router *gin.Engine
}
var ParkController *_ParkController
func InitializeParkController(router *gin.Engine) { func InitializeParkController(router *gin.Engine) {
ParkController = &_ParkController{ router.GET("/parks", security.EnterpriseAuthorize, listAllParksUnderSessionUser)
Router: router, router.GET("/parks/:uid", security.ManagementAuthorize, listAllParksUnderSpecificUser)
} router.POST("/park", security.EnterpriseAuthorize, createNewPark)
ParkController.Router.GET("/parks", security.EnterpriseAuthorize, listAllParksUnderSessionUser) router.PUT("/park/:pid", security.EnterpriseAuthorize, modifyPark)
ParkController.Router.GET("/parks/:uid", security.ManagementAuthorize, listAllParksUnderSpecificUser) router.GET("/park/:pid", security.EnterpriseAuthorize, fetchParkDetail)
ParkController.Router.POST("/park", security.EnterpriseAuthorize, createNewPark) router.PUT("/park/:pid/enabled", security.EnterpriseAuthorize, changeParkEnableState)
ParkController.Router.PUT("/park/:pid", security.EnterpriseAuthorize, modifyPark) router.DELETE("/park/:pid", security.EnterpriseAuthorize, deleteSpecificPark)
ParkController.Router.GET("/park/:pid", security.EnterpriseAuthorize, fetchParkDetail)
ParkController.Router.PUT("/park/:pid/enabled", security.EnterpriseAuthorize, changeParkEnableState)
ParkController.Router.DELETE("/park/:pid", security.EnterpriseAuthorize, deleteSpecificPark)
} }
func listAllParksUnderSessionUser(c *gin.Context) { func listAllParksUnderSessionUser(c *gin.Context) {

View File

@ -8,19 +8,9 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
type _RegionController struct {
Router *gin.Engine
}
var RegionController *_RegionController
func InitializeRegionController(router *gin.Engine) { func InitializeRegionController(router *gin.Engine) {
RegionController = &_RegionController{ router.GET("/region/:rid", fetchRegions)
Router: router, router.GET("/regions/:rid", fetchAllLeveledRegions)
}
RegionController.Router.GET("/region/:rid", fetchRegions)
RegionController.Router.GET("/regions/:rid", fetchAllLeveledRegions)
} }
func fetchRegions(c *gin.Context) { func fetchRegions(c *gin.Context) {

View File

@ -16,27 +16,18 @@ import (
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
) )
type _UserController struct {
Router *gin.Engine
}
var UserController *_UserController
func InitializeUserController(router *gin.Engine) { func InitializeUserController(router *gin.Engine) {
UserController = &_UserController{ router.DELETE("/password/:uid", security.OPSAuthorize, invalidUserPassword)
Router: router, router.DELETE("/login", security.MustAuthenticated, logout)
} router.PUT("/password", resetUserPassword)
UserController.Router.POST("/login", login) router.GET("/accounts", security.OPSAuthorize, listPagedUser)
UserController.Router.DELETE("/login", security.MustAuthenticated, logout) router.POST("/login", login)
UserController.Router.DELETE("/password/:uid", security.OPSAuthorize, invalidUserPassword) router.PUT("/account/enabled/state", security.OPSAuthorize, switchUserEnabling)
UserController.Router.PUT("/password", resetUserPassword) router.POST("/account", security.OPSAuthorize, createOPSAndManagementAccount)
UserController.Router.GET("/accounts", security.OPSAuthorize, listPagedUser) router.GET("/account/:uid", security.MustAuthenticated, getUserDetail)
UserController.Router.PUT("/account/enabled/state", security.OPSAuthorize, switchUserEnabling) router.POST("/enterprise", security.OPSAuthorize, createEnterpriseAccount)
UserController.Router.POST("/account", security.OPSAuthorize, createOPSAndManagementAccount) router.PUT("/account/:uid", security.OPSAuthorize, modifyAccountDetail)
UserController.Router.GET("/account/:uid", security.MustAuthenticated, getUserDetail) router.GET("/enterprise/quick/search", security.OPSAuthorize, quickSearchEnterprise)
UserController.Router.POST("/enterprise", security.OPSAuthorize, createEnterpriseAccount)
UserController.Router.PUT("/account/:uid", security.OPSAuthorize, modifyAccountDetail)
UserController.Router.GET("/enterprise/quick/search", security.OPSAuthorize, quickSearchEnterprise)
} }
type _LoginFormData struct { type _LoginFormData struct {

View File

@ -30,7 +30,7 @@ func PinyinAbbr(source string) string {
return finalAbbr return finalAbbr
} }
func Keys[T comparable](m map[T]any) []T { func Keys[T comparable, V any](m map[T]V) []T {
keys := make([]T, 0, len(m)) keys := make([]T, 0, len(m))
for key := range m { for key := range m {
keys = append(keys, key) keys = append(keys, key)