feat: Integrate factory with SubsystemHandler for idempotency support\n\n- Add commandFactory field to SubsystemHandler\n- Update NewSubsystemHandler to accept factory\n- Modify TriggerSubsystem to use CreateWithIdempotency\n- Update main.go to pass factory to handler\n\nNow all subsystem commands use idempotency keys, preventing duplicates from rapid clicks.
This commit is contained in:
@@ -306,7 +306,11 @@ func main() {
|
||||
registrationTokenHandler := handlers.NewRegistrationTokenHandler(registrationTokenQueries, agentQueries, cfg)
|
||||
rateLimitHandler := handlers.NewRateLimitHandler(rateLimiter)
|
||||
downloadHandler := handlers.NewDownloadHandler(filepath.Join("/app"), cfg, packageQueries)
|
||||
subsystemHandler := handlers.NewSubsystemHandler(subsystemQueries, commandQueries, signingService, securityLogger)
|
||||
|
||||
// Create command factory for consistent command creation
|
||||
commandFactory := command.NewFactory(commandQueries)
|
||||
subsystemHandler := handlers.NewSubsystemHandler(subsystemQueries, commandQueries, commandFactory, signingService, securityLogger)
|
||||
|
||||
metricsHandler := handlers.NewMetricsHandler(metricsQueries, agentQueries, commandQueries)
|
||||
dockerReportsHandler := handlers.NewDockerReportsHandler(dockerQueries, agentQueries, commandQueries)
|
||||
storageMetricsHandler := handlers.NewStorageMetricsHandler(storageMetricsQueries)
|
||||
|
||||
Reference in New Issue
Block a user