first commit

This commit is contained in:
2025-08-12 21:51:41 +07:00
commit f1efac98a0
27 changed files with 2170 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
package v1
import (
"net/http"
"api-service/internal/handlers"
"api-service/internal/middleware"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
// RegisterRoutes registers all API routes for version 1
func RegisterRoutes() *gin.Engine {
router := gin.New()
// Add middleware
router.Use(middleware.CORSConfig())
router.Use(middleware.ErrorHandler())
router.Use(gin.Logger())
router.Use(gin.Recovery())
// Swagger UI route
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// API v1 group
v1 := router.Group("/api/v1")
{
// Health endpoints
healthHandler := handlers.NewHealthHandler()
v1.GET("/health", healthHandler.GetHealth)
v1.GET("/", healthHandler.HelloWorld)
// Example endpoints
exampleHandler := handlers.NewExampleHandler()
v1.GET("/example", exampleHandler.GetExample)
v1.POST("/example", exampleHandler.PostExample)
// WebSocket endpoint
v1.GET("/websocket", WebSocketHandler)
}
return router
}
// WebSocketHandler handles WebSocket connections
func WebSocketHandler(c *gin.Context) {
// This will be implemented with proper WebSocket handling
c.JSON(http.StatusOK, gin.H{"message": "WebSocket endpoint"})
}