2026-05-12 19:34:47 +08:00

91 lines
3.3 KiB
Go

package router
import (
"hyapp-admin-server/internal/config"
"hyapp-admin-server/internal/middleware"
"hyapp-admin-server/internal/modules/adminuser"
"hyapp-admin-server/internal/modules/appconfig"
"hyapp-admin-server/internal/modules/appregistry"
"hyapp-admin-server/internal/modules/appuser"
"hyapp-admin-server/internal/modules/audit"
authroutes "hyapp-admin-server/internal/modules/auth"
"hyapp-admin-server/internal/modules/countryregion"
"hyapp-admin-server/internal/modules/dailytask"
"hyapp-admin-server/internal/modules/dashboard"
gamemanagement "hyapp-admin-server/internal/modules/gamemanagement"
"hyapp-admin-server/internal/modules/health"
"hyapp-admin-server/internal/modules/hostorg"
"hyapp-admin-server/internal/modules/job"
"hyapp-admin-server/internal/modules/menu"
"hyapp-admin-server/internal/modules/notification"
"hyapp-admin-server/internal/modules/payment"
"hyapp-admin-server/internal/modules/rbac"
resourcemodule "hyapp-admin-server/internal/modules/resource"
"hyapp-admin-server/internal/modules/roomadmin"
"hyapp-admin-server/internal/modules/search"
"hyapp-admin-server/internal/modules/upload"
"hyapp-admin-server/internal/platform/logging"
"hyapp-admin-server/internal/service"
"github.com/gin-gonic/gin"
)
type Handlers struct {
AdminUser *adminuser.Handler
AppConfig *appconfig.Handler
AppRegistry *appregistry.Handler
AppUser *appuser.Handler
Audit *audit.Handler
Auth *authroutes.Handler
CountryRegion *countryregion.Handler
DailyTask *dailytask.Handler
Dashboard *dashboard.Handler
Game *gamemanagement.Handler
Health *health.Handler
HostOrg *hostorg.Handler
Job *job.Handler
Menu *menu.Handler
Notification *notification.Handler
Payment *payment.Handler
RBAC *rbac.Handler
Resource *resourcemodule.Handler
RoomAdmin *roomadmin.Handler
Search *search.Handler
Upload *upload.Handler
}
func New(cfg config.Config, auth *service.AuthService, h Handlers) *gin.Engine {
engine := gin.New()
engine.Use(middleware.RequestID(), middleware.AppCode(), logging.GinAccessLogger(), gin.Recovery(), middleware.CORS(cfg))
engine.GET("/healthz", h.Health.Health)
engine.GET("/readyz", h.Health.Ready)
api := engine.Group("/api/v1")
protected := api.Group("")
protected.Use(middleware.AuthRequired(auth), middleware.Audit(h.Audit))
authroutes.RegisterRoutes(api, protected, h.Auth)
menu.RegisterRoutes(protected, h.Menu)
rbac.RegisterRoutes(protected, h.RBAC)
resourcemodule.RegisterRoutes(protected, h.Resource)
adminuser.RegisterRoutes(protected, h.AdminUser)
appuser.RegisterRoutes(protected, h.AppUser)
appregistry.RegisterRoutes(protected, h.AppRegistry)
appconfig.RegisterRoutes(protected, h.AppConfig)
countryregion.RegisterRoutes(protected, h.CountryRegion)
dailytask.RegisterRoutes(protected, h.DailyTask)
gamemanagement.RegisterRoutes(protected, h.Game)
roomadmin.RegisterRoutes(protected, h.RoomAdmin)
dashboard.RegisterRoutes(protected, h.Dashboard)
hostorg.RegisterRoutes(protected, h.HostOrg)
audit.RegisterRoutes(protected, h.Audit)
notification.RegisterRoutes(protected, h.Notification)
payment.RegisterRoutes(protected, h.Payment)
job.RegisterRoutes(protected, h.Job)
upload.RegisterRoutes(protected, h.Upload)
search.RegisterRoutes(protected, h.Search)
return engine
}