#743: fixed
This commit is contained in:
parent
c98b418552
commit
8598c98a92
@ -119,12 +119,9 @@ module Devops
|
|||||||
def update_project_users id
|
def update_project_users id
|
||||||
deploy_env, users = parser.project_users
|
deploy_env, users = parser.project_users
|
||||||
project = Devops::Db.connector.project(id)
|
project = Devops::Db.connector.project(id)
|
||||||
dbusers = Devops::Db.connector.users(users).map{|u| u.id}
|
Validators::Helpers::Users.new(run_list).validate!
|
||||||
buf = dbusers - users
|
|
||||||
project.add_authorized_user users, deploy_env
|
project.add_authorized_user users, deploy_env
|
||||||
Devops::Db.connector.project_update(project)
|
info = "Users '#{users.join("', '")}' has been added to '#{id}' project's authorized users."
|
||||||
info = "Users '#{dbusers.join("', '")}' has been added to '#{id}' project's authorized users"
|
|
||||||
info << ", invalid users: '#{buf.join("', '")}'" unless buf.empty?
|
|
||||||
info
|
info
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -133,7 +130,6 @@ module Devops
|
|||||||
deploy_env, users = parser.project_users
|
deploy_env, users = parser.project_users
|
||||||
project = Devops::Db.connector.project(id)
|
project = Devops::Db.connector.project(id)
|
||||||
project.remove_authorized_user users, deploy_env
|
project.remove_authorized_user users, deploy_env
|
||||||
Devops::Db.connector.project_update project
|
|
||||||
"Users '#{users.join("', '")}' have been removed from '#{id}' project's authorized users"
|
"Users '#{users.join("', '")}' have been removed from '#{id}' project's authorized users"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -97,9 +97,13 @@ module Connectors
|
|||||||
project
|
project
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_project_deploy_env_field(project_id, env, field, value)
|
||||||
|
@collection.update({"_id" => project_id, "deploy_envs.identifier" => env}, {"$set" => {"deploy_envs.$.#{field}" => value}})
|
||||||
|
end
|
||||||
|
|
||||||
def set_project_env_run_list(project_id, env, run_list)
|
def set_project_env_run_list(project_id, env, run_list)
|
||||||
Helpers::RunList.new(run_list).validate!
|
Helpers::RunList.new(run_list).validate!
|
||||||
@collection.update({"_id" => project_id, "deploy_envs.identifier" => env}, {"$set" => {"deploy_envs.$.run_list" => run_list}})
|
set_project_deploy_env_field(project_id, env, "run_list", run_list)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_project_run_list(project_id, env, run_list)
|
def set_project_run_list(project_id, env, run_list)
|
||||||
|
|||||||
@ -73,11 +73,13 @@ module Devops
|
|||||||
self.deploy_envs.each do |e|
|
self.deploy_envs.each do |e|
|
||||||
return unless e.users.is_a?(Array)
|
return unless e.users.is_a?(Array)
|
||||||
e.users = (e.users + new_users).uniq
|
e.users = (e.users + new_users).uniq
|
||||||
|
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
e = self.deploy_env(env)
|
e = self.deploy_env(env)
|
||||||
return unless e.users.is_a?(Array)
|
return unless e.users.is_a?(Array)
|
||||||
e.users = (e.users + new_users).uniq
|
e.users = (e.users + new_users).uniq
|
||||||
|
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -88,11 +90,13 @@ module Devops
|
|||||||
self.deploy_envs.each do |e|
|
self.deploy_envs.each do |e|
|
||||||
return unless e.users.is_a?(Array)
|
return unless e.users.is_a?(Array)
|
||||||
e.users = e.users - users
|
e.users = e.users - users
|
||||||
|
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
e = self.deploy_env(env)
|
e = self.deploy_env(env)
|
||||||
return unless e.users.is_a?(Array)
|
return unless e.users.is_a?(Array)
|
||||||
e.users = e.users - users
|
e.users = e.users - users
|
||||||
|
Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ class MongoConnector
|
|||||||
[:available_images, :add_available_images, :delete_available_images] => :filters_connector,
|
[:available_images, :add_available_images, :delete_available_images] => :filters_connector,
|
||||||
[:project, :projects_all, :projects, :project_names_with_envs,
|
[:project, :projects_all, :projects, :project_names_with_envs,
|
||||||
:projects_by_image, :projects_by_user, :project_insert, :project_update,
|
:projects_by_image, :projects_by_user, :project_insert, :project_update,
|
||||||
:project_delete, :is_project_exists?, :check_project_auth, :set_project_run_list, :set_project_env_run_list, :add_deploy_env_to_project, :remove_deploy_env_from_project, :project_update_field] => :projects_connector,
|
:project_delete, :is_project_exists?, :check_project_auth, :set_project_run_list, :set_project_deploy_env_field, :set_project_env_run_list, :add_deploy_env_to_project, :remove_deploy_env_from_project, :project_update_field] => :projects_connector,
|
||||||
[:project_templates, :project_template_insert, :project_template_update,
|
[:project_templates, :project_template_insert, :project_template_update,
|
||||||
:project_template_delete] => :projects_templates_connector,
|
:project_template_delete] => :projects_templates_connector,
|
||||||
[:servers_find, :servers, :stack_servers, :servers_by_names, :server_by_instance_id,
|
[:servers_find, :servers, :stack_servers, :servers_by_names, :server_by_instance_id,
|
||||||
|
|||||||
@ -1,14 +1,5 @@
|
|||||||
module Validators
|
module Validators
|
||||||
class DeployEnv::Users < Base
|
class DeployEnv::Users < Base
|
||||||
|
delegate_to_helper_validator { Helpers::Users.new(@model.users) }
|
||||||
def valid?
|
|
||||||
mongo_users = ::Devops::Db.connector.users_names(@model.users)
|
|
||||||
@nonexistent_users = @model.users - mongo_users
|
|
||||||
@nonexistent_users.empty?
|
|
||||||
end
|
|
||||||
|
|
||||||
def message
|
|
||||||
Devops::Messages.t("project.deploy_env.validation.users.not_exist", users: @nonexistent_users.join("', '"))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
14
devops-service/db/validators/helpers/users.rb
Normal file
14
devops-service/db/validators/helpers/users.rb
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
module Validators
|
||||||
|
class Helpers::Users < Base
|
||||||
|
|
||||||
|
def valid?
|
||||||
|
mongo_users = ::Devops::Db.connector.users_names(@model)
|
||||||
|
@nonexistent_users = @model - mongo_users
|
||||||
|
@nonexistent_users.empty?
|
||||||
|
end
|
||||||
|
|
||||||
|
def message
|
||||||
|
Devops::Messages.t("project.deploy_env.validation.users.not_exist", users: @nonexistent_users.join("', '"))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue
Block a user