From b209ab4eca550344e992b38fa8670df0963d4e5e Mon Sep 17 00:00:00 2001 From: meskio <meskio@sindominio.net> Date: Tue, 6 Oct 2020 14:15:36 +0200 Subject: [PATCH] User 'errors.Is' instead of parsing the error message --- api/member.go | 5 +++-- api/order.go | 3 ++- api/product.go | 5 +++-- api/transaction.go | 3 ++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/api/member.go b/api/member.go index b274b90..e52b327 100644 --- a/api/member.go +++ b/api/member.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "log" "net/http" "strconv" @@ -90,7 +91,7 @@ func (a *api) getMemberNum(num int, w http.ResponseWriter, req *http.Request) { var member Member err := a.db.Where("num = ?", num).First(&member).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } @@ -132,7 +133,7 @@ func (a *api) UpdateMember(w http.ResponseWriter, req *http.Request) { var dbMember Member err = a.db.Where("num = ?", vars["num"]).First(&dbMember).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } diff --git a/api/order.go b/api/order.go index 4a65572..64d7564 100644 --- a/api/order.go +++ b/api/order.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "log" "net/http" "time" @@ -130,7 +131,7 @@ func (a *api) GetOrder(num int, w http.ResponseWriter, req *http.Request) { err := a.db.Preload(clause.Associations). First(&order, vars["id"]).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } diff --git a/api/product.go b/api/product.go index 07a8ca3..e775a59 100644 --- a/api/product.go +++ b/api/product.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "log" "net/http" @@ -65,7 +66,7 @@ func (a *api) GetProduct(w http.ResponseWriter, req *http.Request) { var product Product err := a.db.Where("code = ?", vars["code"]).First(&product).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } @@ -107,7 +108,7 @@ func (a *api) UpdateProduct(w http.ResponseWriter, req *http.Request) { var dbProduct Product err = a.db.Where("code = ?", vars["code"]).First(&dbProduct).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } diff --git a/api/transaction.go b/api/transaction.go index 2c58a85..f1bd209 100644 --- a/api/transaction.go +++ b/api/transaction.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "fmt" "log" "net/http" @@ -54,7 +55,7 @@ func (a *api) GetTransaction(num int, role string, w http.ResponseWriter, req *h Preload(clause.Associations). First(&transaction, vars["id"]).Error if err != nil { - if err.Error() == "record not found" { + if errors.Is(err, gorm.ErrRecordNotFound) { w.WriteHeader(http.StatusNotFound) return } -- GitLab