refactor: use SetError in exception.Builder where errors are available

Update multiple services and middlewares to pass the original error to exception.Builder before building the error code.

Co-authored-by: Gemini <gemini@google.com>
This commit is contained in:
2026-01-21 14:42:52 +08:00
parent 14f50ecdb2
commit a60a796345
13 changed files with 46 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ func JWTAuth() gin.HandlerFunc {
SetEndpoint(exception.EndpointMiddlewareService).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUnauthorized).
SetError(err).
Build()
utils.HttpAbort(c, 401, errorCode)

View File

@@ -35,6 +35,7 @@ func Permission(requiredLevel uint) gin.HandlerFunc {
SetEndpoint(exception.EndpointMiddlewareService).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpAbort(c, 500, errorCode)
return
@@ -48,6 +49,7 @@ func Permission(requiredLevel uint) gin.HandlerFunc {
SetEndpoint(exception.EndpointMiddlewareService).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUserNotFound).
SetError(err).
Build()
utils.HttpAbort(c, 404, errorCode)
return

View File

@@ -30,6 +30,7 @@ func Exchange(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceExchange).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -56,6 +57,7 @@ func Exchange(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceExchange).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -70,6 +72,7 @@ func Exchange(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceExchange).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthExchangeGetUserIdFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -83,6 +86,7 @@ func Exchange(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceExchange).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthExchangeCodeGenFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -96,6 +100,7 @@ func Exchange(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceExchange).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthExchangeInvalidRedirectUri).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return

View File

@@ -30,6 +30,7 @@ func Magic(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceMagic).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -44,6 +45,7 @@ func Magic(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceMagic).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthMagicTurnstileFailed).
SetError(err).
Build()
utils.HttpResponse(c, 403, errorCode)
return
@@ -57,6 +59,7 @@ func Magic(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceMagic).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthMagicCodeGenFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -71,6 +74,7 @@ func Magic(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceMagic).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthMagicInvalidExternalUrl).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -101,6 +105,7 @@ func Magic(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceMagic).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthMagicInvalidEmailConfig).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return

View File

@@ -87,6 +87,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInternal).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -98,6 +99,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInternal).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -113,6 +115,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthRedirectClientNotFound).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -126,6 +129,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthRedirectUriMismatch).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -139,6 +143,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInternal).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -152,6 +157,7 @@ func Redirect(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRedirect).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthRedirectInvalidUri).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return

View File

@@ -21,6 +21,7 @@ func Refresh(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRefresh).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -38,6 +39,7 @@ func Refresh(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRefresh).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthRefreshInvalidToken).
SetError(err).
Build()
utils.HttpResponse(c, 401, errorCode)
return
@@ -51,6 +53,7 @@ func Refresh(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceRefresh).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthRefreshRenewFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return

View File

@@ -26,6 +26,7 @@ func Token(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceToken).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -53,6 +54,7 @@ func Token(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceToken).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInternal).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -70,6 +72,7 @@ func Token(c *gin.Context) {
SetEndpoint(exception.EndpointAuthServiceToken).
SetType(exception.TypeSpecific).
SetOriginal(exception.AuthTokenGenFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return

View File

@@ -32,6 +32,7 @@ func Checkin(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckin).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
}
@@ -59,6 +60,7 @@ func Checkin(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckin).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -72,6 +74,7 @@ func Checkin(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckin).
SetType(exception.TypeSpecific).
SetOriginal(exception.EventCheckinGenCodeFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -98,6 +101,7 @@ func CheckinSubmit(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckinSubmit).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -127,6 +131,7 @@ func CheckinQuery(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckinQuery).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -152,6 +157,7 @@ func CheckinQuery(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckinQuery).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -167,6 +173,7 @@ func CheckinQuery(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceCheckinQuery).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorDatabase).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return

View File

@@ -34,6 +34,7 @@ func Info(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceInfo).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -47,6 +48,7 @@ func Info(c *gin.Context) {
SetEndpoint(exception.EndpointEventServiceInfo).
SetType(exception.TypeSpecific).
SetOriginal(exception.EventInfoNotFound).
SetError(err).
Build()
utils.HttpResponse(c, 404, errorCode)
return

View File

@@ -30,6 +30,7 @@ func Full(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceFull).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -43,6 +44,7 @@ func Full(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceFull).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUserNotFound).
SetError(err).
Build()
utils.HttpResponse(c, 404, errorCode)
return
@@ -56,6 +58,7 @@ func Full(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceFull).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorDatabase).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return

View File

@@ -31,6 +31,7 @@ func Info(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceInfo).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -45,6 +46,7 @@ func Info(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceInfo).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUserNotFound).
SetError(err).
Build()
utils.HttpResponse(c, 404, errorCode)
return

View File

@@ -37,6 +37,7 @@ func List(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceList).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -49,6 +50,7 @@ func List(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceList).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -63,6 +65,7 @@ func List(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceList).
SetType(exception.TypeSpecific).
SetOriginal(exception.UserListMeilisearchFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
}

View File

@@ -34,6 +34,7 @@ func Update(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceUpdate).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUuidParseFailed).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -48,6 +49,7 @@ func Update(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceUpdate).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return
@@ -62,6 +64,7 @@ func Update(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceUpdate).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorUserNotFound).
SetError(err).
Build()
utils.HttpResponse(c, 500, errorCode)
return
@@ -130,6 +133,7 @@ func Update(c *gin.Context) {
SetEndpoint(exception.EndpointUserServiceUpdate).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorInvalidInput).
SetError(err).
Build()
utils.HttpResponse(c, 400, errorCode)
return