diff --git a/lib/travis/api/v3/services/cron/create.rb b/lib/travis/api/v3/services/cron/create.rb index a9ae54a4..f3ceb0e8 100644 --- a/lib/travis/api/v3/services/cron/create.rb +++ b/lib/travis/api/v3/services/cron/create.rb @@ -7,7 +7,14 @@ module Travis::API::V3 raise LoginRequired unless access_control.logged_in? or access_control.full_access? raise NotFound unless repository = find(:repository) raise NotFound unless branch = find(:branch, repository) + raise ArgumentError, 'interval must be "daily", "weekly" or "monthly"' unless ["daily", "weekly", "monthly"].include?(params["interval"]) access_control.permissions(repository).create_cron! + + if branch.cron + access_control.permissions(branch.cron).delete! + branch.cron.destroy + end + Models::Cron.create(branch: branch, interval: params["interval"], disable_by_build: params["disable_by_build"] ? params["disable_by_build"] : false) diff --git a/lib/travis/api/v3/services/crons/find.rb b/lib/travis/api/v3/services/crons/find.rb deleted file mode 100644 index ab475f8c..00000000 --- a/lib/travis/api/v3/services/crons/find.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Travis::API::V3 - class Services::Crons::Find < Service - paginate - - def run! - query.find(find(:branch, find(:repository))) - end - end -end