package iam import ( "giter.top/smart/internal/iam/handler" "github.com/gin-gonic/gin" ) type IamRoutes struct { tenantHandler *handler.TenantHandler deptHandler *handler.DeptHandler roleHandler *handler.RoleHandler userHandler *handler.UserHandler menuHandler *handler.MenuHandler } func NewIamRoutes(tenantHandler *handler.TenantHandler, deptHandler *handler.DeptHandler, roleHandler *handler.RoleHandler, userHandler *handler.UserHandler, menuHandler *handler.MenuHandler) *IamRoutes { return &IamRoutes{ tenantHandler: tenantHandler, deptHandler: deptHandler, roleHandler: roleHandler, userHandler: userHandler, menuHandler: menuHandler, } } // TODO 添加注册信息 func (s *IamRoutes) Register(engine *gin.Engine, apiGroup *gin.RouterGroup) { // group :=engine.Group("/iam") group := apiGroup.Group("/iam") s.registerTenantRoutes(group) s.registerDeptRoutes(group) s.registerRoleRoutes(group) s.registerUserRoutes(group) s.registerMenuRoutes(group) } func (s *IamRoutes) registerTenantRoutes(group *gin.RouterGroup) { tg := group.Group("/tenant") { tg.POST("/create", s.tenantHandler.Create) tg.PUT("/update/:id", s.tenantHandler.Update) tg.DELETE("/delete-batch", s.tenantHandler.Delete) tg.GET("/get/:id", s.tenantHandler.Get) tg.GET("/list", s.tenantHandler.List) } } func (s *IamRoutes) registerDeptRoutes(group *gin.RouterGroup) { dg := group.Group("/dept") { dg.POST("/create", s.deptHandler.Create) dg.PUT("/update/:id", s.deptHandler.Update) dg.DELETE("/delete-batch", s.deptHandler.Delete) dg.GET("/get/:id", s.deptHandler.Get) dg.GET("/tree", s.deptHandler.Tree) } } func (s *IamRoutes) registerRoleRoutes(group *gin.RouterGroup) { rg := group.Group("/role") { rg.POST("/create", s.roleHandler.Create) rg.PUT("/update/:id", s.roleHandler.Update) rg.DELETE("/delete-batch", s.roleHandler.Delete) rg.GET("/get/:id", s.roleHandler.Get) rg.GET("/list", s.roleHandler.List) } } func (s *IamRoutes) registerUserRoutes(group *gin.RouterGroup) { ug := group.Group("/user") { ug.POST("/create", s.userHandler.Create) ug.PUT("/update/:id", s.userHandler.Update) ug.DELETE("/delete-batch", s.userHandler.Delete) ug.GET("/get/:id", s.userHandler.Get) ug.GET("/list", s.userHandler.List) } } func (s *IamRoutes) registerMenuRoutes(group *gin.RouterGroup) { mg := group.Group("/menu") { mg.POST("/create", s.menuHandler.Create) mg.PUT("/update/:id", s.menuHandler.Update) mg.DELETE("/delete-batch", s.menuHandler.Delete) mg.GET("/get/:id", s.menuHandler.Get) mg.GET("/tree", s.menuHandler.Tree) mg.GET("/nav", s.menuHandler.Nav) mg.GET("/perms", s.menuHandler.Perms) } }