diff options
author | Tomasz Maczukin <tomasz@maczukin.pl> | 2016-02-05 15:35:21 +0100 |
---|---|---|
committer | Tomasz Maczukin <tomasz@maczukin.pl> | 2016-02-19 13:18:47 +0100 |
commit | 36e7ffea5de84102a7306faf679cdb5b81920f19 (patch) | |
tree | 7ef2abe7ee211a87d13716ca2aa0685d5eb7d247 /lib | |
parent | 97c88966bb9594449a519d377203206dd6416868 (diff) | |
download | gitlab-ce-36e7ffea5de84102a7306faf679cdb5b81920f19.tar.gz |
Fix runners filtering
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/runners.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/api/runners.rb b/lib/api/runners.rb index 4a0e68a4ddb..e807d2eccf0 100644 --- a/lib/api/runners.rb +++ b/lib/api/runners.rb @@ -9,7 +9,7 @@ module API # Example Request: # GET /runners get do - runners = filter_runners(current_user.ci_authorized_runners, params[:scope]) + runners = filter_runners(current_user.ci_authorized_runners, params[:scope], without: ['specific', 'shared']) present paginate(runners), with: Entities::Runner end @@ -124,10 +124,14 @@ module API end helpers do - def filter_runners(runners, scope) + def filter_runners(runners, scope, options = {}) return runners unless scope.present? available_scopes = ::Ci::Runner::AVAILABLE_SCOPES + if options[:without] + available_scopes = available_scopes - options[:without] + end + if (available_scopes & [scope]).empty? render_api_error!('Scope contains invalid value', 400) end |