From 31214f36ac0a71831bccdf6af0ff56b80f669228 Mon Sep 17 00:00:00 2001 From: Anton Martynov Date: Tue, 27 Oct 2015 12:55:51 +0300 Subject: [PATCH] #789: group, flavor, network --- devops-service/app/api2/handlers/flavor.rb | 5 ++++- devops-service/app/api2/handlers/group.rb | 6 +++++- devops-service/app/api2/handlers/network.rb | 6 +++++- devops-service/app/api2/routes/flavor.rb | 7 +++++++ devops-service/app/api2/routes/group.rb | 6 ++++++ devops-service/app/api2/routes/network.rb | 6 ++++++ 6 files changed, 33 insertions(+), 3 deletions(-) diff --git a/devops-service/app/api2/handlers/flavor.rb b/devops-service/app/api2/handlers/flavor.rb index 421bb1a..34ddb12 100644 --- a/devops-service/app/api2/handlers/flavor.rb +++ b/devops-service/app/api2/handlers/flavor.rb @@ -7,9 +7,12 @@ module Devops class Flavor < RequestHandler def flavors provider - ::Provider::ProviderFactory.get(provider).flavors + flavors_with_account(provider, nil) end + def flavors_with_account provider, account + ::Provider::ProviderFactory.get(provider, account).flavors + end end end end diff --git a/devops-service/app/api2/handlers/group.rb b/devops-service/app/api2/handlers/group.rb index 26f2e36..82ed2d7 100644 --- a/devops-service/app/api2/handlers/group.rb +++ b/devops-service/app/api2/handlers/group.rb @@ -8,7 +8,11 @@ module Devops # TODO: vpc support for ec2 def groups provider - ::Provider::ProviderFactory.get(provider).groups()#params + groups_with_account(provider, nil) + end + + def groups_with_account provider, account + ::Provider::ProviderFactory.get(provider, account).groups()#params end end end diff --git a/devops-service/app/api2/handlers/network.rb b/devops-service/app/api2/handlers/network.rb index 81964c3..25c89ec 100644 --- a/devops-service/app/api2/handlers/network.rb +++ b/devops-service/app/api2/handlers/network.rb @@ -7,7 +7,11 @@ module Devops class Network < RequestHandler def networks provider - p = ::Provider::ProviderFactory.get provider + networks_with_account provider, nil + end + + def networks_with_account provider, account + p = ::Provider::ProviderFactory.get(provider, account) p.networks_detail end end diff --git a/devops-service/app/api2/routes/flavor.rb b/devops-service/app/api2/routes/flavor.rb index d0e5ea4..67db888 100644 --- a/devops-service/app/api2/routes/flavor.rb +++ b/devops-service/app/api2/routes/flavor.rb @@ -37,6 +37,13 @@ module Devops json Devops::API2_0::Handler::Flavor.new(request).flavors(provider) end + # TODO: check account + app.get_with_headers "/flavors/:provider/:account", :headers => [:accept] do |provider, account| + check_privileges("flavor", "r") + check_provider(provider) + json Devops::API2_0::Handler::Flavor.new(request).flavors_with_account(provider, account) + end + puts "Flavor routes initialized" end diff --git a/devops-service/app/api2/routes/group.rb b/devops-service/app/api2/routes/group.rb index 6ba87a7..989c4fb 100644 --- a/devops-service/app/api2/routes/group.rb +++ b/devops-service/app/api2/routes/group.rb @@ -50,6 +50,12 @@ module Devops json Devops::API2_0::Handler::Group.new(request).groups(provider) end + app.get_with_headers "/groups/:provider/:account", :headers => [:accept] do |provider, account| + check_privileges("group", "r") + check_provider(provider) + json Devops::API2_0::Handler::Group.new(request).groups_with_account(provider, account) + end + puts "Group routes initialized" end diff --git a/devops-service/app/api2/routes/network.rb b/devops-service/app/api2/routes/network.rb index 3d31d64..5da6724 100644 --- a/devops-service/app/api2/routes/network.rb +++ b/devops-service/app/api2/routes/network.rb @@ -38,6 +38,12 @@ module Devops json Devops::API2_0::Handler::Network.new(request).networks(provider) end + app.get_with_headers "/networks/:provider/:account", :headers => [:accept] do |provider, account| + check_privileges("network", "r") + check_provider(provider) + json Devops::API2_0::Handler::Network.new(request).networks_with_account(provider, account) + end + puts "Network routes initialized" end