bridge_cache 0.3.19 → 0.3.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) 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 +29 -20
  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 -14
  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 +1 -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 +1 -0
  67. data/lib/bridge_cache.rb +1 -0
  68. data/lib/bridge_cache/version.rb +1 -1
  69. metadata +16 -2
@@ -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