From 2cf685c450189101995536c882aa650075618d0b Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Mon, 23 Feb 2015 11:19:25 +0100 Subject: [PATCH] v3: add api endpoints for enabling/disabling a repo --- lib/travis/api/v3/routes.rb | 3 +++ lib/travis/api/v3/services/repository/disable.rb | 7 +++++++ lib/travis/api/v3/services/repository/enable.rb | 7 +++++++ spec/v3/service_index_spec.rb | 4 +++- 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lib/travis/api/v3/services/repository/disable.rb create mode 100644 lib/travis/api/v3/services/repository/enable.rb diff --git a/lib/travis/api/v3/routes.rb b/lib/travis/api/v3/routes.rb index e911ac78..83343ad8 100644 --- a/lib/travis/api/v3/routes.rb +++ b/lib/travis/api/v3/routes.rb @@ -7,6 +7,9 @@ module Travis::API::V3 route '/repo/{repository.id}' get :find + post :enable, '/enable' + post :disable, '/disable' + resource :requests do route '/requests' get :find diff --git a/lib/travis/api/v3/services/repository/disable.rb b/lib/travis/api/v3/services/repository/disable.rb new file mode 100644 index 00000000..9e5103ac --- /dev/null +++ b/lib/travis/api/v3/services/repository/disable.rb @@ -0,0 +1,7 @@ +module Travis::API::V3 + class Services::Repository::Disable < Service + def run!(activate = false) + not_implemented + end + end +end diff --git a/lib/travis/api/v3/services/repository/enable.rb b/lib/travis/api/v3/services/repository/enable.rb new file mode 100644 index 00000000..5d85439b --- /dev/null +++ b/lib/travis/api/v3/services/repository/enable.rb @@ -0,0 +1,7 @@ +module Travis::API::V3 + class Services::Repository::Enable < Services::Repository::Disable + def run! + super(true) + end + end +end diff --git a/spec/v3/service_index_spec.rb b/spec/v3/service_index_spec.rb index ce53c2e4..325392e0 100644 --- a/spec/v3/service_index_spec.rb +++ b/spec/v3/service_index_spec.rb @@ -9,7 +9,9 @@ describe Travis::API::V3::ServiceIndex do describe "custom json entry point" do let(:expected_resources) {{ "repository" => { - "find" => [{"request-method"=>"GET", "uri-template"=>"#{path}repo/{repository.id}"}] }, + "find" => [{"request-method"=>"GET", "uri-template"=>"#{path}repo/{repository.id}"}], + "enable" => [{"request-method"=>"POST", "uri-template"=>"#{path}repo/{repository.id}/enable"}], + "disable" => [{"request-method"=>"POST", "uri-template"=>"#{path}repo/{repository.id}/disable"}] }, "repositories" => { "for_current_user" => [{"request-method"=>"GET", "uri-template"=>"#{path}repos"}] }, "build" => {