bridge_cache 0.3.14 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/lib/bridge_cache/data/bridge_model.rb +76 -68
  4. data/app/lib/bridge_cache/jobs/cleanup_job.rb +6 -4
  5. data/app/lib/bridge_cache/jobs/import_check.rb +32 -16
  6. data/app/lib/bridge_cache/jobs/import_data.rb +24 -17
  7. data/app/lib/bridge_cache/jobs/import_row.rb +7 -5
  8. data/app/lib/bridge_cache/jobs/import_start.rb +13 -13
  9. data/app/lib/bridge_cache/plugins/csv_dump.rb +89 -79
  10. data/app/lib/bridge_cache/plugins/data_transform.rb +18 -13
  11. data/app/lib/bridge_cache/utils/worker_helper.rb +9 -6
  12. data/app/lib/bridge_cache/webhooks/message.rb +13 -11
  13. data/app/lib/bridge_cache/webhooks/request.rb +10 -8
  14. data/app/models/bridge_cache/affiliated_sub_account.rb +12 -7
  15. data/app/models/bridge_cache/course_template.rb +21 -9
  16. data/app/models/bridge_cache/custom_field.rb +4 -2
  17. data/app/models/bridge_cache/domain.rb +14 -7
  18. data/app/models/bridge_cache/enrollment.rb +4 -2
  19. data/app/models/bridge_cache/enrollment_profile.rb +4 -4
  20. data/app/models/bridge_cache/grant.rb +4 -2
  21. data/app/models/bridge_cache/group.rb +10 -5
  22. data/app/models/bridge_cache/group_enrollment.rb +5 -3
  23. data/app/models/bridge_cache/host.rb +3 -2
  24. data/app/models/bridge_cache/learner_custom_field_value.rb +4 -2
  25. data/app/models/bridge_cache/live_course.rb +15 -6
  26. data/app/models/bridge_cache/live_course_enrollment.rb +8 -4
  27. data/app/models/bridge_cache/live_course_session.rb +9 -4
  28. data/app/models/bridge_cache/live_course_session_registration.rb +9 -5
  29. data/app/models/bridge_cache/membership.rb +5 -3
  30. data/app/models/bridge_cache/program.rb +17 -7
  31. data/app/models/bridge_cache/program_enrollment.rb +4 -2
  32. data/app/models/bridge_cache/program_group_enrollment.rb +4 -2
  33. data/app/models/bridge_cache/program_item.rb +2 -1
  34. data/app/models/bridge_cache/tag.rb +3 -2
  35. data/app/models/bridge_cache/tagging.rb +5 -3
  36. data/app/models/bridge_cache/user.rb +20 -10
  37. data/app/models/bridge_cache/user_course_visit.rb +6 -3
  38. data/db/migrate/20170517203244_create_bridge_cache_domains.rb +1 -0
  39. data/db/migrate/20170517203328_create_bridge_cache_users.rb +1 -0
  40. data/db/migrate/20170517203421_create_bridge_cache_programs.rb +1 -0
  41. data/db/migrate/20170517204055_create_bridge_cache_custom_fields.rb +1 -0
  42. data/db/migrate/20170517204248_create_bridge_cache_grants.rb +1 -0
  43. data/db/migrate/20170518211404_create_bridge_cache_enrollments.rb +1 -0
  44. data/db/migrate/20170518211627_create_bridge_cache_groups.rb +1 -0
  45. data/db/migrate/20170518211703_create_bridge_cache_program_items.rb +1 -0
  46. data/db/migrate/20170518211714_create_bridge_cache_program_enrollments.rb +1 -0
  47. data/db/migrate/20170518211736_create_bridge_cache_program_group_enrollments.rb +1 -0
  48. data/db/migrate/20170518211748_create_bridge_cache_tags.rb +1 -0
  49. data/db/migrate/20170518211754_create_bridge_cache_taggings.rb +1 -0
  50. data/db/migrate/20170518211817_create_bridge_cache_course_templates.rb +1 -0
  51. data/db/migrate/20170523164248_create_bridge_cache_group_enrollments.rb +1 -0
  52. data/db/migrate/20170523165014_create_bridge_cache_memberships.rb +1 -0
  53. data/db/migrate/20170615145554_create_bridge_cache_learner_custom_field_values.rb +1 -0
  54. data/db/migrate/20171017211850_create_affiliated_sub_accounts.rb +1 -0
  55. data/db/migrate/20171019195443_create_live_courses.rb +1 -0
  56. data/db/migrate/20171019195503_create_live_course_enrollments.rb +1 -0
  57. data/db/migrate/20171019195512_create_live_course_session_registrations.rb +1 -0
  58. data/db/migrate/20171019195516_create_live_course_sessions.rb +1 -0
  59. data/db/migrate/20171031165231_add_indexes.rb +5 -2
  60. data/db/migrate/20180316205458_create_bridge_cache_enrollment_profiles.rb +1 -0
  61. data/db/migrate/20180320190443_add_index_to_enrollment_profile.rb +1 -0
  62. data/db/migrate/20180406204906_add_uniq_constraints.rb +43 -21
  63. data/db/migrate/20180801162929_create_bridge_cache_hosts.rb +1 -0
  64. data/db/migrate/20180925210056_add_bridge_timestamps_to_bridge_models.rb +2 -0
  65. data/db/migrate/20190801163930_create_user_course_visits.rb +3 -1
  66. data/db/migrate/20200717142423_add_hris_id_to_bridge_cache_users.rb +7 -0
  67. data/db/migrate/20201102153622_change_external_course_id_to_string.rb +5 -0
  68. data/lib/bridge_cache.rb +1 -0
  69. data/lib/bridge_cache/version.rb +1 -1
  70. metadata +23 -13
