diff --git a/lib/travis/api/v3/service.rb b/lib/travis/api/v3/service.rb index 13b8f2aa..d0cb719f 100644 --- a/lib/travis/api/v3/service.rb +++ b/lib/travis/api/v3/service.rb @@ -68,7 +68,7 @@ module Travis::API::V3 def check_login_and_find(*args) raise LoginRequired unless access_control.full_access_or_logged_in? - find(*args) + find(*args) # should this raise NotFound if nil? Can it return nil? see above? end def not_found(actually_not_found = false, type = nil) diff --git a/lib/travis/api/v3/services/build/cancel.rb b/lib/travis/api/v3/services/build/cancel.rb index 168b3ccf..4e10a110 100644 --- a/lib/travis/api/v3/services/build/cancel.rb +++ b/lib/travis/api/v3/services/build/cancel.rb @@ -2,8 +2,7 @@ module Travis::API::V3 class Services::Build::Cancel < Service def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless build = find(:build) + build = check_login_and_find(:build) access_control.permissions(build).cancel! query.cancel(access_control.user) diff --git a/lib/travis/api/v3/services/build/restart.rb b/lib/travis/api/v3/services/build/restart.rb index acb49727..7ba3aff6 100644 --- a/lib/travis/api/v3/services/build/restart.rb +++ b/lib/travis/api/v3/services/build/restart.rb @@ -2,8 +2,7 @@ module Travis::API::V3 class Services::Build::Restart < Service def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless build = find(:build) + build = check_login_and_find(:build) access_control.permissions(build).restart! query.restart(access_control.user) diff --git a/lib/travis/api/v3/services/cron/create.rb b/lib/travis/api/v3/services/cron/create.rb index dcbfffb8..2fb366e1 100644 --- a/lib/travis/api/v3/services/cron/create.rb +++ b/lib/travis/api/v3/services/cron/create.rb @@ -4,8 +4,7 @@ module Travis::API::V3 params :interval, :disable_by_build def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) raise NotFound unless branch = find(:branch, repository) raise Error.new('Crons can only be set up for branches existing on GitHub!', status: 422) unless branch.exists_on_github raise Error.new('Invalid value for interval. Interval must be "daily", "weekly" or "monthly"!', status: 422) unless ["daily", "weekly", "monthly"].include?(params["interval"]) diff --git a/lib/travis/api/v3/services/cron/delete.rb b/lib/travis/api/v3/services/cron/delete.rb index c5d9287d..59aa6d10 100644 --- a/lib/travis/api/v3/services/cron/delete.rb +++ b/lib/travis/api/v3/services/cron/delete.rb @@ -3,8 +3,7 @@ module Travis::API::V3 #params :id def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - cron = find + cron = check_login_and_find access_control.permissions(cron).delete! cron.destroy end diff --git a/lib/travis/api/v3/services/job/cancel.rb b/lib/travis/api/v3/services/job/cancel.rb index 0b565498..a6f143ec 100644 --- a/lib/travis/api/v3/services/job/cancel.rb +++ b/lib/travis/api/v3/services/job/cancel.rb @@ -2,8 +2,7 @@ module Travis::API::V3 class Services::Job::Cancel < Service def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless job = find(:job) + job = check_login_and_find(:job) access_control.permissions(job).cancel! query.cancel(access_control.user) diff --git a/lib/travis/api/v3/services/job/debug.rb b/lib/travis/api/v3/services/job/debug.rb index 63c1939c..a892b993 100644 --- a/lib/travis/api/v3/services/job/debug.rb +++ b/lib/travis/api/v3/services/job/debug.rb @@ -5,8 +5,7 @@ module Travis::API::V3 attr_reader :job def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless @job = find(:job) + @job = check_login_and_find(:job) raise WrongCredentials unless Travis.config.debug_tools_enabled or Travis::Features.active?(:debug_tools, job.repository) access_control.permissions(job).debug! diff --git a/lib/travis/api/v3/services/job/restart.rb b/lib/travis/api/v3/services/job/restart.rb index a10dc71b..26ef1499 100644 --- a/lib/travis/api/v3/services/job/restart.rb +++ b/lib/travis/api/v3/services/job/restart.rb @@ -2,8 +2,7 @@ module Travis::API::V3 class Services::Job::Restart < Service def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless job = find(:job) + job = check_login_and_find(:job) access_control.permissions(job).restart! query.restart(access_control.user) diff --git a/lib/travis/api/v3/services/repository/disable.rb b/lib/travis/api/v3/services/repository/disable.rb index c904351e..169af0d7 100644 --- a/lib/travis/api/v3/services/repository/disable.rb +++ b/lib/travis/api/v3/services/repository/disable.rb @@ -1,8 +1,7 @@ module Travis::API::V3 class Services::Repository::Disable < Service def run!(activate = false) - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) check_access(repository) admin = access_control.admin_for(repository) diff --git a/lib/travis/api/v3/services/repository/star.rb b/lib/travis/api/v3/services/repository/star.rb index 0b29c2bb..cd3f1a24 100644 --- a/lib/travis/api/v3/services/repository/star.rb +++ b/lib/travis/api/v3/services/repository/star.rb @@ -1,8 +1,7 @@ module Travis::API::V3 class Services::Repository::Star < Service def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) check_access(repository) current_user = access_control.user query.star(current_user) diff --git a/lib/travis/api/v3/services/repository/unstar.rb b/lib/travis/api/v3/services/repository/unstar.rb index 75874f9f..39e75856 100644 --- a/lib/travis/api/v3/services/repository/unstar.rb +++ b/lib/travis/api/v3/services/repository/unstar.rb @@ -1,8 +1,7 @@ module Travis::API::V3 class Services::Repository::Unstar < Service def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) check_access(repository) current_user = access_control.user query.unstar(current_user) diff --git a/lib/travis/api/v3/services/requests/create.rb b/lib/travis/api/v3/services/requests/create.rb index 87c54d2d..ec4c6a08 100644 --- a/lib/travis/api/v3/services/requests/create.rb +++ b/lib/travis/api/v3/services/requests/create.rb @@ -8,8 +8,7 @@ module Travis::API::V3 params "request", "user", :config, :message, :branch, :token def run - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) access_control.permissions(repository).create_request! user = find(:user) if access_control.full_access? and params_for? 'user'.freeze diff --git a/lib/travis/api/v3/services/settings/find.rb b/lib/travis/api/v3/services/settings/find.rb index 9ab54fec..bd7c08c9 100644 --- a/lib/travis/api/v3/services/settings/find.rb +++ b/lib/travis/api/v3/services/settings/find.rb @@ -1,8 +1,7 @@ module Travis::API::V3 class Services::Settings::Find < Service def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repo = find(:repository) + repository = check_login_and_find(:repository) find(:settings, repo) end end diff --git a/lib/travis/api/v3/services/settings/update.rb b/lib/travis/api/v3/services/settings/update.rb index c2780e20..924bc39f 100644 --- a/lib/travis/api/v3/services/settings/update.rb +++ b/lib/travis/api/v3/services/settings/update.rb @@ -3,8 +3,7 @@ module Travis::API::V3 params :builds_only_with_travis_yml, :build_pushes, :build_pull_requests, :maximum_number_of_builds, prefix: :settings def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless repository = find(:repository) + repository = check_login_and_find(:repository) query.update(repository) end end diff --git a/lib/travis/api/v3/services/user/sync.rb b/lib/travis/api/v3/services/user/sync.rb index 5ece301b..16cd3674 100644 --- a/lib/travis/api/v3/services/user/sync.rb +++ b/lib/travis/api/v3/services/user/sync.rb @@ -2,8 +2,7 @@ module Travis::API::V3 class Services::User::Sync < Service def run! - raise LoginRequired unless access_control.logged_in? or access_control.full_access? - raise NotFound unless user = find(:user) + user = check_login_and_find(:user) access_control.permissions(user).sync! query.sync(user)