|
- # == Schema Information
- #
- # Table name: trace_users
- #
- # id :integer not null, primary key
- # user_id :integer
- # username :string(255)
- # password :string(255)
- # unit :string(255)
- # telnumber :string(255)
- # email :string(255)
- # name :string(255)
- # token :text(65535)
- # expired_at :datetime
- # created_at :datetime not null
- # updated_at :datetime not null
- #
- # Indexes
- #
- # index_trace_users_on_user_id (user_id)
- #
-
- # 代码溯源 用户
- class TraceUser < ApplicationRecord
-
- belongs_to :user
-
-
- def build_self_data
- return if user.nil?
-
- self.username = user.login
- self.password = SecureRandom.hex
- self.unit = user.custom_department.blank? ? 'GitLink' : user.custom_department
- self.telnumber = user.phone || ""
- self.email = user.mail
- self.name = user.nickname.blank? ? user.login : user.nickname
-
- self
- end
-
-
- def build_token
- return if username.blank? || password.blank? || unit.blank? || email.blank? || name.blank?
-
- response1 = Trace::AddUserService.call(username, password, unit, telnumber, email, name)
- response2 = Trace::LoginService.call(username, password)
- self.token = response2[1]['token']
- self.expired_at = Time.now + 1.hours
- end
-
- def refresh_token
- return if username.blank? || password.blank? || unit.blank? || email.blank? || name.blank?
-
- response = Trace::LoginService.call(username, password)
- self.token = response[1]['token']
- self.expired_at = Time.now + 1.hours
- end
- end
|