@@ -1,18 +1,23 @@
1
- module BridgeCache::Plugins
2
- class DataTransform
3
- def self.set_bridge_id(row)
4
- if row.key?('id')
5
- row['bridge_id'] = row['id'] if row.key?('id')
6
- row.delete('id')
1
+ # rubocop:disable Naming/AccessorMethodName
2
+ module BridgeCache
3
+ module Plugins
4
+ class DataTransform
5
+ def self.set_bridge_id(row)
6
+ if row.key?('id')
7
+ row['bridge_id'] = row['id'] if row.key?('id')
8
+ row.delete('id')
9
+ end
10
+
11
+ row
7
12
  end
8
- row
9
- end
10
13
 
11
- def self.valid_json?(json)
12
- json = JSON.parse(json) unless json.class == Hash
13
- return json
14
- rescue JSON::ParserError => e
15
- return false
14
+ def self.valid_json?(json)
15
+ json = JSON.parse(json) unless json.instance_of?(Hash)
16
+ json
17
+ rescue JSON::ParserError
18
+ false
19
+ end
16
20
  end
17
21
  end
18
22
  end
23
+ # rubocop:enable Naming/AccessorMethodName
@@ -1,9 +1,12 @@
1
- module BridgeCache::Utils
2
- module WorkerHelper
3
- def self.invoke_next(job_chain, params = [])
4
- job_chain ||= []
5
- job = job_chain.shift
6
- if job
1
+ module BridgeCache
2
+ module Utils
3
+ module WorkerHelper
4
+ def self.invoke_next(job_chain, params = [])
5
+ job_chain ||= []
6
+ job = job_chain.shift
7
+
8
+ return unless job
9
+
7
10
  job_class = Object.const_get(job[:job].classify)
8
11
  job_class.perform_later(*job[:params].concat(params))
9
12
  end
@@ -1,17 +1,19 @@
1
- module BridgeCache::Webhooks
2
- class Message
3
- attr_reader :payload
1
+ module BridgeCache
2
+ module Webhooks
3
+ class Message
4
+ attr_reader :payload
4
5
 
5
- def initialize(payload)
6
- @payload = payload
7
- end
6
+ def initialize(payload)
7
+ @payload = payload
8
+ end
8
9
 
9
- def resource_object
10
- @payload[@payload['resource']]
11
- end
10
+ def resource_object
11
+ @payload[@payload['resource']]
12
+ end
12
13
 
