diff --git a/lib/travis/api/v3/permissions/cron.rb b/lib/travis/api/v3/permissions/cron.rb index 815dd17c..2db1f10c 100644 --- a/lib/travis/api/v3/permissions/cron.rb +++ b/lib/travis/api/v3/permissions/cron.rb @@ -5,5 +5,9 @@ module Travis::API::V3 def delete? write? end + + def create? + write? + end end end diff --git a/lib/travis/api/v3/routes.rb b/lib/travis/api/v3/routes.rb index 8340a0d9..95bf0a0a 100644 --- a/lib/travis/api/v3/routes.rb +++ b/lib/travis/api/v3/routes.rb @@ -98,6 +98,8 @@ module Travis::API::V3 resource :crons do route '/crons' get :find + + get :create, '/create' end resource :requests do diff --git a/lib/travis/api/v3/services/cron/find.rb b/lib/travis/api/v3/services/cron/find.rb index 6a028079..6a191d7a 100644 --- a/lib/travis/api/v3/services/cron/find.rb +++ b/lib/travis/api/v3/services/cron/find.rb @@ -3,9 +3,7 @@ module Travis::API::V3 #params :id def run! - find end - end end diff --git a/lib/travis/api/v3/services/crons/create.rb b/lib/travis/api/v3/services/crons/create.rb new file mode 100644 index 00000000..09a7b077 --- /dev/null +++ b/lib/travis/api/v3/services/crons/create.rb @@ -0,0 +1,15 @@ +module Travis::API::V3 + class Services::Crons::Create < Service + + + def run! + #raise LoginRequired unless access_control.logged_in? or access_control.full_access? + raise NotFound unless repository = find(:repository) + #access_control.permissions(cron).create! + + Models::Cron.create(repository: repository) + query.find(find(:repository)) + end + + end +end