aboutsummaryrefslogtreecommitdiffstats
path: root/models/actions/run_list.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/actions/run_list.go')
-rw-r--r--models/actions/run_list.go24
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
}