From ade9c8dc3cc75da09642cbb259d3dd4efeb41a6b Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Tue, 13 Oct 2020 02:41:49 +0200 Subject: [PATCH] [API] If User is Admin, show 500 error message on PROD mode too (#13115) * API: show admin 500 error message on PROD mode too * a nit * dont miss InternalServerError Co-authored-by: techknowlogick --- models/migrations/migrations.go | 4 ++-- modules/context/api.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 999fe622d7..4e12181b15 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -320,9 +320,9 @@ Please try upgrading to a lower version first (suggested v1.6.4), then upgrade t return nil } - // Downgraded Gitea not supported + // Downgrading Gitea's database version not supported if int(v-minDBVersion) > len(migrations) { - msg := fmt.Sprintf("Downgrading Gitea from '%d' to '%d' is not supported and may result in loss of data integrity.\nIf you really know what you're doing, execute `UPDATE version SET version=%d WHERE id=1;`\n", + msg := fmt.Sprintf("Downgrading database version from '%d' to '%d' is not supported and may result in loss of data integrity.\nIf you really know what you're doing, execute `UPDATE version SET version=%d WHERE id=1;`\n", v, minDBVersion+len(migrations), minDBVersion+len(migrations)) fmt.Fprint(os.Stderr, msg) log.Fatal(msg) diff --git a/modules/context/api.go b/modules/context/api.go index fdc000e4a5..772e1f8f50 100644 --- a/modules/context/api.go +++ b/modules/context/api.go @@ -82,7 +82,7 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) { if status == http.StatusInternalServerError { log.ErrorWithSkip(1, "%s: %s", title, message) - if macaron.Env == macaron.PROD { + if macaron.Env == macaron.PROD && !(ctx.User != nil && ctx.User.IsAdmin) { message = "" } } @@ -99,7 +99,7 @@ func (ctx *APIContext) InternalServerError(err error) { log.ErrorWithSkip(1, "InternalServerError: %v", err) var message string - if macaron.Env != macaron.PROD { + if macaron.Env != macaron.PROD || (ctx.User != nil && ctx.User.IsAdmin) { message = err.Error() }