about summary refs log blame commit diff
path: root/app/controllers/concerns/access_token_tracking_concern.rb
blob: cf60cfb995ba4995420f62300a60e7374207a886 (plain) (tree)



















                                                                                                                                          
# frozen_string_literal: true

module AccessTokenTrackingConcern
  extend ActiveSupport::Concern

  ACCESS_TOKEN_UPDATE_FREQUENCY = 24.hours.freeze

  included do
    before_action :update_access_token_last_used
  end

  private

  def update_access_token_last_used
    doorkeeper_token.update_last_used(request) if access_token_needs_update?
  end

  def access_token_needs_update?
    doorkeeper_token.present? && (doorkeeper_token.last_used_at.nil? || doorkeeper_token.last_used_at < ACCESS_TOKEN_UPDATE_FREQUENCY.ago)
  end
end