feat(delivery): add HTTP handlers and route registration
Add DeliveryHandler (7 endpoints under /auth/api/v1/delivery/*): CreateMySQL, List, Get, Cancel, Targets, CreateTarget, UpsertQuota. Add ExecutionHandler for internal service callback. Register routes with JWT auth middleware and start scheduler goroutine when enabled. Relates-to: #97
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/1024XEngineer/xinfra/server/internal/config"
|
||||
"github.com/1024XEngineer/xinfra/server/internal/handler"
|
||||
"github.com/1024XEngineer/xinfra/server/internal/service"
|
||||
@@ -71,6 +72,10 @@ func registerAuthServerRoutes(r *gin.Engine, deps Dependencies) {
|
||||
wayenService := service.NewWayenService(deps.Config, deps.DB)
|
||||
wayneRoleBindingService := service.NewWayneRoleBindingService(deps.Config, deps.DB)
|
||||
deploymentService := service.NewDeploymentService(deps.Config, deps.DB)
|
||||
deliveryService := service.NewDeliveryService(deps.Config, deps.DB, auditService)
|
||||
if deps.Config.DeliverySchedulerEnabled {
|
||||
go deliveryService.Run(context.Background())
|
||||
}
|
||||
|
||||
healthHandler := handler.NewHealthHandler(deps.DB)
|
||||
authHandler := handler.NewAuthHandler(deps.Config, authService)
|
||||
@@ -83,9 +88,12 @@ func registerAuthServerRoutes(r *gin.Engine, deps Dependencies) {
|
||||
samlHandler := handler.NewSAMLHandler(deps.Config, authService)
|
||||
oauthHandler := handler.NewOAuthHandler(deps.Config, deps.DB, auditService)
|
||||
deploymentHandler := handler.NewDeploymentHandler(deps.Config, deps.DB, deploymentService)
|
||||
deliveryHandler := handler.NewDeliveryHandler(deliveryService)
|
||||
executionHandler := handler.NewExecutionHandler(deliveryService, deps.Config.DeliveryServiceToken)
|
||||
|
||||
r.GET("/healthz", healthHandler.Healthz)
|
||||
r.GET("/readyz", healthHandler.Readyz)
|
||||
r.POST("/api/v1/executions", executionHandler.Create)
|
||||
r.GET("/auth/.well-known/openid-configuration", oauthHandler.Discovery)
|
||||
r.GET("/auth/oauth/authorize", oauthHandler.Authorize)
|
||||
r.POST("/auth/oauth/token", oauthHandler.Token)
|
||||
@@ -139,5 +147,12 @@ func registerAuthServerRoutes(r *gin.Engine, deps Dependencies) {
|
||||
protected.GET("/deployments/:id/events", deploymentHandler.Events)
|
||||
protected.POST("/deployments/:id/cancel", deploymentHandler.Cancel)
|
||||
protected.GET("/clouddm/login", clouddmHandler.Login)
|
||||
protected.GET("/delivery/targets", deliveryHandler.Targets)
|
||||
protected.POST("/delivery/targets", deliveryHandler.CreateTarget)
|
||||
protected.PUT("/delivery/quotas", deliveryHandler.UpsertQuota)
|
||||
protected.POST("/delivery/mysql", deliveryHandler.CreateMySQL)
|
||||
protected.GET("/delivery/tasks", deliveryHandler.List)
|
||||
protected.GET("/delivery/tasks/:id", deliveryHandler.Get)
|
||||
protected.POST("/delivery/tasks/:id/cancel", deliveryHandler.Cancel)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user