diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2016-02-19 16:23:28 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-02-19 18:32:43 +0300 |
commit | 778da50251e24690f160a42f0b65c11c1afa3deb (patch) | |
tree | 37c71c01bfa8b73435b9b1f77d8925cac4157647 /app | |
parent | 7238e7d17e96ede720f1ea5fc175140a51d8ea05 (diff) |
Merge branch 'ci/api-runners' into 'master'
Add runners API
References #4264
See merge request !2640
Diffstat (limited to 'app')
-rw-r--r-- | app/models/ci/runner.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb index 38b20cd7faa..e725a6d468c 100644 --- a/app/models/ci/runner.rb +++ b/app/models/ci/runner.rb @@ -22,6 +22,7 @@ module Ci extend Ci::Model LAST_CONTACT_TIME = 5.minutes.ago + AVAILABLE_SCOPES = ['specific', 'shared', 'active', 'paused', 'online'] has_many :builds, class_name: 'Ci::Build' has_many :runner_projects, dependent: :destroy, class_name: 'Ci::RunnerProject' @@ -38,6 +39,11 @@ module Ci scope :online, ->() { where('contacted_at > ?', LAST_CONTACT_TIME) } scope :ordered, ->() { order(id: :desc) } + scope :owned_or_shared, ->(project_id) do + joins('LEFT JOIN ci_runner_projects ON ci_runner_projects.runner_id = ci_runners.id') + .where("ci_runner_projects.gl_project_id = :project_id OR ci_runners.is_shared = true", project_id: project_id) + end + acts_as_taggable def self.search(query) |