patch method to add environment to project
This commit is contained in:
parent
e24aa8765b
commit
3fcc4f16d1
@ -30,7 +30,6 @@ module Devops
|
|||||||
end
|
end
|
||||||
|
|
||||||
def project_servers id
|
def project_servers id
|
||||||
# check if project exists
|
|
||||||
Devops::Db.connector.project(id)
|
Devops::Db.connector.project(id)
|
||||||
Devops::Db.connector.servers(id, parser.project_servers)
|
Devops::Db.connector.servers(id, parser.project_servers)
|
||||||
end
|
end
|
||||||
@ -44,7 +43,6 @@ module Devops
|
|||||||
Devops::Db.connector.stacks(options)
|
Devops::Db.connector.stacks(options)
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: multi project
|
|
||||||
def create_project
|
def create_project
|
||||||
p = parser.create_project
|
p = parser.create_project
|
||||||
raise InvalidRecord.new("Project '#{p.id}' already exist") if Devops::Db.connector.is_project_exists?(p)
|
raise InvalidRecord.new("Project '#{p.id}' already exist") if Devops::Db.connector.is_project_exists?(p)
|
||||||
@ -59,7 +57,13 @@ module Devops
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: multi project
|
def add_deploy_env_to_project id
|
||||||
|
project = Devops::Db.connector.project(id)
|
||||||
|
env = parser.add_deploy_env_to_project
|
||||||
|
project.add_deploy_env env
|
||||||
|
"Deploy environment '#{env.identifier}' has been added to project '#{project.id}'"
|
||||||
|
end
|
||||||
|
|
||||||
def update_project id
|
def update_project id
|
||||||
project = parser.update
|
project = parser.update
|
||||||
project.id = id
|
project.id = id
|
||||||
|
|||||||
@ -38,6 +38,11 @@ module Devops
|
|||||||
Devops::Model::Project.new(body)
|
Devops::Model::Project.new(body)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def add_deploy_env_to_project
|
||||||
|
body = create_object_from_json_body
|
||||||
|
Devops::Model::DeployEnvFactory.create(body)
|
||||||
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
body = create_object_from_json_body
|
body = create_object_from_json_body
|
||||||
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
||||||
|
|||||||
@ -249,6 +249,44 @@ module Devops
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Add new deploy_env to project
|
||||||
|
#
|
||||||
|
# * *Request*
|
||||||
|
# - method : PATCH
|
||||||
|
# - headers :
|
||||||
|
# - Accept: application/json
|
||||||
|
# - Content-Type: application/json
|
||||||
|
# - body :
|
||||||
|
# {
|
||||||
|
# "identifier": "prod",
|
||||||
|
# "provider": "openstack",
|
||||||
|
# "flavor": "m1.small",
|
||||||
|
# "image": "image id",
|
||||||
|
# "subnets": [
|
||||||
|
# "private"
|
||||||
|
# ],
|
||||||
|
# "groups": [
|
||||||
|
# "default"
|
||||||
|
# ],
|
||||||
|
# "users": [
|
||||||
|
# "user"
|
||||||
|
# ],
|
||||||
|
# "run_list": [ ],
|
||||||
|
# "expires": null
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# * *Returns* :
|
||||||
|
# 200 - Created
|
||||||
|
app.patch_with_headers "/project/:id/deploy_env", :headers => [:accept, :content_type] do |id|
|
||||||
|
check_privileges("project", "w")
|
||||||
|
begin
|
||||||
|
res = Devops::API2_0::Handler::Project.new(request).add_deploy_env_to_project(id)
|
||||||
|
create_response(res, nil, 200)
|
||||||
|
rescue InvalidRecord => e
|
||||||
|
halt_response(e.message)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
users_hash = {}
|
users_hash = {}
|
||||||
# Add users to project environment
|
# Add users to project environment
|
||||||
#
|
#
|
||||||
|
|||||||
@ -103,6 +103,11 @@ module Connectors
|
|||||||
@collection.update({"_id" => project_id}, {"$set" => {run_list: run_list}})
|
@collection.update({"_id" => project_id}, {"$set" => {run_list: run_list}})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def add_deploy_env_to_project id, env
|
||||||
|
env.validate!
|
||||||
|
@collection.update({"_id" => id}, {'$push' => {deploy_envs: env.to_hash} })
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def list(query={}, query_options={})
|
def list(query={}, query_options={})
|
||||||
|
|||||||
@ -62,6 +62,10 @@ module Devops
|
|||||||
de
|
de
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def add_deploy_env deploy_env
|
||||||
|
Devops::Db.connector.add_deploy_env_to_project self.id, deploy_env
|
||||||
|
end
|
||||||
|
|
||||||
def add_authorized_user user, env=nil
|
def add_authorized_user user, env=nil
|
||||||
return if user.nil?
|
return if user.nil?
|
||||||
new_users = ( user.is_a?(Array) ? user : [ user ] )
|
new_users = ( user.is_a?(Array) ? user : [ user ] )
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user