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