2024-02-02 09:05:04 -06:00
|
|
|
class User < ApplicationRecord
|
|
|
|
has_secure_password
|
2024-02-02 16:06:55 +00:00
|
|
|
|
2024-02-02 09:05:04 -06:00
|
|
|
belongs_to :family
|
2024-02-05 22:19:23 +08:00
|
|
|
accepts_nested_attributes_for :family
|
2024-02-02 09:05:04 -06:00
|
|
|
|
|
|
|
validates :email, presence: true, uniqueness: true
|
2024-02-02 16:06:55 +00:00
|
|
|
normalizes :email, with: ->(email) { email.strip.downcase }
|
2024-02-02 09:05:04 -06:00
|
|
|
|
|
|
|
generates_token_for :password_reset, expires_in: 15.minutes do
|
|
|
|
password_salt&.last(10)
|
|
|
|
end
|
2024-04-13 09:28:45 -04:00
|
|
|
|
|
|
|
def acknowledge_upgrade_prompt(commit_sha)
|
|
|
|
update!(last_prompted_upgrade_commit_sha: commit_sha)
|
|
|
|
end
|
|
|
|
|
|
|
|
def acknowledge_upgrade_alert(commit_sha)
|
|
|
|
update!(last_alerted_upgrade_commit_sha: commit_sha)
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_seen_upgrade_prompt?(upgrade)
|
|
|
|
last_prompted_upgrade_commit_sha == upgrade.commit_sha
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_seen_upgrade_alert?(upgrade)
|
|
|
|
last_alerted_upgrade_commit_sha == upgrade.commit_sha
|
|
|
|
end
|
2024-02-02 09:05:04 -06:00
|
|
|
end
|