refactor: разделение кода на пакеты и улучшение архитектуры
- Создана новая структура проекта с разделением на пакеты - Добавлены интерфейсы для всех сервисов (Git, Quartz, Files, Build) - Реализован Dependency Injection для сервисов - Добавлены middleware для логирования, Request ID и Response Time - Создан пакет конфигурации с валидацией - Улучшено логирование через интерфейс - Добавлены обработчики HTTP в отдельных пакетах - Создана структура для тестирования - Добавлены конфигурационные файлы и документация
This commit is contained in:
30
api/routes.go
Normal file
30
api/routes.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"go-webhook-server/internal/handlers"
|
||||
"go-webhook-server/internal/middleware"
|
||||
"go-webhook-server/pkg/logger"
|
||||
)
|
||||
|
||||
// SetupRoutes настраивает все роуты приложения
|
||||
func SetupRoutes(
|
||||
webhookHandler *handlers.WebhookHandler,
|
||||
healthHandler *handlers.HealthHandler,
|
||||
log logger.Logger,
|
||||
) *gin.Engine {
|
||||
// Настраиваем Gin
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
router := gin.New()
|
||||
|
||||
// Добавляем middleware
|
||||
router.Use(middleware.RequestIDMiddleware())
|
||||
router.Use(middleware.ResponseTimeMiddleware())
|
||||
router.Use(middleware.LoggingMiddleware(log))
|
||||
|
||||
// Роуты
|
||||
router.POST("/webhook", webhookHandler.HandleWebhook)
|
||||
router.GET("/health", healthHandler.HandleHealth)
|
||||
|
||||
return router
|
||||
}
|
||||
Reference in New Issue
Block a user