13
- def payload_class
14
- "BridgeCache::#{@payload['resource'].camelcase}".constantize
14
+ def payload_class
15
+ "BridgeCache::#{@payload['resource'].camelcase}".constantize
16
+ end
15
17
  end
16
18
  end
17
19
  end
@@ -1,12 +1,14 @@
1
- module BridgeCache::Webhooks
2
- class Request
3
- def initialize(payload)
4
- @payload = payload
5
- end
1
+ module BridgeCache
2
+ module Webhooks
3
+ class Request
4
+ def initialize(payload)
5
+ @payload = payload
6
+ end
6
7
 
7
- def process
8
- message = BridgeCache::Webhooks::Message.new(@payload)
9
- message.payload_class.public_send("webhook_#{@payload['trigger']}".to_sym, message)
8
+ def process
9
+ message = BridgeCache::Webhooks::Message.new(@payload)
10
+ message.payload_class.public_send("webhook_#{@payload['trigger']}".to_sym, message)
11
+ end
10
12
  end
11
13
  end
12
14
  end
@@ -5,20 +5,25 @@ module BridgeCache
5
5
  before_save :fix_item_type
6
6
 
7
7
  belongs_to :item, polymorphic: true, optional: true
8
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
8
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
9
+ class_name: BridgeCache::Domain.name, optional: true
9
10
 
10
11
  private
11
12
 
12
13
  def fix_item_type
13
- self.item_type = "BridgeCache::#{self.item_type}" unless self.item_type&.starts_with?("BridgeCache::")
14
+ self.item_type = "BridgeCache::#{item_type}" unless item_type&.starts_with?('BridgeCache::')
14
15
  end
15
16
 
16
- def self.cleanup(current_row_ids)
17
- BridgeCache::AffiliatedSubAccount.where.not(bridge_id: current_row_ids).destroy_all
18
- end
17
+ class << self
18
+ private
19
+
20
+ def cleanup(current_row_ids)
21
+ BridgeCache::AffiliatedSubAccount.where.not(bridge_id: current_row_ids).destroy_all
22
+ end
19
23
 
20
- def self.unique_column_names
21
- %w[bridge_id domain_id]
24
+ def unique_column_names
25
+ %w[bridge_id domain_id]
26
+ end
22
27
  end
23
28
  end
24
29
  end
@@ -2,19 +2,31 @@ module BridgeCache
2
2
  class CourseTemplate < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
6
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
7
- belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
8
- has_many :enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Enrollment.name
9
- has_many :group_enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::GroupEnrollment.name
10
- has_many :affiliated_sub_accounts, primary_key: BridgeCache.primary_key, class_name: BridgeCache::AffiliatedSubAccount.name, as: :item
5
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
6
+ optional: true
7
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
8
+ class_name: BridgeCache::Domain.name, optional: true
9
+ belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key,
10
+ class_name: BridgeCache::Domain.name, optional: true
11
+ has_many :enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::Enrollment.name
13
+ has_many :group_enrollments, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key,
14
+ class_name: BridgeCache::GroupEnrollment.name
15
+ has_many :affiliated_sub_accounts, primary_key: BridgeCache.primary_key,
16
+ class_name: BridgeCache::AffiliatedSubAccount.name, as: :item
11
17
  has_many :domains, through: :affiliated_sub_accounts
12
- belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
13
- has_many :enrollment_profiles, as: :enrollable, primary_key: BridgeCache.primary_key, class_name: BridgeCache::EnrollmentProfile.name
18
+ belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key,
19
+ class_name: BridgeCache::Domain.name, optional: true
20
+ has_many :enrollment_profiles, as: :enrollable, primary_key: BridgeCache.primary_key,
21
+ class_name: BridgeCache::EnrollmentProfile.name
14
22
 
15
23
  def self.for_domain(domain_id)
16
24
  includes(:domains)
17
- .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_course_templates.sub_account_id = ?', domain_id, domain_id)
25
+ .where(
26
+ 'bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_course_templates.sub_account_id = ?',
27
+ domain_id,
28
+ domain_id
29
+ )
18
30
  .references(:domains)
