#819: added 'projects' object into response
This commit is contained in:
parent
3a4a9c59da
commit
3d21cbfb41
@ -35,22 +35,29 @@ module Devops
|
|||||||
if envs_with_this_template.empty?
|
if envs_with_this_template.empty?
|
||||||
Devops::Db.connector.stack_template_delete id
|
Devops::Db.connector.stack_template_delete id
|
||||||
else
|
else
|
||||||
raise ConflictException.new("Stack template '#{id}' is already in use in #{envs_with_this_template.join(', ')}")
|
raise ConflictException.new("Stack template '#{id}' is already in use in #{envs_with_this_template.map{|project, envs| "#{project}: #{envs.join(', ')}"}.join('; ')}", {projects: envs_with_this_template})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
# returns:
|
||||||
|
# {
|
||||||
|
# "project" => ["deploy_env"]
|
||||||
|
# }
|
||||||
def envs_using_stack_template(id)
|
def envs_using_stack_template(id)
|
||||||
projects = Devops::Db.connector.projects_and_deploy_envs_by_field('stack_template', id)
|
projects = Devops::Db.connector.projects_and_deploy_envs_by_field('stack_template', id)
|
||||||
envs_with_this_template = []
|
envs_with_this_template = []
|
||||||
|
res = {}
|
||||||
|
|
||||||
projects.each do |project|
|
projects.each do |project|
|
||||||
|
array = []
|
||||||
|
res[project] = array
|
||||||
project.deploy_envs.each do |env|
|
project.deploy_envs.each do |env|
|
||||||
envs_with_this_template << "#{project.id}-#{env.identifier}"
|
array << env.identifier
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
envs_with_this_template
|
res
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -114,7 +114,7 @@ module Devops
|
|||||||
error ConflictException do
|
error ConflictException do
|
||||||
e = env["sinatra.error"]
|
e = env["sinatra.error"]
|
||||||
logger.warn e.message
|
logger.warn e.message
|
||||||
halt_response(e.message, 409)
|
create_response(e.message, e.object, 409)
|
||||||
end
|
end
|
||||||
|
|
||||||
error InvalidPrivileges do
|
error InvalidPrivileges do
|
||||||
|
|||||||
@ -1,4 +1,11 @@
|
|||||||
class ConflictException < StandardError
|
class ConflictException < StandardError
|
||||||
|
|
||||||
|
attr_reader :object
|
||||||
|
|
||||||
|
def initialize msg, object=nil
|
||||||
|
super(msg)
|
||||||
|
@object = object
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user