Skip to content

Commit

Permalink
fix(api): return right error on add workflow group (#4931)
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
  • Loading branch information
bnjjj committed Feb 3, 2020
1 parent 1657004 commit 992f827
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
3 changes: 3 additions & 0 deletions engine/api/group/workflow_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
8 changes: 4 additions & 4 deletions engine/api/workflow_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
}
Expand Down

0 comments on commit 992f827

Please sign in to comment.