Sha256: bcfdf52ba6f99cb9580cde34c263bf30930e998b1ca56f062eb47dae2c79ee1a

Contents?: true

Size: 943 Bytes

Versions: 14

Compression:

Stored size: 943 Bytes

Contents

module CanvasOauth
  class Authorization < ActiveRecord::Base
    validates :canvas_user_id, :token, :last_used_at, presence: true

    def self.cache_token(token, user_id, tool_consumer_instance_guid)
      create do |t|
        t.token = token
        t.canvas_user_id = user_id
        t.tool_consumer_instance_guid = tool_consumer_instance_guid
        t.last_used_at = Time.now
      end
    end

    def self.fetch_token(user_id, tool_consumer_instance_guid)
      user_tokens = where(canvas_user_id: user_id, tool_consumer_instance_guid: tool_consumer_instance_guid).order("created_at DESC")
      if canvas_auth = user_tokens.first
        canvas_auth.update_attribute(:last_used_at, Time.now)
        return canvas_auth.token
      end
    end

    def self.clear_tokens(user_id, tool_consumer_instance_guid)
      where(canvas_user_id: user_id, tool_consumer_instance_guid: tool_consumer_instance_guid).destroy_all
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
canvas_oauth_engine-2.4.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.3.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.2.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.1.3 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.1.2 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.1.1 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.1.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-2.0.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.1.2 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.1.1 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.1.0 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.0.4 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.0.3 app/models/canvas_oauth/authorization.rb
canvas_oauth_engine-1.0.2 app/models/canvas_oauth/authorization.rb