19
31
  end
20
32
 
@@ -2,8 +2,10 @@ module BridgeCache
2
2
  class CustomField < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
6
- has_many :learner_custom_field_values, primary_key: BridgeCache.primary_key, foreign_key: :custom_field_id, class_name: BridgeCache::LearnerCustomFieldValue.name
5
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
6
+ class_name: BridgeCache::Domain.name, optional: true
7
+ has_many :learner_custom_field_values, primary_key: BridgeCache.primary_key, foreign_key: :custom_field_id,
8
+ class_name: BridgeCache::LearnerCustomFieldValue.name
7
9
 
8
10
  def self.unique_column_names
9
11
  %w[bridge_id domain_id]
@@ -2,15 +2,22 @@ module BridgeCache
2
2
  class Domain < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
- has_many :domain_children, primary_key: BridgeCache.primary_key, foreign_key: PARENT_ID, class_name: BridgeCache::Domain.name
6
- belongs_to :domain_parent, primary_key: BridgeCache.primary_key, foreign_key: PARENT_ID, class_name: BridgeCache::Domain.name, optional: true
5
+ has_many :domain_children, primary_key: BridgeCache.primary_key, foreign_key: PARENT_ID,
6
+ class_name: BridgeCache::Domain.name
7
+ belongs_to :domain_parent, primary_key: BridgeCache.primary_key, foreign_key: PARENT_ID,
8
+ class_name: BridgeCache::Domain.name, optional: true
7
9
 
8
- has_many :domain_ownees, primary_key: BridgeCache.primary_key, foreign_key: OWNER_ID, class_name: BridgeCache::Domain.name
9
- belongs_to :domain_owner, primary_key: BridgeCache.primary_key, foreign_key: OWNER_ID, class_name: BridgeCache::Domain.name, optional: true
10
+ has_many :domain_ownees, primary_key: BridgeCache.primary_key, foreign_key: OWNER_ID,
11
+ class_name: BridgeCache::Domain.name
12
+ belongs_to :domain_owner, primary_key: BridgeCache.primary_key, foreign_key: OWNER_ID,
13
+ class_name: BridgeCache::Domain.name, optional: true
10
14
 
11
- has_many :programs, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID, class_name: BridgeCache::Program.name
12
- has_many :course_templates, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID, class_name: BridgeCache::CourseTemplate.name
13
- has_many :custom_fields, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID, class_name: BridgeCache::CustomField.name
15
+ has_many :programs, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID,
16
+ class_name: BridgeCache::Program.name
17
+ has_many :course_templates, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID,
18
+ class_name: BridgeCache::CourseTemplate.name
19
+ has_many :custom_fields, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID,
20
+ class_name: BridgeCache::CustomField.name
14
21
  has_many :grants, primary_key: BridgeCache.primary_key, foreign_key: DOMAIN_ID, class_name: BridgeCache::Grant.name
15
22
 
16
23
  belongs_to :owner, class_name: BridgeCache::User.name, optional: true
@@ -6,8 +6,10 @@ module BridgeCache
6
6
  joins(:course_template).merge(BridgeCache::CourseTemplate.for_domain(domain_id))
7
7
  end
8
8
 
9
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
10
- belongs_to :course_template, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::CourseTemplate.name, optional: true
9
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
10
+ optional: true
11
+ belongs_to :course_template, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::CourseTemplate.name, optional: true
11
13
 
12
14
  def self.unique_column_names
13
15
  %w[bridge_id]
@@ -7,20 +7,20 @@ module BridgeCache
7
7
  before_save :parse_json
8
8
 
9
9
  def namespace_enrollable_type
10
- self.enrollable_type = "BridgeCache::#{self.enrollable_type}" unless self.enrollable_type&.include? 'BridgeCache::'
10
+ self.enrollable_type = "BridgeCache::#{enrollable_type}" unless enrollable_type&.include? 'BridgeCache::'
11
11
  end
12
12
 
13
13
  def parse_json
14
- json = self.class.parse_config(self.config)
14
+ json = self.class.parse_config(config)
15
15
  self.config = json if json.present?
