ADD check cloud account

This commit is contained in:
Jasder 2020-09-23 16:22:18 +08:00
parent 27da6d9904
commit 7435d96eed
2 changed files with 17 additions and 4 deletions

View File

@ -12,10 +12,8 @@ class Ci::CloudAccountsController < Ci::BaseController
end
def create
return render_error('你已绑定了云帐号.') unless current_user.ci_cloud_account.blank?
ip_num = IPAddr.new(devops_params[:ip_num]).to_i
return render_error("#{devops_params[:ip_num]}服务器已被使用.") if Ci::CloudAccount.exists?(ip_num: ip_num)
flag, msg = check_bind_cloud_account!
return render_error(msg) if flag === true
ActiveRecord::Base.transaction do
@cloud_account = bind_account!
@ -56,10 +54,17 @@ class Ci::CloudAccountsController < Ci::BaseController
end
end
def unactivate
end
def show
end
def bind
flag, msg = check_bind_cloud_account!
return render_error(msg) if flag === true
ActiveRecord::Base.transaction do
@cloud_account = bind_account!
if @cloud_account.blank?

View File

@ -91,6 +91,14 @@ module Ci::CloudAccountManageable
result[:status].present? ? nil : result
end
def check_bind_cloud_account!
return [true, "你已经绑定了云帐号."] unless current_user.ci_cloud_account.blank?
ip_num = IPAddr.new(devops_params[:ip_num]).to_i
Ci::CloudAccount.exists?(ip_num: ip_num) ? [true, "#{devops_params[:ip_num]}服务器已被使用."] : [false, nil]
end
private
def devops_params
params.permit(:account, :secret, :ip_num)