From b7190c9eccb7c204fd9118bdc6204cf4b6322a73 Mon Sep 17 00:00:00 2001 From: "Thibault \"bui\" Koechlin" Date: Tue, 1 Dec 2020 16:16:01 +0100 Subject: [PATCH] improve error management of cscli bouncers add (#495) --- cmd/crowdsec-cli/bouncers.go | 4 ++-- cmd/crowdsec-cli/machines.go | 2 +- pkg/database/bouncers.go | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/crowdsec-cli/bouncers.go b/cmd/crowdsec-cli/bouncers.go index 018c5ce8e..2d6d77c96 100644 --- a/cmd/crowdsec-cli/bouncers.go +++ b/cmd/crowdsec-cli/bouncers.go @@ -109,7 +109,7 @@ cscli bouncers add MyBouncerName -l 24`, } err = dbClient.CreateBouncer(keyName, keyIP, middlewares.HashSHA512(apiKey)) if err != nil { - log.Errorf("unable to create blocker: %s", err) + log.Errorf("unable to create bouncer: %s", err) return } @@ -143,7 +143,7 @@ cscli bouncers add MyBouncerName -l 24`, } err := dbClient.DeleteBouncer(keyName) if err != nil { - log.Errorf("unable to create blocker: %s", err) + log.Errorf("unable to delete bouncer: %s", err) return } }, diff --git a/cmd/crowdsec-cli/machines.go b/cmd/crowdsec-cli/machines.go index 14d5f13eb..e5df01356 100644 --- a/cmd/crowdsec-cli/machines.go +++ b/cmd/crowdsec-cli/machines.go @@ -269,7 +269,7 @@ cscli machines add MyTestMachine --password MyPassword machineID = args[0] err := dbClient.DeleteWatcher(machineID) if err != nil { - log.Errorf("unable to create blocker: %s", err) + log.Errorf("unable to delete machine: %s", err) return } log.Infof("machine '%s' deleted successfully", machineID) diff --git a/pkg/database/bouncers.go b/pkg/database/bouncers.go index ecedcecd4..fecabcb73 100644 --- a/pkg/database/bouncers.go +++ b/pkg/database/bouncers.go @@ -34,6 +34,9 @@ func (c *Client) CreateBouncer(name string, ipAddr string, apiKey string) error SetRevoked(false). Save(c.CTX) if err != nil { + if ent.IsConstraintError(err) { + return fmt.Errorf("bouncer %s already exists", name) + } return fmt.Errorf("unable to save api key in database: %s", err) } return nil