]> git.openstreetmap.org Git - rails.git/blob - app/models/user_token.rb
Merge remote-tracking branch 'upstream/pull/4272'
[rails.git] / app / models / user_token.rb
1 # == Schema Information
2 #
3 # Table name: user_tokens
4 #
5 #  id      :bigint(8)        not null, primary key
6 #  user_id :bigint(8)        not null
7 #  token   :string           not null
8 #  expiry  :datetime         not null
9 #  referer :text
10 #
11 # Indexes
12 #
13 #  user_tokens_token_idx    (token) UNIQUE
14 #  user_tokens_user_id_idx  (user_id)
15 #
16 # Foreign Keys
17 #
18 #  user_tokens_user_id_fkey  (user_id => users.id)
19 #
20
21 class UserToken < ApplicationRecord
22   belongs_to :user
23
24   scope :unexpired, -> { where("expiry >= now()") }
25
26   after_initialize :set_defaults
27
28   def expired?
29     expiry < Time.now.utc
30   end
31
32   private
33
34   def set_defaults
35     self.token = OSM.make_token if token.blank?
36     self.expiry = 1.week.from_now if expiry.blank?
37   end
38 end