project delete hooks
This commit is contained in:
parent
f5c3662b3d
commit
2125065b96
@ -16,6 +16,9 @@ module Devops
|
|||||||
define_hook :before_create
|
define_hook :before_create
|
||||||
define_hook :after_create
|
define_hook :after_create
|
||||||
|
|
||||||
|
define_hook :before_delete
|
||||||
|
define_hook :after_delete
|
||||||
|
|
||||||
attr_accessor :id, :deploy_envs, :type, :archived, :description
|
attr_accessor :id, :deploy_envs, :type, :archived, :description
|
||||||
|
|
||||||
types :id => {:type => String, :empty => false},
|
types :id => {:type => String, :empty => false},
|
||||||
@ -145,6 +148,22 @@ module Devops
|
|||||||
self.type == MULTI_TYPE
|
self.type == MULTI_TYPE
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
res = {}
|
||||||
|
res[:before] = self.run_hook :before_create
|
||||||
|
Devops::Db.connector.project_insert self
|
||||||
|
res[:after] = self.run_hook :after_create
|
||||||
|
res
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete
|
||||||
|
res = {}
|
||||||
|
res[:before] = self.run_hook :before_delete
|
||||||
|
Devops::Db.connector.project_delete self.id
|
||||||
|
res[:after] = self.run_hook :after_delete
|
||||||
|
res
|
||||||
|
end
|
||||||
|
|
||||||
def self.build_from_bson p
|
def self.build_from_bson p
|
||||||
p["name"] = p["_id"]
|
p["name"] = p["_id"]
|
||||||
Project.new p
|
Project.new p
|
||||||
|
|||||||
@ -51,9 +51,8 @@ module Devops
|
|||||||
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)
|
||||||
p = Devops::Model::Project.new(body)
|
p = Devops::Model::Project.new(body)
|
||||||
halt_response("Project '#{p.id}' already exist") if settings.mongo.is_project_exists?(p)
|
halt_response("Project '#{p.id}' already exist") if settings.mongo.is_project_exists?(p)
|
||||||
puts "USER: #{request.env['REMOTE_USER']}"
|
|
||||||
p.add_authorized_user [request.env['REMOTE_USER']]
|
p.add_authorized_user [request.env['REMOTE_USER']]
|
||||||
settings.mongo.project_insert p
|
p.create
|
||||||
roles_res = ""
|
roles_res = ""
|
||||||
if p.multi?
|
if p.multi?
|
||||||
logger.info "Project '#{p.id}' with type 'multi' created"
|
logger.info "Project '#{p.id}' with type 'multi' created"
|
||||||
@ -133,11 +132,12 @@ module Devops
|
|||||||
deploy_env = unless body.nil?
|
deploy_env = unless body.nil?
|
||||||
check_string(body["deploy_env"], "Parameter 'deploy_env' should be a not empty string", true)
|
check_string(body["deploy_env"], "Parameter 'deploy_env' should be a not empty string", true)
|
||||||
end
|
end
|
||||||
|
project = settings.mongo.project(params[:project])
|
||||||
info = if deploy_env.nil?
|
info = if deploy_env.nil?
|
||||||
|
project.delete
|
||||||
settings.mongo.project_delete(params[:project])
|
settings.mongo.project_delete(params[:project])
|
||||||
"Project '#{params[:project]}' is deleted"
|
"Project '#{params[:project]}' is deleted"
|
||||||
else
|
else
|
||||||
project = settings.mongo.project(params[:project])
|
|
||||||
project.remove_env deploy_env
|
project.remove_env deploy_env
|
||||||
settings.mongo.project_update project
|
settings.mongo.project_update project
|
||||||
"Project '#{params[:project]}'. Deploy environment '#{deploy_env}' has been deleted"
|
"Project '#{params[:project]}'. Deploy environment '#{deploy_env}' has been deleted"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user