16
16
  end
17
17
 
18
18
  def self.parse_config(config)
19
- json = BridgeCache::Plugins::DataTransform::valid_json?(config)
19
+ BridgeCache::Plugins::DataTransform.valid_json?(config)
20
20
  end
21
21
 
22
22
  def self.format_import_row(row)
23
- json = self.parse_config(row['config'])
23
+ json = parse_config(row['config'])
24
24
  row['config'] = json if json.present?
25
25
  row
26
26
  end
@@ -2,8 +2,10 @@ module BridgeCache
2
2
  class Grant < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
6
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
5
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
6
+ optional: true
7
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
8
+ class_name: BridgeCache::Domain.name, optional: true
7
9
 
8
10
  def self.unique_column_names
9
11
  %w[bridge_id domain_id]
@@ -4,11 +4,16 @@ module BridgeCache
4
4
 
5
5
  self.inheritance_column = nil
6
6
 
7
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
8
- has_many :program_group_enrollments, foreign_key: :group_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::ProgramGroupEnrollment.name
9
- has_many :group_enrollments, foreign_key: :group_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::GroupEnrollment.name
10
- has_many :memberships, foreign_key: :group_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Membership.name
11
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
7
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
8
+ optional: true
9
+ has_many :program_group_enrollments, foreign_key: :group_id, primary_key: BridgeCache.primary_key,
10
+ class_name: BridgeCache::ProgramGroupEnrollment.name
11
+ has_many :group_enrollments, foreign_key: :group_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::GroupEnrollment.name
13
+ has_many :memberships, foreign_key: :group_id, primary_key: BridgeCache.primary_key,
14
+ class_name: BridgeCache::Membership.name
15
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
16
+ class_name: BridgeCache::Domain.name, optional: true
12
17
 
13
18
  def self.unique_column_names
14
19
  %w[bridge_id domain_id]
@@ -6,9 +6,11 @@ module BridgeCache
6
6
  joins(:course_template).where(bridge_cache_course_templates: { domain_id: domain_id })
7
7
  end
8
8
 
9
- belongs_to :group, foreign_key: :group_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Group.name, optional: true
10
- belongs_to :course_template, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::CourseTemplate.name, optional: true
11
-
9
+ belongs_to :group, foreign_key: :group_id, primary_key: BridgeCache.primary_key,
10
+ class_name: BridgeCache::Group.name, optional: true
11
+ belongs_to :course_template, foreign_key: :course_template_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::CourseTemplate.name, optional: true
13
+
12
14
  def self.unique_column_names
13
15
  %w[bridge_id]
14
16
  end
@@ -1,8 +1,9 @@
1
1
  module BridgeCache
2
2
  class Host < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: 'BridgeCache::Domain', optional: true
5
-
4
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
5
+ class_name: 'BridgeCache::Domain', optional: true
6
+
6
7
  def self.unique_column_names
7
8
  %w[bridge_id]
8
9
  end
@@ -6,8 +6,10 @@ module BridgeCache
6
6
  joins(:user).where(bridge_cache_users: { domain_id: domain_id })
7
7
  end
8
8
 
9
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
10
- belongs_to :custom_field, foreign_key: :custom_field_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::CustomField.name, optional: true
9
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
10
+ optional: true
11
+ belongs_to :custom_field, foreign_key: :custom_field_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::CustomField.name, optional: true
11
13
 
12
14
  def self.unique_column_names
13
15
  %w[bridge_id]
@@ -2,16 +2,25 @@ module BridgeCache
2
2
  class LiveCourse < BridgeBaseModel
3
3
  extend BridgeCache::Data::BridgeModel
4
4
 
5
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
6
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
7
- belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
8
- has_many :live_course_enrollments, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourseEnrollment.name
9
- has_many :affiliated_sub_accounts, primary_key: BridgeCache.primary_key, class_name: BridgeCache::AffiliatedSubAccount.name, as: :item
5
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
6
+ optional: true
7
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
8
+ class_name: BridgeCache::Domain.name, optional: true
9
+ belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key,
10
+ class_name: BridgeCache::Domain.name, optional: true
11
+ has_many :live_course_enrollments, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::LiveCourseEnrollment.name
13
+ has_many :affiliated_sub_accounts, primary_key: BridgeCache.primary_key,
14
+ class_name: BridgeCache::AffiliatedSubAccount.name, as: :item
10
15
  has_many :domains, through: :affiliated_sub_accounts
