diff options
Diffstat (limited to 'models/actions/run_list.go')
-rw-r--r-- | models/actions/run_list.go | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/models/actions/run_list.go b/models/actions/run_list.go index 29ab193d57..db36f6df98 100644 --- a/models/actions/run_list.go +++ b/models/actions/run_list.go @@ -66,12 +66,13 @@ func (runs RunList) LoadRepos() error { type FindRunOptions struct { db.ListOptions - RepoID int64 - OwnerID int64 - WorkflowFileName string - TriggerUserID int64 - Approved bool // not util.OptionalBool, it works only when it's true - Status Status + RepoID int64 + OwnerID int64 + WorkflowID string + Ref string // the commit/tag/… that caused this workflow + TriggerUserID int64 + Approved bool // not util.OptionalBool, it works only when it's true + Status []Status } func (opts FindRunOptions) toConds() builder.Cond { @@ -82,8 +83,8 @@ func (opts FindRunOptions) toConds() builder.Cond { if opts.OwnerID > 0 { cond = cond.And(builder.Eq{"owner_id": opts.OwnerID}) } - if opts.WorkflowFileName != "" { - cond = cond.And(builder.Eq{"workflow_id": opts.WorkflowFileName}) + if opts.WorkflowID != "" { + cond = cond.And(builder.Eq{"workflow_id": opts.WorkflowID}) } if opts.TriggerUserID > 0 { cond = cond.And(builder.Eq{"trigger_user_id": opts.TriggerUserID}) @@ -91,8 +92,11 @@ func (opts FindRunOptions) toConds() builder.Cond { if opts.Approved { cond = cond.And(builder.Gt{"approved_by": 0}) } - if opts.Status > StatusUnknown { - cond = cond.And(builder.Eq{"status": opts.Status}) + if len(opts.Status) > 0 { + cond = cond.And(builder.In("status", opts.Status)) + } + if opts.Ref != "" { + cond = cond.And(builder.Eq{"ref": opts.Ref}) } return cond } |