ulflow_phattt2901 9df4673657
Some checks failed
CI Pipeline / Security Scan (push) Failing after 4m42s
CI Pipeline / Lint (push) Failing after 5m1s
CI Pipeline / Test (push) Has been skipped
CI Pipeline / Build (push) Has been skipped
CI Pipeline / Notification (push) Successful in 2s
chore: Update config file
2025-05-25 15:22:23 +07:00

71 lines
1.7 KiB
Go

package http
import (
"github.com/gin-gonic/gin"
"starter-kit/internal/helper/config"
"starter-kit/internal/transport/http/handler"
"starter-kit/internal/transport/http/middleware"
)
// SetupRouter cấu hình router cho HTTP server
func SetupRouter(cfg *config.Config) *gin.Engine {
// Khởi tạo router với mode phù hợp với môi trường
if cfg.App.Environment == "production" {
gin.SetMode(gin.ReleaseMode)
}
router := gin.New()
// Logger middleware
router.Use(middleware.Logger())
// Recovery middleware
router.Use(gin.Recovery())
<<<<<<< Updated upstream
// CORS middleware nếu cần
// router.Use(middleware.CORS())
=======
// CORS middleware
router.Use(middleware.CORS(middleware.DefaultCORSConfig()))
// Khởi tạo repositories
userRepo := persistence.NewUserRepository(db)
roleRepo := persistence.NewRoleRepository(db)
// Khởi tạo services
authSvc := service.NewAuthService(
userRepo,
roleRepo,
cfg.JWT.Secret,
time.Duration(cfg.JWT.AccessTokenExpire)*time.Minute,
cfg.JWT.RefreshTokenExpire * 24, // Convert days to hours
)
// Khởi tạo middleware
authMiddleware := middleware.NewAuthMiddleware(authSvc)
>>>>>>> Stashed changes
// Khởi tạo các handlers
healthHandler := handler.NewHealthHandler(cfg)
// Đăng ký các routes
// Health check routes
router.GET("/ping", healthHandler.Ping)
router.GET("/health", healthHandler.HealthCheck)
// API versioning - Cảnh báo: API routes hiện đang được comment out
// Khi cần sử dụng, bỏ comment đoạn code sau
/*
v1 := router.Group("/api/v1")
{
// Các API endpoints version 1
// v1.GET("/resources", resourceHandler.List)
// v1.POST("/resources", resourceHandler.Create)
}
*/
return router
}