mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-28 01:56:01 -05:00
23 lines
504 B
Ruby
23 lines
504 B
Ruby
|
class ApiKey < ActiveRecord::Base
|
||
|
belongs_to :user
|
||
|
belongs_to :created_by, class_name: User
|
||
|
|
||
|
validates_presence_of :key
|
||
|
validates_uniqueness_of :user_id
|
||
|
|
||
|
def regenerate!(updated_by)
|
||
|
self.key = SecureRandom.hex(32)
|
||
|
self.created_by = updated_by
|
||
|
save!
|
||
|
end
|
||
|
|
||
|
def self.create_master_key
|
||
|
api_key = ApiKey.where('user_id IS NULL').first
|
||
|
if api_key.blank?
|
||
|
api_key = ApiKey.create(key: SecureRandom.hex(32), created_by: Discourse.system_user)
|
||
|
end
|
||
|
api_key
|
||
|
end
|
||
|
|
||
|
end
|