diff --git a/devops-service/app/api2/handlers/project.rb b/devops-service/app/api2/handlers/project.rb index 591df96..5b52990 100644 --- a/devops-service/app/api2/handlers/project.rb +++ b/devops-service/app/api2/handlers/project.rb @@ -79,6 +79,7 @@ module Devops def add_or_update_deploy_env id, deploy_env project = Devops::Db.connector.project(id) env = parser.add_or_update_deploy_env + env.identifier = deploy_env if env.identifier.nil? begin db_env = project.deploy_env(deploy_env) unless env.identifier == deploy_env @@ -90,6 +91,7 @@ module Devops raise InvalidRecord.new("Can not change environment '#{deploy_env}' to '#{env.identifier}', environment '#{env.identifier}' already exist") unless deploy_env == env.identifier rescue RecordNotFound => e end + env.validate! project.delete_deploy_env(deploy_env) project.add_deploy_env(env) "Deploy environment '#{deploy_env}' has been updated in project '#{project.id}'" diff --git a/devops-service/db/mongo/connectors/project.rb b/devops-service/db/mongo/connectors/project.rb index fa453c6..d601584 100644 --- a/devops-service/db/mongo/connectors/project.rb +++ b/devops-service/db/mongo/connectors/project.rb @@ -108,7 +108,6 @@ module Connectors end def add_deploy_env_to_project id, env - env.validate! @collection.update({"_id" => id}, {'$push' => {deploy_envs: env.to_hash} }) end