github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/runners/artifacts/rationalize.go (about)

     1  package artifacts
     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/internal/runbits/rationalize"
     9  	"github.com/ActiveState/cli/pkg/platform/authentication"
    10  	"github.com/ActiveState/cli/pkg/platform/model"
    11  )
    12  
    13  func rationalizeCommonError(err *error, auth *authentication.Auth) {
    14  	var invalidCommitIdErr *errInvalidCommitId
    15  	var projectNotFoundErr *model.ErrProjectNotFound
    16  
    17  	switch {
    18  	case errors.Is(*err, rationalize.ErrNoProject):
    19  		*err = errs.WrapUserFacing(*err,
    20  			locale.Tr("err_no_project"),
    21  			errs.SetInput())
    22  
    23  	case errors.As(*err, &invalidCommitIdErr):
    24  		*err = errs.WrapUserFacing(
    25  			*err, locale.Tr("err_commit_id_invalid", invalidCommitIdErr.id),
    26  			errs.SetInput())
    27  
    28  	case errors.As(*err, &projectNotFoundErr):
    29  		*err = errs.WrapUserFacing(*err,
    30  			locale.Tr("err_api_project_not_found", projectNotFoundErr.Organization, projectNotFoundErr.Project),
    31  			errs.SetIf(!auth.Authenticated(), errs.SetTips(locale.T("tip_private_project_auth"))),
    32  			errs.SetInput())
    33  	}
    34  
    35  }