From 973efd6412e7a4ffbb11c2b6baa34a4da523191d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 16 Apr 2026 01:15:04 +0000 Subject: [PATCH] fix: initialize WhitelistSvc only if db is not nil and update error message in AddWhitelist handler --- backend/internal/api/handlers/crowdsec_handler.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/internal/api/handlers/crowdsec_handler.go b/backend/internal/api/handlers/crowdsec_handler.go index f79532bc..140f7393 100644 --- a/backend/internal/api/handlers/crowdsec_handler.go +++ b/backend/internal/api/handlers/crowdsec_handler.go @@ -384,7 +384,7 @@ func NewCrowdsecHandler(db *gorm.DB, executor CrowdsecExecutor, binPath, dataDir securitySvc = services.NewSecurityService(db) consoleSvc = crowdsec.NewConsoleEnrollmentService(db, &crowdsec.SecureCommandExecutor{}, dataDir, consoleSecret) } - return &CrowdsecHandler{ + h := &CrowdsecHandler{ DB: db, Executor: executor, CmdExec: &RealCommandExecutor{}, @@ -393,10 +393,13 @@ func NewCrowdsecHandler(db *gorm.DB, executor CrowdsecExecutor, binPath, dataDir Hub: hubSvc, Console: consoleSvc, Security: securitySvc, - WhitelistSvc: services.NewCrowdSecWhitelistService(db, dataDir), dashCache: newDashboardCache(), validateLAPIURL: validateCrowdsecLAPIBaseURLDefault, } + if db != nil { + h.WhitelistSvc = services.NewCrowdSecWhitelistService(db, dataDir) + } + return h } // isCerberusEnabled returns true when Cerberus is enabled via DB or env flag. @@ -2720,7 +2723,7 @@ func (h *CrowdsecHandler) AddWhitelist(c *gin.Context) { Reason string `json:"reason"` } if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"error": "ip_or_cidr is required"}) return }