Sha256: 892d446f1899fc778544efe8ba0f10bf227c49972857156ee05004933ef397d7

Contents?: true

Size: 1.59 KB

Versions: 12

Compression:

Stored size: 1.59 KB

Contents

module BridgeCache
  class CourseTemplate < BridgeBaseModel
    extend BridgeCache::Data::BridgeModel

    belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
    belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
    belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
    has_many :enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Enrollment.name
    has_many :group_enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::GroupEnrollment.name
    has_many :affiliated_sub_accounts, primary_key: BridgeCache.primary_key, class_name: BridgeCache::AffiliatedSubAccount.name, as: :item
    has_many :domains, through: :affiliated_sub_accounts
    belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
    has_many :enrollment_profiles, as: :enrollable, primary_key: BridgeCache.primary_key, class_name: BridgeCache::EnrollmentProfile.name

    def self.for_domain(domain_id)
      includes(:domains)
        .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_course_templates.sub_account_id = ?', domain_id, domain_id)
        .references(:domains)
    end

    def self.unique_column_names
      %w[bridge_id sub_account_id]
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
bridge_cache-0.3.19 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.17 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.16 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.15 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.14 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.13 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.12 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.11 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.10 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.9 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.8 app/models/bridge_cache/course_template.rb
bridge_cache-0.3.7 app/models/bridge_cache/course_template.rb