WIP: Save current state - security subsystems, migrations, logging
This commit is contained in:
@@ -3,21 +3,33 @@ package handlers
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/Fimeg/RedFlag/aggregator-server/internal/database/queries"
|
||||
"github.com/Fimeg/RedFlag/aggregator-server/internal/services"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// AgentSetupHandler handles agent setup operations
|
||||
type AgentSetupHandler struct {
|
||||
agentQueries *queries.AgentQueries
|
||||
}
|
||||
|
||||
// NewAgentSetupHandler creates a new agent setup handler
|
||||
func NewAgentSetupHandler(agentQueries *queries.AgentQueries) *AgentSetupHandler {
|
||||
return &AgentSetupHandler{
|
||||
agentQueries: agentQueries,
|
||||
}
|
||||
}
|
||||
|
||||
// SetupAgent handles the agent setup endpoint
|
||||
// Deprecated: Use AgentHandler.Setup instead
|
||||
func SetupAgent(c *gin.Context) {
|
||||
func (h *AgentSetupHandler) SetupAgent(c *gin.Context) {
|
||||
var req services.AgentSetupRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// Create config builder
|
||||
configBuilder := services.NewConfigBuilder(req.ServerURL)
|
||||
// Create config builder with database access
|
||||
configBuilder := services.NewConfigBuilder(req.ServerURL, h.agentQueries.DB)
|
||||
|
||||
// Build agent configuration
|
||||
config, err := configBuilder.BuildAgentConfig(req)
|
||||
@@ -43,14 +55,14 @@ func SetupAgent(c *gin.Context) {
|
||||
}
|
||||
|
||||
// GetTemplates returns available agent templates
|
||||
func GetTemplates(c *gin.Context) {
|
||||
configBuilder := services.NewConfigBuilder("")
|
||||
func (h *AgentSetupHandler) GetTemplates(c *gin.Context) {
|
||||
configBuilder := services.NewConfigBuilder("", h.agentQueries.DB)
|
||||
templates := configBuilder.GetTemplates()
|
||||
c.JSON(http.StatusOK, gin.H{"templates": templates})
|
||||
}
|
||||
|
||||
// ValidateConfiguration validates a configuration before deployment
|
||||
func ValidateConfiguration(c *gin.Context) {
|
||||
func (h *AgentSetupHandler) ValidateConfiguration(c *gin.Context) {
|
||||
var config map[string]interface{}
|
||||
if err := c.ShouldBindJSON(&config); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
@@ -63,7 +75,7 @@ func ValidateConfiguration(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
configBuilder := services.NewConfigBuilder("")
|
||||
configBuilder := services.NewConfigBuilder("", h.agentQueries.DB)
|
||||
template, exists := configBuilder.GetTemplate(agentType)
|
||||
if !exists {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Unknown agent type"})
|
||||
@@ -77,4 +89,4 @@ func ValidateConfiguration(c *gin.Context) {
|
||||
"agent_type": agentType,
|
||||
"template": template.Name,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user