github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/runners/revert/rationalize.go (about) 1 package revert 2 3 import ( 4 "errors" 5 6 "github.com/ActiveState/cli/internal/errs" 7 "github.com/ActiveState/cli/internal/locale" 8 "github.com/ActiveState/cli/pkg/platform/api/buildplanner/response" 9 "github.com/ActiveState/cli/pkg/platform/api/buildplanner/types" 10 ) 11 12 func rationalizeError(err *error) { 13 if err == nil { 14 return 15 } 16 17 var revertCommitError *response.RevertCommitError 18 19 switch { 20 case errors.As(*err, &revertCommitError): 21 switch revertCommitError.Type { 22 case types.NotFoundErrorType, types.ForbiddenErrorType: 23 *err = errs.WrapUserFacing(*err, 24 locale.Tl("err_revert_not_found", 25 revertCommitError.Error(), 26 ), 27 errs.SetInput(), 28 errs.SetTips( 29 locale.T("tip_private_project_auth"), 30 ), 31 ) 32 case types.NoChangeSinceLastCommitErrorType: 33 *err = errs.WrapUserFacing(*err, 34 locale.Tl("err_revert_no_change", 35 "Could not revert commit, no changes since last commit", 36 ), 37 errs.SetInput(), 38 ) 39 default: 40 *err = errs.WrapUserFacing(*err, 41 locale.Tl("err_revert_not_found", 42 "Could not revert commit, recieved error message: {{.V0}}", 43 revertCommitError.Error(), 44 ), 45 ) 46 } 47 } 48 }