diff --git a/devops-service/db/mongo/models/project.rb b/devops-service/db/mongo/models/project.rb index 3e68952..9f0f568 100644 --- a/devops-service/db/mongo/models/project.rb +++ b/devops-service/db/mongo/models/project.rb @@ -39,7 +39,7 @@ module Devops def initialize p={} self.id = p["name"] - #raise InvalidRecord.new "No deploy envirenments for project #{self.id}" if p["deploy_envs"].nil? or p["deploy_envs"].empty? + #raise InvalidRecord.new "No deploy environments for project #{self.id}" if p["deploy_envs"].nil? or p["deploy_envs"].empty? self.type = p["type"] || Devops::GenericType.name self.description = p["description"] self.archived = p["archived"] || false @@ -73,34 +73,20 @@ module Devops def add_authorized_user user, env=nil return if user.nil? new_users = ( user.is_a?(Array) ? user : [ user ] ) - if env.nil? - self.deploy_envs.each do |e| - return unless e.users.is_a?(Array) - e.add_users new_users - Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users) - end - else - e = self.deploy_env(env) - return unless e.users.is_a?(Array) + environments = env.nil? ? self.deploy_envs : [ self.deploy_env(env) ] + environments .each do |e| e.add_users new_users - Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users) + Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, {users: e.users}) end end def remove_authorized_user user, env=nil return if user.nil? users = ( user.is_a?(Array) ? user : [ user ] ) - if env.nil? - self.deploy_envs.each do |e| - return unless e.users.is_a?(Array) - e.users = e.users - users - Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users) - end - else - e = self.deploy_env(env) - return unless e.users.is_a?(Array) + environments = env.nil? ? self.deploy_envs : [ self.deploy_env(env) ] + environments.each do |e| e.users = e.users - users - Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, "users", e.users) + Devops::Db.connector.set_project_deploy_env_field(self.id, e.identifier, {users: e.users}) end end