Skip to content

Commit 6ec9d7d

Browse files
Merge pull request #92 from block/qian/fixDbErrorReturnCode
Update Http return code for db insert/update failures
2 parents dd90904 + 193b811 commit 6ec9d7d

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

api/api_gomux.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"time"
1818

1919
"github.com/gorilla/websocket"
20-
"github.com/swaggo/http-swagger"
20+
httpSwagger "github.com/swaggo/http-swagger"
2121
"go.mongodb.org/mongo-driver/bson/primitive"
2222

2323
"github.com/square/etre"
@@ -1263,6 +1263,16 @@ func (api *API) WriteResult(rc *req, w http.ResponseWriter, ids interface{}, err
12631263
dupeErr.EntityId = v.EntityId
12641264
dupeErr.Message += " (db err: " + v.Err.Error() + ")"
12651265
wr.Error = &dupeErr
1266+
case "db-insert":
1267+
insertErr := ErrDBInsertFailed
1268+
insertErr.EntityId = v.EntityId
1269+
insertErr.Message += " (db err: " + v.Err.Error() + ")"
1270+
wr.Error = &insertErr
1271+
case "db-update":
1272+
updateErr := ErrDBUpdateFailed
1273+
updateErr.EntityId = v.EntityId
1274+
updateErr.Message += " (db err: " + v.Err.Error() + ")"
1275+
wr.Error = &updateErr
12661276
default:
12671277
wr.Error = &etre.Error{
12681278
Message: v.Err.Error(),

api/errors.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,18 @@ var ErrDuplicateEntity = etre.Error{
1818
Message: "cannot insert or update entity because identifying labels conflict with another entity",
1919
}
2020

21+
var ErrDBInsertFailed = etre.Error{
22+
Type: "db-insert-failed",
23+
HTTPStatus: http.StatusBadRequest,
24+
Message: "failed to insert entity",
25+
}
26+
27+
var ErrDBUpdateFailed = etre.Error{
28+
Type: "db-update-failed",
29+
HTTPStatus: http.StatusBadRequest,
30+
Message: "failed to update entity",
31+
}
32+
2133
var ErrNotFound = etre.Error{
2234
Type: "entity-not-found",
2335
HTTPStatus: http.StatusNotFound,

0 commit comments

Comments
 (0)