lib/doorkeeper/orm/active_record/application.rb
module Doorkeeper class Application < ActiveRecord::Base self.table_name = "#{table_name_prefix}oauth_applications#{table_name_suffix}".to_sym include ApplicationMixin has_many :authorized_tokens, -> { where(revoked_at: nil) }, class_name: 'AccessToken' has_many :authorized_applications, through: :authorized_tokens, source: :application # Returns Applications associated with active (not revoked) Access Tokens # that are owned by the specific Resource Owner. # # @param resource_owner [ActiveRecord::Base] # Resource Owner model instance # # @return [ActiveRecord::Relation] # Applications authorized for the Resource Owner # def self.authorized_for(resource_owner) resource_access_tokens = AccessToken.active_for(resource_owner) where(id: resource_access_tokens.select(:application_id).distinct) end end end