diff --git a/engine/api/group/workflow_group.go b/engine/api/group/workflow_group.go index 1c0d0f74c5..374639a6c5 100644 --- a/engine/api/group/workflow_group.go +++ b/engine/api/group/workflow_group.go @@ -71,6 +71,9 @@ func LoadRoleGroupInWorkflowNode(db gorp.SqlExecutor, nodeID, groupID int64) (in func AddWorkflowGroup(ctx context.Context, db gorp.SqlExecutor, w *sdk.Workflow, gp sdk.GroupPermission) error { link, err := LoadLinkGroupProjectForGroupIDAndProjectID(ctx, db, gp.Group.ID, w.ProjectID) if err != nil { + if sdk.ErrorIs(err, sdk.ErrNotFound) { + return sdk.ErrGroupNotFoundInProject + } return sdk.WrapError(err, "cannot load role for group %d in project %d", gp.Group.ID, w.ProjectID) } if link.Role == sdk.PermissionReadWriteExecute && gp.Permission < link.Role { diff --git a/engine/api/workflow_group.go b/engine/api/workflow_group.go index 02b21a73af..a16643bd8f 100644 --- a/engine/api/workflow_group.go +++ b/engine/api/workflow_group.go @@ -140,7 +140,7 @@ func (api *API) postWorkflowGroupHandler() service.Handler { var gp sdk.GroupPermission if err := service.UnmarshalBody(r, &gp); err != nil { - return sdk.WrapError(err, "postWorkflowGroupHandler") + return sdk.WrapError(err, "cannot unmarshal body") } proj, err := project.Load(api.mustDB(), api.Cache, key, project.LoadOptions.WithIntegrations) @@ -151,19 +151,19 @@ func (api *API) postWorkflowGroupHandler() service.Handler { options := workflow.LoadOptions{} wf, err := workflow.Load(ctx, api.mustDB(), api.Cache, proj, name, options) if err != nil { - return sdk.WrapError(err, "postWorkflowGroupHandler") + return sdk.WrapError(err, "cannot load workflow") } for _, gpr := range wf.Groups { if gpr.Group.Name == gp.Group.Name { - return sdk.WrapError(sdk.ErrGroupPresent, "postWorkflowGroupHandler") + return sdk.WrapError(sdk.ErrGroupPresent, "group is already present") } } if gp.Group.ID == 0 { g, errG := group.LoadByName(ctx, api.mustDB(), gp.Group.Name) if errG != nil { - return sdk.WrapError(errG, "postWorkflowGroupHandler") + return sdk.WrapError(errG, "cannot load group by name") } gp.Group = *g }