Skip to content

Commit 38da638

Browse files
committed
API: Improve logging of bad request errors across all endpoints #271
Signed-off-by: Michael Mayer <[email protected]>
1 parent 6bfbad4 commit 38da638

34 files changed

+64
-79
lines changed

internal/api/abort.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,18 @@ func AbortUnexpectedError(c *gin.Context) {
103103
}
104104

105105
func AbortBadRequest(c *gin.Context, errs ...error) {
106+
// Log and attach validation errors to the context.
106107
for _, err := range errs {
107-
_ = c.Error(err)
108+
if err != nil {
109+
// Add error message to the debug logs.
110+
log.Debugf("api-v1: %s", err)
111+
112+
// Attach error to the current context
113+
_ = c.Error(err)
114+
}
108115
}
109116

117+
// Abort request with error 400.
110118
Abort(c, http.StatusBadRequest, i18n.ErrBadRequest)
111119
}
112120

internal/api/albums.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func CreateAlbum(router *gin.RouterGroup) {
102102

103103
// Assign and validate request form values.
104104
if err := c.BindJSON(&frm); err != nil {
105-
AbortBadRequest(c)
105+
AbortBadRequest(c, err)
106106
return
107107
}
108108

@@ -194,8 +194,7 @@ func UpdateAlbum(router *gin.RouterGroup) {
194194

195195
// Assign and validate request form values.
196196
if err = c.BindJSON(frm); err != nil {
197-
log.Error(err)
198-
AbortBadRequest(c)
197+
AbortBadRequest(c, err)
199198
return
200199
}
201200

@@ -439,7 +438,7 @@ func CloneAlbums(router *gin.RouterGroup) {
439438

440439
// Assign and validate request form values.
441440
if err = c.BindJSON(&frm); err != nil {
442-
AbortBadRequest(c)
441+
AbortBadRequest(c, err)
443442
return
444443
}
445444

@@ -500,7 +499,7 @@ func AddPhotosToAlbum(router *gin.RouterGroup) {
500499

501500
// Assign and validate request form values.
502501
if err := c.BindJSON(&frm); err != nil {
503-
AbortBadRequest(c)
502+
AbortBadRequest(c, err)
504503
return
505504
}
506505

@@ -531,8 +530,7 @@ func AddPhotosToAlbum(router *gin.RouterGroup) {
531530
photos, err := query.SelectedPhotos(frm)
532531

533532
if err != nil {
534-
log.Errorf("album: %s", err)
535-
AbortBadRequest(c)
533+
AbortBadRequest(c, err)
536534
return
537535
}
538536

@@ -611,7 +609,7 @@ func RemovePhotosFromAlbum(router *gin.RouterGroup) {
611609

612610
// Assign and validate request form values.
613611
if err := c.BindJSON(&frm); err != nil {
614-
AbortBadRequest(c)
612+
AbortBadRequest(c, err)
615613
return
616614
}
617615

internal/api/albums_search.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func SearchAlbums(router *gin.RouterGroup) {
4242
// Abort if request params are invalid.
4343
if err = c.MustBindWith(&frm, binding.Form); err != nil {
4444
event.AuditWarn([]string{ClientIP(c), "session %s", "albums", "search", "form invalid", "%s"}, s.RefID, err)
45-
AbortBadRequest(c)
45+
AbortBadRequest(c, err)
4646
return
4747
}
4848

internal/api/batch_albums.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func BatchAlbumsDelete(router *gin.RouterGroup) {
3535
var frm form.Selection
3636

3737
if err := c.BindJSON(&frm); err != nil {
38-
AbortBadRequest(c)
38+
AbortBadRequest(c, err)
3939
return
4040
}
4141

internal/api/batch_labels.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func BatchLabelsDelete(router *gin.RouterGroup) {
3535
var frm form.Selection
3636

3737
if err := c.BindJSON(&frm); err != nil {
38-
AbortBadRequest(c)
38+
AbortBadRequest(c, err)
3939
return
4040
}
4141

internal/api/batch_photos.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func BatchPhotosArchive(router *gin.RouterGroup) {
4545

4646
// Assign and validate request form values.
4747
if err := c.BindJSON(&frm); err != nil {
48-
AbortBadRequest(c)
48+
AbortBadRequest(c, err)
4949
return
5050
}
5151

@@ -116,7 +116,7 @@ func BatchPhotosRestore(router *gin.RouterGroup) {
116116
var frm form.Selection
117117

118118
if err := c.BindJSON(&frm); err != nil {
119-
AbortBadRequest(c)
119+
AbortBadRequest(c, err)
120120
return
121121
}
122122

@@ -186,7 +186,7 @@ func BatchPhotosApprove(router *gin.RouterGroup) {
186186
var frm form.Selection
187187

188188
if err := c.BindJSON(&frm); err != nil {
189-
AbortBadRequest(c)
189+
AbortBadRequest(c, err)
190190
return
191191
}
192192

@@ -246,7 +246,7 @@ func BatchPhotosPrivate(router *gin.RouterGroup) {
246246
var frm form.Selection
247247

248248
if err := c.BindJSON(&frm); err != nil {
249-
AbortBadRequest(c)
249+
AbortBadRequest(c, err)
250250
return
251251
}
252252

@@ -313,7 +313,7 @@ func BatchPhotosDelete(router *gin.RouterGroup) {
313313
var frm form.Selection
314314

315315
if err := c.BindJSON(&frm); err != nil {
316-
AbortBadRequest(c)
316+
AbortBadRequest(c, err)
317317
return
318318
}
319319

internal/api/config_options.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ func SaveConfigOptions(router *gin.RouterGroup) {
9090
}
9191

9292
if err := c.BindJSON(&v); err != nil {
93-
log.Errorf("config: %s (bind json)", err)
94-
AbortBadRequest(c)
93+
AbortBadRequest(c, err)
9594
return
9695
}
9796

internal/api/config_settings.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func SaveSettings(router *gin.RouterGroup) {
7979

8080
// Set values from request.
8181
if err := c.BindJSON(settings); err != nil {
82-
AbortBadRequest(c)
82+
AbortBadRequest(c, err)
8383
return
8484
}
8585

@@ -114,7 +114,7 @@ func SaveSettings(router *gin.RouterGroup) {
114114

115115
// Set values from request.
116116
if err := c.BindJSON(settings); err != nil {
117-
AbortBadRequest(c)
117+
AbortBadRequest(c, err)
118118
return
119119
}
120120

internal/api/faces.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func UpdateFace(router *gin.RouterGroup) {
7070

7171
// Assign and validate request form values.
7272
if err := c.BindJSON(&frm); err != nil {
73-
AbortBadRequest(c)
73+
AbortBadRequest(c, err)
7474
return
7575
}
7676

internal/api/faces_search.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func SearchFaces(router *gin.RouterGroup) {
4040
err := c.MustBindWith(&frm, binding.Form)
4141

4242
if err != nil {
43-
AbortBadRequest(c)
43+
AbortBadRequest(c, err)
4444
return
4545
}
4646

0 commit comments

Comments
 (0)