|
- # == 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
|