11
16
 
12
17
  def self.for_domain(domain_id)
13
18
  includes(:domains)
14
- .where('bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_live_courses.sub_account_id = ?', domain_id, domain_id)
19
+ .where(
20
+ 'bridge_cache_affiliated_sub_accounts.domain_id = ? OR bridge_cache_live_courses.sub_account_id = ?',
21
+ domain_id,
22
+ domain_id
23
+ )
15
24
  .references(:domains)
16
25
  end
17
26
 
@@ -6,10 +6,14 @@ module BridgeCache
6
6
  joins(:live_course).merge(BridgeCache::LiveCourse.for_domain(domain_id))
7
7
  end
8
8
 
9
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
10
- belongs_to :live_course, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourse.name, optional: true
11
- has_many :live_course_session_registrations, foreign_key: :live_course_enrollment_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourseSessionRegistration.name
12
-
9
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
10
+ optional: true
11
+ belongs_to :live_course, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::LiveCourse.name, optional: true
13
+ has_many :live_course_session_registrations, foreign_key: :live_course_enrollment_id,
14
+ primary_key: BridgeCache.primary_key,
15
+ class_name: BridgeCache::LiveCourseSessionRegistration.name
16
+
13
17
  def self.unique_column_names
14
18
  %w[bridge_id]
15
19
  end
@@ -6,10 +6,15 @@ module BridgeCache
6
6
  joins(:live_course).merge(BridgeCache::LiveCourse.for_domain(domain_id))
7
7
  end
8
8
 
9
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
10
- belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
11
- belongs_to :live_course, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourse.name, optional: true
12
- has_many :live_course_session_registrations, foreign_key: :live_course_session_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourseSessionRegistration.name
9
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
10
+ class_name: BridgeCache::Domain.name, optional: true
11
+ belongs_to :sub_account, foreign_key: :sub_account_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::Domain.name, optional: true
13
+ belongs_to :live_course, foreign_key: :live_course_id, primary_key: BridgeCache.primary_key,
14
+ class_name: BridgeCache::LiveCourse.name, optional: true
15
+ has_many :live_course_session_registrations, foreign_key: :live_course_session_id,
16
+ primary_key: BridgeCache.primary_key,
17
+ class_name: BridgeCache::LiveCourseSessionRegistration.name
13
18
 
14
19
  def self.unique_column_names
15
20
  %w[bridge_id domain_id]
@@ -6,11 +6,15 @@ module BridgeCache
6
6
  joins(:live_course_enrollment).merge(BridgeCache::LiveCourseEnrollment.for_domain(domain_id))
7
7
  end
8
8
 
9
- belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name, optional: true
10
- belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::Domain.name, optional: true
11
- belongs_to :live_course_enrollment, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourseEnrollment.name, optional: true
12
- belongs_to :live_course_session, primary_key: BridgeCache.primary_key, class_name: BridgeCache::LiveCourseSession.name, optional: true
13
-
9
+ belongs_to :user, foreign_key: :user_id, primary_key: BridgeCache.primary_key, class_name: BridgeCache::User.name,
10
+ optional: true
11
+ belongs_to :domain, foreign_key: :domain_id, primary_key: BridgeCache.primary_key,
12
+ class_name: BridgeCache::Domain.name, optional: true
13
+ belongs_to :live_course_enrollment, primary_key: BridgeCache.primary_key,
14
+ class_name: BridgeCache::LiveCourseEnrollment.name, optional: true
15
+ belongs_to :live_course_session, primary_key: BridgeCache.primary_key,
16
+ class_name: BridgeCache::LiveCourseSession.name, optional: true
17
+
14
18
  def self.unique_column_names
15
19
  %w[bridge_id]
16
20
  end