forgeplus/app/models/ci/cloud_account.rb

53 lines
1.1 KiB
Ruby
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# == Schema Information
#
# Table name: ci_cloud_accounts
#
# id :integer not null, primary key
# user_id :integer not null
# ip_num :integer
# account :string(255)
# secret :string(255)
# created_at :datetime not null
# updated_at :datetime not null
# ci_user_id :integer
# server_type :integer default("0")
#
# Indexes
#
# dev_ops_cloud_accounts_p_u_ip (user_id,ip_num)
#
class Ci::CloudAccount < Ci::LocalBase
belongs_to :user
belongs_to :ci_user, class_name: 'Ci::User', foreign_key: :ci_user_id, optional: true
# server_type column: 0: 自有服务器1: trustie提供服务器
SERVER_TYPE_SELF = 0
SERVER_TYPE_TRUSTIE = 1
def drone_host
[drone_ip, ":80"].join
end
def drone_ip
IPAddr.new(self.ip_num, Socket::AF_INET).to_s
end
def drone_url
["http://", self.drone_host].join
end
def visible_secret
Base64.decode64(secret)
end
def self.encrypted_secret(str)
Base64.encode64(str.strip).gsub(/\n/, '')
end
def authenticate_url
[drone_url, '/login'].join
end
end