From 81ec2644834fc11f0a6b4a78a54a03fbfab45e9e Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 4 Sep 2020 17:26:37 +0800 Subject: [PATCH] Update destroy ci_user attassion --- README.md | 4 +++- app/controllers/ci/cloud_accounts_controller.rb | 13 +++++++------ app/views/ci/cloud_accounts/show.json.jbuilder | 1 + 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 61970b40f..aa7cd1569 100644 --- a/README.md +++ b/README.md @@ -3124,7 +3124,8 @@ http://localhost:3000/api/users/ci/cloud_account | jq |参数名|类型|说明| |-|-|-| -|step |int|0: 未绑定;1: 未认证(已绑定),2: 已认证| +|step |int|0: 未绑定;1: 未认证(已绑定)| +|devops_certification |boolean|true: 已认证, false: 未认证| |ip |string|ci服务器ip| |redirect_url |string|认证地址| @@ -3132,6 +3133,7 @@ http://localhost:3000/api/users/ci/cloud_account | jq ```json { "step": 0, + "devops_certification": false, "cloud_account": { "ip": "xxx.xxx.xxx.x", "redirect_url": "http://localhost:3000/login", diff --git a/app/controllers/ci/cloud_accounts_controller.rb b/app/controllers/ci/cloud_accounts_controller.rb index 8f21978c7..ffb4c9997 100644 --- a/app/controllers/ci/cloud_accounts_controller.rb +++ b/app/controllers/ci/cloud_accounts_controller.rb @@ -125,15 +125,16 @@ class Ci::CloudAccountsController < Ci::BaseController def unbind_account!(user) cloud_account = user.ci_cloud_account - case user.devops_step - when User::DEVOPS_UNINIT, cloud_account.blank? + ci_user = cloud_account.ci_user + + if user.devops_step == User::DEVOPS_UNINIT || cloud_account.blank? return render_error('你未绑定CI服务器') - when User::DEVOPS_UNVERIFIED - cloud_account.destroy! - when User::DEVOPS_CERTIFICATION - cloud_account.ci_user.destroy! + elsif user.devops_step == User::DEVOPS_UNVERIFIED || user.ci_certification? + ci_user.destroy! if ci_user Ci::Repo.where(repo_namespace: user.login).delete_all + cloud_account.destroy! end + user.projects.update_all(open_devops: false) user.set_drone_step!(User::DEVOPS_UNINIT) diff --git a/app/views/ci/cloud_accounts/show.json.jbuilder b/app/views/ci/cloud_accounts/show.json.jbuilder index 230f4672f..28c68570b 100644 --- a/app/views/ci/cloud_accounts/show.json.jbuilder +++ b/app/views/ci/cloud_accounts/show.json.jbuilder @@ -1,4 +1,5 @@ json.step current_user.devops_step +json.devops_certification current_user.ci_certification? json.cloud_account do if @cloud_account && !current_user.devops_uninit? json.ip @cloud_account.drone_ip