X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0a8c26e596b40da6d428a5c91db0d815d13c89e4..ee4c34172f0a0145344525962cc5411a7f260ff5:/app/models/user_token.rb?ds=inline diff --git a/app/models/user_token.rb b/app/models/user_token.rb index a795de034..fbd276a6f 100644 --- a/app/models/user_token.rb +++ b/app/models/user_token.rb @@ -1,8 +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 - def after_initialize - self.token = OSM::make_token() if self.token.blank? - self.expiry = 1.week.from_now if self.expiry.blank? + scope :unexpired, -> { where("expiry >= now()") } + + after_initialize :set_defaults + + def expired? + expiry < Time.now.utc + end + + private + + def set_defaults + self.token = OSM.make_token if token.blank? + self.expiry = 1.week.from_now if expiry.blank? end end