eBooru/app/models/user_password_reset_nonce.rb

28 lines
594 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class UserPasswordResetNonce < ApplicationRecord
2018-05-15 17:19:45 -04:00
has_secure_token :key
2011-07-17 16:42:26 -04:00
after_create :deliver_notice
belongs_to :user
2011-07-17 16:42:26 -04:00
2011-09-18 17:08:17 -04:00
def self.prune!
where("created_at < ?", 2.days.ago).destroy_all
2011-09-18 17:08:17 -04:00
end
2011-07-17 16:42:26 -04:00
def deliver_notice
if user.email.present?
Maintenance::User::PasswordResetMailer.reset_request(user, self).deliver_now
2011-07-17 16:42:26 -04:00
end
end
2013-03-19 08:10:10 -04:00
def reset_user!(pass, confirm)
return false if !ActiveSupport::SecurityUtils.secure_compare(pass, confirm)
user.upgrade_password(pass)
true
2011-07-17 16:42:26 -04:00
end
2013-03-19 08:10:10 -04:00
def expired?
created_at < 24.hours.ago
2011-07-17 16:42:26 -04:00
end
end