-
Notifications
You must be signed in to change notification settings - Fork 13
/
rationalize.go
35 lines (28 loc) · 1.05 KB
/
rationalize.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package artifacts
import (
"errors"
"github.com/ActiveState/cli/internal/errs"
"github.com/ActiveState/cli/internal/locale"
"github.com/ActiveState/cli/internal/runbits/rationalize"
"github.com/ActiveState/cli/pkg/platform/authentication"
"github.com/ActiveState/cli/pkg/platform/model"
)
func rationalizeCommonError(err *error, auth *authentication.Auth) {
var invalidCommitIdErr *errInvalidCommitId
var projectNotFoundErr *model.ErrProjectNotFound
switch {
case errors.Is(*err, rationalize.ErrNoProject):
*err = errs.WrapUserFacing(*err,
locale.Tr("err_no_project"),
errs.SetInput())
case errors.As(*err, &invalidCommitIdErr):
*err = errs.WrapUserFacing(
*err, locale.Tr("err_commit_id_invalid", invalidCommitIdErr.id),
errs.SetInput())
case errors.As(*err, &projectNotFoundErr):
*err = errs.WrapUserFacing(*err,
locale.Tr("err_api_project_not_found", projectNotFoundErr.Organization, projectNotFoundErr.Project),
errs.SetIf(!auth.Authenticated(), errs.SetTips(locale.T("tip_private_project_auth"))),
errs.SetInput())
}
}