]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/user_token.rb
Merge pull request #4535 from tomhughes/rails-tokens
[rails.git] / app / models / user_token.rb
index dda19118702726214d0cc4f5b2830cbb6e6fd615..fbd276a6f32d3c70cef8b4ead629e4a377369722 100644 (file)
@@ -1,12 +1,38 @@
-class UserToken < ActiveRecord::Base
+# == Schema Information
+#
+# Table name: user_tokens
+#
+#  id      :bigint(8)        not null, primary key
+#  user_id :bigint(8)        not null
+#  token   :string           not null
+#  expiry  :datetime         not null
+#  referer :text
+#
+# Indexes
+#
+#  user_tokens_token_idx    (token) UNIQUE
+#  user_tokens_user_id_idx  (user_id)
+#
+# Foreign Keys
+#
+#  user_tokens_user_id_fkey  (user_id => users.id)
+#
+
+class UserToken < ApplicationRecord
   belongs_to :user
 
   belongs_to :user
 
+  scope :unexpired, -> { where("expiry >= now()") }
+
   after_initialize :set_defaults
 
   after_initialize :set_defaults
 
-private
+  def expired?
+    expiry < Time.now.utc
+  end
+
+  private
 
   def set_defaults
 
   def set_defaults
-    self.token = OSM::make_token() if self.token.blank?
-    self.expiry = 1.week.from_now if self.expiry.blank?
+    self.token = OSM.make_token if token.blank?
+    self.expiry = 1.week.from_now if expiry.blank?
   end
 end
   end
 end