From 208dfb9a93f864c58f40a2623842be4fe6225ff5 Mon Sep 17 00:00:00 2001 From: Lennard Wolf Date: Thu, 5 Nov 2015 16:04:08 +0100 Subject: [PATCH] add /repo/repository.id/crons/create endpoint, all working with our access_control --- lib/travis/api/v3/permissions/cron.rb | 4 ++++ lib/travis/api/v3/routes.rb | 2 ++ lib/travis/api/v3/services/cron/find.rb | 2 -- lib/travis/api/v3/services/crons/create.rb | 15 +++++++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 lib/travis/api/v3/services/crons/create.rb 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