diff --git a/internal/api/agent/subnet.go b/internal/api/agent/subnet.go index 556b7c3..31eddc8 100644 --- a/internal/api/agent/subnet.go +++ b/internal/api/agent/subnet.go @@ -69,7 +69,12 @@ func (s *Server) deleteSubnet(w http.ResponseWriter, _ *http.Request, name strin return } s.dispatcher.Dispatch(cmd) - state, _ := kv.GetFromDB(s.db, "subnet/"+name+"/state") + state, err := kv.GetFromDB(s.db, "subnet/"+name+"/state") + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode(ErrorResponse{Error: "failed to read subnet state"}) + return + } w.WriteHeader(http.StatusAccepted) json.NewEncoder(w).Encode(Subnet{Name: name, State: state}) } diff --git a/internal/api/agent/subnets.go b/internal/api/agent/subnets.go index 9e99a45..b0fb2fb 100644 --- a/internal/api/agent/subnets.go +++ b/internal/api/agent/subnets.go @@ -88,7 +88,12 @@ func (s *Server) postSubnet(w http.ResponseWriter, r *http.Request) { return } s.dispatcher.Dispatch(cmd) - entries, _ := kv.ListByPrefix(s.db, "subnet/"+req.Name+"/") + entries, err := kv.ListByPrefix(s.db, "subnet/"+req.Name+"/") + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode(ErrorResponse{Error: "failed to read subnet state"}) + return + } sub := Subnet{Name: req.Name} for key, value := range entries { parts := strings.Split(key, "/") diff --git a/internal/api/agent/vpc.go b/internal/api/agent/vpc.go index be0724e..df2d47c 100644 --- a/internal/api/agent/vpc.go +++ b/internal/api/agent/vpc.go @@ -47,7 +47,12 @@ func (s *Server) deleteVpc(w http.ResponseWriter, _ *http.Request, name string) return } s.dispatcher.Dispatch(cmd) - state, _ := kv.GetFromDB(s.db, "vpc/"+name+"/state") + state, err := kv.GetFromDB(s.db, "vpc/"+name+"/state") + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode(ErrorResponse{Error: "failed to read vpc state"}) + return + } w.WriteHeader(http.StatusAccepted) json.NewEncoder(w).Encode(VPC{Name: name, State: state}) } diff --git a/internal/api/agent/vpcs.go b/internal/api/agent/vpcs.go index 3087456..b062d1c 100644 --- a/internal/api/agent/vpcs.go +++ b/internal/api/agent/vpcs.go @@ -69,7 +69,12 @@ func (s *Server) postVpc(w http.ResponseWriter, r *http.Request) { return } s.dispatcher.Dispatch(cmd) - state, _ := kv.GetFromDB(s.db, "vpc/"+req.Name+"/state") + state, err := kv.GetFromDB(s.db, "vpc/"+req.Name+"/state") + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode(ErrorResponse{Error: "failed to read vpc state"}) + return + } w.WriteHeader(http.StatusAccepted) json.NewEncoder(w).Encode(VPC{Name: req.Name, State: state}) } diff --git a/pkg/db/kv/deleteInDB.go b/pkg/db/kv/deleteInDB.go index 1943c81..e1335de 100644 --- a/pkg/db/kv/deleteInDB.go +++ b/pkg/db/kv/deleteInDB.go @@ -1,8 +1,6 @@ package kv import ( - "log" - "github.com/dgraph-io/badger/v4" ) @@ -35,7 +33,7 @@ func DeleteInDB(db *badger.DB, key string) error { return nil }) if err != nil { - log.Fatal(err) + return err } return deleteKey(db, key)