canvas_sync 0.22.6 → 0.22.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (436) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -0
  3. data/app/controllers/canvas_sync/api/v1/health_check_controller.rb +0 -0
  4. data/app/controllers/canvas_sync/api/v1/live_events_controller.rb +0 -0
  5. data/app/models/canvas_sync/job_log.rb +0 -0
  6. data/app/models/canvas_sync/sync_batch.rb +0 -0
  7. data/config/initializers/apartment.rb +0 -0
  8. data/config/routes.rb +0 -0
  9. data/db/migrate/20170915210836_create_canvas_sync_job_log.rb +0 -0
  10. data/db/migrate/20180725155729_add_job_id_to_canvas_sync_job_logs.rb +0 -0
  11. data/db/migrate/20190916154829_add_fork_count_to_canvas_sync_job_logs.rb +0 -0
  12. data/db/migrate/20201018210836_create_canvas_sync_sync_batches.rb +0 -0
  13. data/db/migrate/20201030210836_add_full_sync_to_canvas_sync_sync_batch.rb +0 -0
  14. data/lib/canvas_sync/api_syncable.rb +0 -0
  15. data/lib/canvas_sync/batch_processor.rb +0 -0
  16. data/lib/canvas_sync/class_callback_executor.rb +0 -0
  17. data/lib/canvas_sync/concerns/ability_helper.rb +0 -0
  18. data/lib/canvas_sync/concerns/account/ancestry.rb +0 -0
  19. data/lib/canvas_sync/concerns/account/base.rb +0 -0
  20. data/lib/canvas_sync/concerns/api_syncable.rb +9 -6
  21. data/lib/canvas_sync/concerns/legacy_columns.rb +0 -0
  22. data/lib/canvas_sync/concerns/live_event_sync.rb +0 -0
  23. data/lib/canvas_sync/concerns/role/base.rb +0 -0
  24. data/lib/canvas_sync/concerns/sync_mapping.rb +11 -1
  25. data/lib/canvas_sync/config.rb +0 -0
  26. data/lib/canvas_sync/engine.rb +0 -0
  27. data/lib/canvas_sync/generators/install_generator.rb +0 -0
  28. data/lib/canvas_sync/generators/install_live_events_generator.rb +0 -0
  29. data/lib/canvas_sync/generators/templates/migrations/create_accounts.rb +0 -0
  30. data/lib/canvas_sync/generators/templates/migrations/create_admins.rb +0 -0
  31. data/lib/canvas_sync/generators/templates/migrations/create_assignment_groups.rb +0 -0
  32. data/lib/canvas_sync/generators/templates/migrations/create_assignment_overrides.rb +25 -0
  33. data/lib/canvas_sync/generators/templates/migrations/create_assignments.rb +0 -0
  34. data/lib/canvas_sync/generators/templates/migrations/create_content_migrations.rb +0 -0
  35. data/lib/canvas_sync/generators/templates/migrations/create_context_module_items.rb +0 -0
  36. data/lib/canvas_sync/generators/templates/migrations/create_context_modules.rb +0 -0
  37. data/lib/canvas_sync/generators/templates/migrations/create_course_nicknames.rb +0 -0
  38. data/lib/canvas_sync/generators/templates/migrations/create_course_progresses.rb +0 -0
  39. data/lib/canvas_sync/generators/templates/migrations/create_courses.rb +0 -0
  40. data/lib/canvas_sync/generators/templates/migrations/create_enrollments.rb +1 -0
  41. data/lib/canvas_sync/generators/templates/migrations/create_grading_period_groups.rb +0 -0
  42. data/lib/canvas_sync/generators/templates/migrations/create_grading_periods.rb +0 -0
  43. data/lib/canvas_sync/generators/templates/migrations/create_group_memberships.rb +0 -0
  44. data/lib/canvas_sync/generators/templates/migrations/create_groups.rb +0 -0
  45. data/lib/canvas_sync/generators/templates/migrations/create_learning_outcome_results.rb +0 -0
  46. data/lib/canvas_sync/generators/templates/migrations/create_learning_outcomes.rb +0 -0
  47. data/lib/canvas_sync/generators/templates/migrations/create_pseudonyms.rb +0 -0
  48. data/lib/canvas_sync/generators/templates/migrations/create_roles.rb +0 -0
  49. data/lib/canvas_sync/generators/templates/migrations/create_rubric_assessments.rb +0 -0
  50. data/lib/canvas_sync/generators/templates/migrations/create_rubric_associations.rb +0 -0
  51. data/lib/canvas_sync/generators/templates/migrations/create_rubrics.rb +0 -0
  52. data/lib/canvas_sync/generators/templates/migrations/create_sections.rb +0 -0
  53. data/lib/canvas_sync/generators/templates/migrations/create_submissions.rb +0 -0
  54. data/lib/canvas_sync/generators/templates/migrations/create_terms.rb +0 -0
  55. data/lib/canvas_sync/generators/templates/migrations/create_user_observers.rb +0 -0
  56. data/lib/canvas_sync/generators/templates/migrations/create_users.rb +0 -0
  57. data/lib/canvas_sync/generators/templates/models/account.rb +0 -0
  58. data/lib/canvas_sync/generators/templates/models/admin.rb +0 -0
  59. data/lib/canvas_sync/generators/templates/models/assignment.rb +0 -0
  60. data/lib/canvas_sync/generators/templates/models/assignment_group.rb +0 -0
  61. data/lib/canvas_sync/generators/templates/models/assignment_override.rb +28 -0
  62. data/lib/canvas_sync/generators/templates/models/content_migration.rb +0 -0
  63. data/lib/canvas_sync/generators/templates/models/context_module.rb +0 -0
  64. data/lib/canvas_sync/generators/templates/models/context_module_item.rb +0 -0
  65. data/lib/canvas_sync/generators/templates/models/course.rb +0 -0
  66. data/lib/canvas_sync/generators/templates/models/course_nickname.rb +0 -0
  67. data/lib/canvas_sync/generators/templates/models/enrollment.rb +0 -0
  68. data/lib/canvas_sync/generators/templates/models/grading_period.rb +0 -0
  69. data/lib/canvas_sync/generators/templates/models/grading_period_group.rb +0 -0
  70. data/lib/canvas_sync/generators/templates/models/group.rb +0 -0
  71. data/lib/canvas_sync/generators/templates/models/group_membership.rb +0 -0
  72. data/lib/canvas_sync/generators/templates/models/learning_outcome.rb +0 -0
  73. data/lib/canvas_sync/generators/templates/models/learning_outcome_result.rb +0 -0
  74. data/lib/canvas_sync/generators/templates/models/pseudonym.rb +0 -0
  75. data/lib/canvas_sync/generators/templates/models/role.rb +0 -0
  76. data/lib/canvas_sync/generators/templates/models/rubric.rb +0 -0
  77. data/lib/canvas_sync/generators/templates/models/rubric_assessment.rb +0 -0
  78. data/lib/canvas_sync/generators/templates/models/rubric_association.rb +0 -0
  79. data/lib/canvas_sync/generators/templates/models/section.rb +0 -0
  80. data/lib/canvas_sync/generators/templates/models/submission.rb +0 -0
  81. data/lib/canvas_sync/generators/templates/models/term.rb +0 -0
  82. data/lib/canvas_sync/generators/templates/models/user.rb +0 -0
  83. data/lib/canvas_sync/generators/templates/models/user_observer.rb +0 -0
  84. data/lib/canvas_sync/generators/templates/services/live_events/assignment_event.rb +0 -0
  85. data/lib/canvas_sync/generators/templates/services/live_events/assignment_group_event.rb +0 -0
  86. data/lib/canvas_sync/generators/templates/services/live_events/course_event.rb +0 -0
  87. data/lib/canvas_sync/generators/templates/services/live_events/course_section_event.rb +0 -0
  88. data/lib/canvas_sync/generators/templates/services/live_events/enrollment_event.rb +0 -0
  89. data/lib/canvas_sync/generators/templates/services/live_events/grade_event.rb +0 -0
  90. data/lib/canvas_sync/generators/templates/services/live_events/module_event.rb +0 -0
  91. data/lib/canvas_sync/generators/templates/services/live_events/module_item_event.rb +0 -0
  92. data/lib/canvas_sync/generators/templates/services/live_events/submission_event.rb +0 -0
  93. data/lib/canvas_sync/generators/templates/services/live_events/syllabus_event.rb +0 -0
  94. data/lib/canvas_sync/generators/templates/services/live_events/user_event.rb +0 -0
  95. data/lib/canvas_sync/importers/bulk_importer.rb +39 -69
  96. data/lib/canvas_sync/importers/legacy_importer.rb +0 -0
  97. data/lib/canvas_sync/job.rb +0 -0
  98. data/lib/canvas_sync/job_batches/batch.rb +1 -1
  99. data/lib/canvas_sync/job_batches/callback.rb +0 -0
  100. data/lib/canvas_sync/job_batches/chain_builder.rb +3 -24
  101. data/lib/canvas_sync/job_batches/compat/active_job.rb +0 -0
  102. data/lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/css/styles.less +0 -0
  103. data/lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/js/batch_tree.js +0 -0
  104. data/lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/js/util.js +0 -0
  105. data/lib/canvas_sync/job_batches/compat/sidekiq/web/helpers.rb +0 -0
  106. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/_batch_tree.erb +0 -0
  107. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/_batches_table.erb +0 -0
  108. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/_common.erb +0 -0
  109. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/_jobs_table.erb +0 -0
  110. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/_pagination.erb +0 -0
  111. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/batch.erb +0 -0
  112. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/batches.erb +0 -0
  113. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/pool.erb +0 -0
  114. data/lib/canvas_sync/job_batches/compat/sidekiq/web/views/pools.erb +0 -0
  115. data/lib/canvas_sync/job_batches/compat/sidekiq/web.rb +0 -0
  116. data/lib/canvas_sync/job_batches/compat/sidekiq.rb +0 -0
  117. data/lib/canvas_sync/job_batches/compat.rb +0 -0
  118. data/lib/canvas_sync/job_batches/context_hash.rb +0 -0
  119. data/lib/canvas_sync/job_batches/hier_batch_ids.lua +0 -0
  120. data/lib/canvas_sync/job_batches/jobs/base_job.rb +0 -0
  121. data/lib/canvas_sync/job_batches/jobs/concurrent_batch_job.rb +0 -0
  122. data/lib/canvas_sync/job_batches/jobs/managed_batch_job.rb +0 -4
  123. data/lib/canvas_sync/job_batches/jobs/serial_batch_job.rb +0 -0
  124. data/lib/canvas_sync/job_batches/pool.rb +0 -0
  125. data/lib/canvas_sync/job_batches/pool_refill.lua +0 -0
  126. data/lib/canvas_sync/job_batches/redis_model.rb +0 -0
  127. data/lib/canvas_sync/job_batches/redis_script.rb +0 -0
  128. data/lib/canvas_sync/job_batches/schedule_callback.lua +0 -0
  129. data/lib/canvas_sync/job_batches/status.rb +0 -1
  130. data/lib/canvas_sync/job_uniqueness/compat/active_job.rb +0 -0
  131. data/lib/canvas_sync/job_uniqueness/compat/sidekiq.rb +0 -0
  132. data/lib/canvas_sync/job_uniqueness/compat.rb +0 -0
  133. data/lib/canvas_sync/job_uniqueness/configuration.rb +0 -0
  134. data/lib/canvas_sync/job_uniqueness/job_uniqueness.rb +0 -0
  135. data/lib/canvas_sync/job_uniqueness/lock_context.rb +3 -15
  136. data/lib/canvas_sync/job_uniqueness/locksmith.rb +0 -0
  137. data/lib/canvas_sync/job_uniqueness/on_conflict/base.rb +0 -0
  138. data/lib/canvas_sync/job_uniqueness/on_conflict/log.rb +0 -0
  139. data/lib/canvas_sync/job_uniqueness/on_conflict/null_strategy.rb +0 -0
  140. data/lib/canvas_sync/job_uniqueness/on_conflict/raise.rb +0 -0
  141. data/lib/canvas_sync/job_uniqueness/on_conflict/reject.rb +0 -0
  142. data/lib/canvas_sync/job_uniqueness/on_conflict/reschedule.rb +0 -0
  143. data/lib/canvas_sync/job_uniqueness/on_conflict.rb +0 -0
  144. data/lib/canvas_sync/job_uniqueness/strategy/base.rb +0 -0
  145. data/lib/canvas_sync/job_uniqueness/strategy/until_and_while_executing.rb +0 -0
  146. data/lib/canvas_sync/job_uniqueness/strategy/until_executed.rb +0 -0
  147. data/lib/canvas_sync/job_uniqueness/strategy/until_executing.rb +0 -0
  148. data/lib/canvas_sync/job_uniqueness/strategy/until_expired.rb +0 -0
  149. data/lib/canvas_sync/job_uniqueness/strategy/while_executing.rb +0 -0
  150. data/lib/canvas_sync/job_uniqueness/strategy.rb +0 -0
  151. data/lib/canvas_sync/job_uniqueness/unique_job_common.rb +0 -0
  152. data/lib/canvas_sync/jobs/begin_sync_chain_job.rb +0 -0
  153. data/lib/canvas_sync/jobs/canvas_process_waiter.rb +0 -0
  154. data/lib/canvas_sync/jobs/report_checker.rb +0 -0
  155. data/lib/canvas_sync/jobs/report_processor_job.rb +0 -0
  156. data/lib/canvas_sync/jobs/report_starter.rb +0 -0
  157. data/lib/canvas_sync/jobs/sync_accounts_job.rb +0 -0
  158. data/lib/canvas_sync/jobs/sync_admins_job.rb +0 -0
  159. data/lib/canvas_sync/jobs/sync_assignment_groups_job.rb +0 -0
  160. data/lib/canvas_sync/jobs/sync_assignment_overrides_job.rb +20 -0
  161. data/lib/canvas_sync/jobs/sync_assignments_job.rb +0 -0
  162. data/lib/canvas_sync/jobs/sync_content_migrations_job.rb +0 -0
  163. data/lib/canvas_sync/jobs/sync_context_module_items_job.rb +0 -0
  164. data/lib/canvas_sync/jobs/sync_context_modules_job.rb +0 -0
  165. data/lib/canvas_sync/jobs/sync_course_progresses_job.rb +0 -0
  166. data/lib/canvas_sync/jobs/sync_provisioning_report_job.rb +0 -0
  167. data/lib/canvas_sync/jobs/sync_roles_job.rb +0 -0
  168. data/lib/canvas_sync/jobs/sync_rubric_assessments_job.rb +0 -0
  169. data/lib/canvas_sync/jobs/sync_rubric_associations_job.rb +0 -0
  170. data/lib/canvas_sync/jobs/sync_rubrics_job.rb +0 -0
  171. data/lib/canvas_sync/jobs/sync_simple_table_job.rb +0 -0
  172. data/lib/canvas_sync/jobs/sync_submissions_job.rb +0 -0
  173. data/lib/canvas_sync/jobs/sync_terms_job.rb +0 -0
  174. data/lib/canvas_sync/jobs/term_batches_job.rb +1 -4
  175. data/lib/canvas_sync/live_events/base_handler.rb +0 -0
  176. data/lib/canvas_sync/live_events/process_event_job.rb +0 -0
  177. data/lib/canvas_sync/live_events.rb +0 -0
  178. data/lib/canvas_sync/misc_helper.rb +0 -0
  179. data/lib/canvas_sync/processors/assignment_groups_processor.rb +0 -0
  180. data/lib/canvas_sync/processors/assignment_overrides_processor.rb +41 -0
  181. data/lib/canvas_sync/processors/assignments_processor.rb +0 -0
  182. data/lib/canvas_sync/processors/content_migrations_processor.rb +0 -0
  183. data/lib/canvas_sync/processors/context_module_items_processor.rb +0 -0
  184. data/lib/canvas_sync/processors/context_modules_processor.rb +0 -0
  185. data/lib/canvas_sync/processors/course_completion_report_processor.rb +0 -0
  186. data/lib/canvas_sync/processors/model_mappings.yml +46 -0
  187. data/lib/canvas_sync/processors/normal_processor.rb +0 -0
  188. data/lib/canvas_sync/processors/provisioning_report_processor.rb +0 -0
  189. data/lib/canvas_sync/processors/report_processor.rb +0 -0
  190. data/lib/canvas_sync/processors/rubric_assessments_processor.rb +0 -0
  191. data/lib/canvas_sync/processors/rubric_associations_processor.rb +0 -0
  192. data/lib/canvas_sync/processors/rubrics_processor.rb +0 -0
  193. data/lib/canvas_sync/processors/submissions_processor.rb +0 -0
  194. data/lib/canvas_sync/record.rb +0 -0
  195. data/lib/canvas_sync/sidekiq_job.rb +0 -0
  196. data/lib/canvas_sync/version.rb +1 -1
  197. data/lib/canvas_sync.rb +4 -0
  198. data/spec/canvas_sync/canvas_sync_spec.rb +41 -59
  199. data/spec/canvas_sync/jobs/canvas_process_waiter_spec.rb +0 -0
  200. data/spec/canvas_sync/jobs/job_spec.rb +0 -0
  201. data/spec/canvas_sync/jobs/report_checker_spec.rb +0 -0
  202. data/spec/canvas_sync/jobs/report_processor_job_spec.rb +0 -0
  203. data/spec/canvas_sync/jobs/report_starter_spec.rb +0 -0
  204. data/spec/canvas_sync/jobs/sync_admins_job_spec.rb +0 -0
  205. data/spec/canvas_sync/jobs/sync_assignment_groups_job_spec.rb +0 -0
  206. data/spec/canvas_sync/jobs/sync_assignments_job_spec.rb +0 -0
  207. data/spec/canvas_sync/jobs/sync_content_migrations_job_spec.rb +0 -0
  208. data/spec/canvas_sync/jobs/sync_context_module_items_job_spec.rb +0 -0
  209. data/spec/canvas_sync/jobs/sync_context_modules_job_spec.rb +0 -0
  210. data/spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb +0 -0
  211. data/spec/canvas_sync/jobs/sync_roles_job_spec.rb +0 -0
  212. data/spec/canvas_sync/jobs/sync_simple_table_job_spec.rb +0 -0
  213. data/spec/canvas_sync/jobs/sync_submissions_job_spec.rb +0 -0
  214. data/spec/canvas_sync/jobs/sync_terms_job_spec.rb +0 -0
  215. data/spec/canvas_sync/live_events/live_event_sync_spec.rb +0 -0
  216. data/spec/canvas_sync/live_events/live_events_controller_spec.rb +0 -0
  217. data/spec/canvas_sync/live_events/process_event_job_spec.rb +0 -0
  218. data/spec/canvas_sync/misc_helper_spec.rb +0 -0
  219. data/spec/canvas_sync/models/accounts_spec.rb +0 -0
  220. data/spec/canvas_sync/models/admins_spec.rb +0 -0
  221. data/spec/canvas_sync/models/assignment_group_spec.rb +0 -0
  222. data/spec/canvas_sync/models/assignment_spec.rb +0 -0
  223. data/spec/canvas_sync/models/context_module_item_spec.rb +0 -0
  224. data/spec/canvas_sync/models/context_module_spec.rb +0 -0
  225. data/spec/canvas_sync/models/course_spec.rb +0 -0
  226. data/spec/canvas_sync/models/enrollment_spec.rb +0 -0
  227. data/spec/canvas_sync/models/group_membership_spec.rb +0 -0
  228. data/spec/canvas_sync/models/group_spec.rb +0 -0
  229. data/spec/canvas_sync/models/roles_spec.rb +0 -0
  230. data/spec/canvas_sync/models/section_spec.rb +0 -0
  231. data/spec/canvas_sync/models/submission_spec.rb +0 -0
  232. data/spec/canvas_sync/models/term_spec.rb +0 -0
  233. data/spec/canvas_sync/models/user_spec.rb +0 -0
  234. data/spec/canvas_sync/processors/assignment_groups_processor_spec.rb +0 -0
  235. data/spec/canvas_sync/processors/assignment_overrides_processor_spec.rb +45 -0
  236. data/spec/canvas_sync/processors/assignments_processor_spec.rb +0 -0
  237. data/spec/canvas_sync/processors/content_migrations_processor_spec.rb +0 -0
  238. data/spec/canvas_sync/processors/context_module_items_processor_spec.rb +0 -0
  239. data/spec/canvas_sync/processors/context_modules_processor_spec.rb +0 -0
  240. data/spec/canvas_sync/processors/course_completion_report_processor_spec.rb +0 -0
  241. data/spec/canvas_sync/processors/normal_processor_spec.rb +0 -0
  242. data/spec/canvas_sync/processors/provisioning_report_processor_spec.rb +4 -0
  243. data/spec/canvas_sync/processors/rubric_assessments_spec.rb +0 -0
  244. data/spec/canvas_sync/processors/rubric_associations_spec.rb +0 -0
  245. data/spec/canvas_sync/processors/rubrics_processor_spec.rb +0 -0
  246. data/spec/canvas_sync/processors/submissions_processor_spec.rb +0 -0
  247. data/spec/canvas_sync/services/module_event_spec.rb +0 -0
  248. data/spec/canvas_sync/services/module_item_event_spec.rb +0 -0
  249. data/spec/dummy/README.rdoc +0 -0
  250. data/spec/dummy/Rakefile +0 -0
  251. data/spec/dummy/app/models/account.rb +0 -0
  252. data/spec/dummy/app/models/admin.rb +0 -0
  253. data/spec/dummy/app/models/application_record.rb +0 -0
  254. data/spec/dummy/app/models/assignment.rb +0 -0
  255. data/spec/dummy/app/models/assignment_group.rb +0 -0
  256. data/spec/dummy/app/models/assignment_override.rb +34 -0
  257. data/spec/dummy/app/models/content_migration.rb +0 -0
  258. data/spec/dummy/app/models/context_module.rb +0 -0
  259. data/spec/dummy/app/models/context_module_item.rb +0 -0
  260. data/spec/dummy/app/models/course.rb +0 -0
  261. data/spec/dummy/app/models/course_nickname.rb +0 -0
  262. data/spec/dummy/app/models/enrollment.rb +0 -0
  263. data/spec/dummy/app/models/grading_period.rb +0 -0
  264. data/spec/dummy/app/models/grading_period_group.rb +0 -0
  265. data/spec/dummy/app/models/group.rb +0 -0
  266. data/spec/dummy/app/models/group_membership.rb +0 -0
  267. data/spec/dummy/app/models/learning_outcome.rb +0 -0
  268. data/spec/dummy/app/models/learning_outcome_result.rb +0 -0
  269. data/spec/dummy/app/models/pseudonym.rb +0 -0
  270. data/spec/dummy/app/models/role.rb +0 -0
  271. data/spec/dummy/app/models/rubric.rb +0 -0
  272. data/spec/dummy/app/models/rubric_assessment.rb +0 -0
  273. data/spec/dummy/app/models/rubric_association.rb +0 -0
  274. data/spec/dummy/app/models/section.rb +0 -0
  275. data/spec/dummy/app/models/submission.rb +0 -0
  276. data/spec/dummy/app/models/term.rb +0 -0
  277. data/spec/dummy/app/models/user.rb +0 -0
  278. data/spec/dummy/app/models/user_observer.rb +0 -0
  279. data/spec/dummy/app/services/live_events/assignment_created_event.rb +0 -0
  280. data/spec/dummy/app/services/live_events/assignment_event.rb +0 -0
  281. data/spec/dummy/app/services/live_events/assignment_updated_event.rb +0 -0
  282. data/spec/dummy/app/services/live_events/base_event.rb +0 -0
  283. data/spec/dummy/app/services/live_events/course_created_event.rb +0 -0
  284. data/spec/dummy/app/services/live_events/course_event.rb +0 -0
  285. data/spec/dummy/app/services/live_events/course_section_created_event.rb +0 -0
  286. data/spec/dummy/app/services/live_events/course_section_event.rb +0 -0
  287. data/spec/dummy/app/services/live_events/course_section_updated_event.rb +0 -0
  288. data/spec/dummy/app/services/live_events/course_updated_event.rb +0 -0
  289. data/spec/dummy/app/services/live_events/enrollment_created_event.rb +0 -0
  290. data/spec/dummy/app/services/live_events/enrollment_event.rb +0 -0
  291. data/spec/dummy/app/services/live_events/enrollment_updated_event.rb +0 -0
  292. data/spec/dummy/app/services/live_events/grade_changed_event.rb +0 -0
  293. data/spec/dummy/app/services/live_events/grade_event.rb +0 -0
  294. data/spec/dummy/app/services/live_events/module_created_event.rb +0 -0
  295. data/spec/dummy/app/services/live_events/module_event.rb +0 -0
  296. data/spec/dummy/app/services/live_events/module_item_created_event.rb +0 -0
  297. data/spec/dummy/app/services/live_events/module_item_event.rb +0 -0
  298. data/spec/dummy/app/services/live_events/module_item_updated_event.rb +0 -0
  299. data/spec/dummy/app/services/live_events/module_updated_event.rb +0 -0
  300. data/spec/dummy/app/services/live_events/submission_created_event.rb +0 -0
  301. data/spec/dummy/app/services/live_events/submission_event.rb +0 -0
  302. data/spec/dummy/app/services/live_events/submission_updated_event.rb +0 -0
  303. data/spec/dummy/app/services/live_events/syllabus_event.rb +0 -0
  304. data/spec/dummy/app/services/live_events/syllabus_updated_event.rb +0 -0
  305. data/spec/dummy/app/services/live_events/user_created_event.rb +0 -0
  306. data/spec/dummy/app/services/live_events/user_event.rb +0 -0
  307. data/spec/dummy/app/services/live_events/user_updated_event.rb +0 -0
  308. data/spec/dummy/config/application.rb +0 -0
  309. data/spec/dummy/config/boot.rb +0 -0
  310. data/spec/dummy/config/database.yml +0 -0
  311. data/spec/dummy/config/environment.rb +0 -0
  312. data/spec/dummy/config/environments/development.rb +0 -0
  313. data/spec/dummy/config/environments/test.rb +0 -0
  314. data/spec/dummy/config/initializers/assets.rb +0 -0
  315. data/spec/dummy/config/initializers/session_store.rb +0 -0
  316. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -0
  317. data/spec/dummy/config/routes.rb +0 -0
  318. data/spec/dummy/config/secrets.yml +0 -0
  319. data/spec/dummy/config.ru +0 -0
  320. data/spec/dummy/db/migrate/20190702203621_create_courses.rb +0 -0
  321. data/spec/dummy/db/migrate/20190702203622_create_accounts.rb +0 -0
  322. data/spec/dummy/db/migrate/20190702203623_create_terms.rb +0 -0
  323. data/spec/dummy/db/migrate/20190702203624_create_enrollments.rb +1 -0
  324. data/spec/dummy/db/migrate/20190702203625_create_sections.rb +0 -0
  325. data/spec/dummy/db/migrate/20190702203626_create_assignments.rb +0 -0
  326. data/spec/dummy/db/migrate/20190702203627_create_submissions.rb +0 -0
  327. data/spec/dummy/db/migrate/20190702203630_create_assignment_groups.rb +0 -0
  328. data/spec/dummy/db/migrate/20190702203631_create_context_modules.rb +0 -0
  329. data/spec/dummy/db/migrate/20190702203632_create_context_module_items.rb +0 -0
  330. data/spec/dummy/db/migrate/20190927204545_create_roles.rb +0 -0
  331. data/spec/dummy/db/migrate/20190927204546_create_admins.rb +0 -0
  332. data/spec/dummy/db/migrate/20200415171620_create_groups.rb +0 -0
  333. data/spec/dummy/db/migrate/20200416214248_create_group_memberships.rb +0 -0
  334. data/spec/dummy/db/migrate/20201016181346_create_pseudonyms.rb +0 -0
  335. data/spec/dummy/db/migrate/20210907233329_create_user_observers.rb +0 -0
  336. data/spec/dummy/db/migrate/20210907233330_create_grading_periods.rb +0 -0
  337. data/spec/dummy/db/migrate/20211001184920_create_grading_period_groups.rb +0 -0
  338. data/spec/dummy/db/migrate/20220308072643_create_content_migrations.rb +0 -0
  339. data/spec/dummy/db/migrate/20220712210559_create_learning_outcomes.rb +0 -0
  340. data/spec/dummy/db/migrate/20220926221926_create_users.rb +0 -0
  341. data/spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb +0 -0
  342. data/spec/dummy/db/migrate/20240509105100_create_rubrics.rb +0 -0
  343. data/spec/dummy/db/migrate/20240510094100_create_rubric_associations.rb +0 -0
  344. data/spec/dummy/db/migrate/20240510101100_create_rubric_assessments.rb +0 -0
  345. data/spec/dummy/db/migrate/20240523101010_create_learning_outcome_results.rb +0 -0
  346. data/spec/dummy/db/migrate/20240828161300_create_course_progresses.rb +0 -0
  347. data/spec/dummy/db/migrate/20241223080202_create_assignment_overrides.rb +25 -0
  348. data/spec/dummy/db/schema.rb +188 -174
  349. data/spec/factories/account_factory.rb +0 -0
  350. data/spec/factories/admin_factory.rb +0 -0
  351. data/spec/factories/assignment_factory.rb +0 -0
  352. data/spec/factories/assignment_group_factory.rb +0 -0
  353. data/spec/factories/assignment_override_factory.rb +10 -0
  354. data/spec/factories/context_module_factory.rb +0 -0
  355. data/spec/factories/context_module_item_factory.rb +0 -0
  356. data/spec/factories/course_factory.rb +0 -0
  357. data/spec/factories/enrollment_factory.rb +0 -0
  358. data/spec/factories/group_factory.rb +0 -0
  359. data/spec/factories/group_membership_factory.rb +0 -0
  360. data/spec/factories/role_factory.rb +0 -0
  361. data/spec/factories/section_factory.rb +0 -0
  362. data/spec/factories/submission_factory.rb +0 -0
  363. data/spec/factories/term_factory.rb +0 -0
  364. data/spec/factories/user_factory.rb +0 -0
  365. data/spec/job_batching/batch_spec.rb +0 -0
  366. data/spec/job_batching/callback_spec.rb +0 -0
  367. data/spec/job_batching/compat/active_job_spec.rb +0 -0
  368. data/spec/job_batching/compat/sidekiq_spec.rb +0 -0
  369. data/spec/job_batching/context_hash_spec.rb +0 -0
  370. data/spec/job_batching/flow_spec.rb +0 -0
  371. data/spec/job_batching/integration/fail_then_succeed.rb +0 -0
  372. data/spec/job_batching/integration/integration.rb +0 -0
  373. data/spec/job_batching/integration/nested.rb +0 -0
  374. data/spec/job_batching/integration/simple.rb +0 -0
  375. data/spec/job_batching/integration/workflow.rb +0 -0
  376. data/spec/job_batching/integration_helper.rb +0 -0
  377. data/spec/job_batching/pool_spec.rb +0 -0
  378. data/spec/job_batching/status_spec.rb +0 -0
  379. data/spec/job_batching/support/base_job.rb +0 -0
  380. data/spec/job_batching/support/sample_callback.rb +0 -0
  381. data/spec/job_uniqueness/compat/active_job_spec.rb +0 -0
  382. data/spec/job_uniqueness/compat/sidekiq_spec.rb +0 -0
  383. data/spec/job_uniqueness/lock_context_spec.rb +0 -0
  384. data/spec/job_uniqueness/on_conflict/log_spec.rb +0 -0
  385. data/spec/job_uniqueness/on_conflict/raise_spec.rb +0 -0
  386. data/spec/job_uniqueness/on_conflict/reschedule_spec.rb +0 -0
  387. data/spec/job_uniqueness/on_conflict_spec.rb +0 -0
  388. data/spec/job_uniqueness/spec_helper.rb +0 -0
  389. data/spec/job_uniqueness/strategy/base_spec.rb +0 -0
  390. data/spec/job_uniqueness/strategy/until_and_while_executing_spec.rb +0 -0
  391. data/spec/job_uniqueness/strategy/until_executed_spec.rb +0 -0
  392. data/spec/job_uniqueness/strategy/until_executing_spec.rb +0 -0
  393. data/spec/job_uniqueness/strategy/until_expired_spec.rb +0 -0
  394. data/spec/job_uniqueness/strategy/while_executing_spec.rb +0 -0
  395. data/spec/job_uniqueness/support/lock_strategy.rb +0 -0
  396. data/spec/job_uniqueness/support/on_conflict.rb +0 -0
  397. data/spec/job_uniqueness/support/test_worker.rb +0 -0
  398. data/spec/job_uniqueness/unique_job_common_spec.rb +0 -0
  399. data/spec/spec_helper.rb +0 -0
  400. data/spec/support/fake_canvas.rb +0 -0
  401. data/spec/support/fixtures/canvas_responses/admins.json +0 -0
  402. data/spec/support/fixtures/canvas_responses/module.json +0 -0
  403. data/spec/support/fixtures/canvas_responses/module_item.json +0 -0
  404. data/spec/support/fixtures/canvas_responses/roles.json +0 -0
  405. data/spec/support/fixtures/canvas_responses/terms.json +0 -0
  406. data/spec/support/fixtures/reports/assignment_groups.csv +0 -0
  407. data/spec/support/fixtures/reports/assignment_overrides.csv +3 -0
  408. data/spec/support/fixtures/reports/assignment_overrides_conflict.csv +2 -0
  409. data/spec/support/fixtures/reports/assignments.csv +0 -0
  410. data/spec/support/fixtures/reports/content_migrations.csv +0 -0
  411. data/spec/support/fixtures/reports/context_module_items.csv +0 -0
  412. data/spec/support/fixtures/reports/context_modules.csv +0 -0
  413. data/spec/support/fixtures/reports/course_nicknames.csv +0 -0
  414. data/spec/support/fixtures/reports/course_progresses.csv +0 -0
  415. data/spec/support/fixtures/reports/course_progresses_conflict.csv +0 -0
  416. data/spec/support/fixtures/reports/courses.csv +0 -0
  417. data/spec/support/fixtures/reports/enrollments.csv +0 -0
  418. data/spec/support/fixtures/reports/grading_period_groups.csv +0 -0
  419. data/spec/support/fixtures/reports/grading_periods.csv +0 -0
  420. data/spec/support/fixtures/reports/group_memberships.csv +0 -0
  421. data/spec/support/fixtures/reports/groups.csv +0 -0
  422. data/spec/support/fixtures/reports/learning_outcome_results.csv +0 -0
  423. data/spec/support/fixtures/reports/learning_outcomes.csv +0 -0
  424. data/spec/support/fixtures/reports/provisioning_csv +0 -0
  425. data/spec/support/fixtures/reports/rubric_assessments.csv +0 -0
  426. data/spec/support/fixtures/reports/rubric_associations.csv +0 -0
  427. data/spec/support/fixtures/reports/rubrics.csv +0 -0
  428. data/spec/support/fixtures/reports/sections.csv +0 -0
  429. data/spec/support/fixtures/reports/submissions.csv +0 -0
  430. data/spec/support/fixtures/reports/user_observers.csv +0 -0
  431. data/spec/support/fixtures/reports/users.csv +0 -0
  432. data/spec/support/fixtures/reports/xlist.csv +0 -0
  433. metadata +208 -211
  434. data/lib/canvas_sync/concerns/auto_relations.rb +0 -11
  435. data/spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv +0 -3
  436. data/spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv +0 -4
@@ -2,16 +2,15 @@
2
2
  # of editing this file, please use the migrations feature of Active Record to
3
3
  # incrementally modify your database, and then regenerate this schema definition.
4
4
  #
5
- # Note that this schema.rb definition is the authoritative source for your
6
- # database schema. If you need to create the application database on another
7
- # system, you should be using db:schema:load, not running all the migrations
8
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
- # you'll amass, the slower it'll run and the greater likelihood for issues).
5
+ # This file is the source Rails uses to define your schema when running `bin/rails
6
+ # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
7
+ # be faster and is potentially less error prone than running all of your
8
+ # migrations from scratch. Old migrations may fail to apply correctly if those
9
+ # migrations use external dependencies or application code.
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2024_05_23_101010) do
14
-
13
+ ActiveRecord::Schema[7.1].define(version: 2024_12_23_080202) do
15
14
  # These are extensions that must be enabled in order to support this database
16
15
  enable_extension "plpgsql"
17
16
 
@@ -22,8 +21,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
22
21
  t.string "sis_parent_account_id"
23
22
  t.string "name"
24
23
  t.string "workflow_state"
25
- t.datetime "created_at", null: false
26
- t.datetime "updated_at", null: false
24
+ t.datetime "created_at", precision: nil, null: false
25
+ t.datetime "updated_at", precision: nil, null: false
27
26
  t.index ["canvas_id"], name: "index_accounts_on_canvas_id", unique: true
28
27
  end
29
28
 
@@ -34,8 +33,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
34
33
  t.bigint "canvas_role_id"
35
34
  t.bigint "canvas_user_id"
36
35
  t.string "workflow_state"
37
- t.datetime "created_at", null: false
38
- t.datetime "updated_at", null: false
36
+ t.datetime "created_at", precision: nil, null: false
37
+ t.datetime "updated_at", precision: nil, null: false
39
38
  t.index ["canvas_account_id"], name: "index_admins_on_canvas_account_id"
40
39
  t.index ["canvas_id"], name: "index_admins_on_canvas_id", unique: true
41
40
  t.index ["canvas_role_id"], name: "index_admins_on_canvas_role_id"
@@ -50,21 +49,42 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
50
49
  t.integer "position"
51
50
  t.float "group_weight"
52
51
  t.string "workflow_state"
53
- t.datetime "canvas_created_at"
54
- t.datetime "canvas_updated_at"
55
- t.datetime "created_at", null: false
56
- t.datetime "updated_at", null: false
52
+ t.datetime "canvas_created_at", precision: nil
53
+ t.datetime "canvas_updated_at", precision: nil
54
+ t.datetime "created_at", precision: nil, null: false
55
+ t.datetime "updated_at", precision: nil, null: false
57
56
  t.index ["canvas_course_id"], name: "index_assignment_groups_on_canvas_course_id"
58
57
  t.index ["canvas_id"], name: "index_assignment_groups_on_canvas_id", unique: true
59
58
  end
60
59
 
60
+ create_table "assignment_overrides", force: :cascade do |t|
61
+ t.bigint "canvas_id", null: false
62
+ t.bigint "canvas_assignment_id"
63
+ t.bigint "canvas_group_id"
64
+ t.bigint "canvas_course_id"
65
+ t.bigint "canvas_section_id"
66
+ t.bigint "student_ids", array: true
67
+ t.datetime "due_at", precision: nil
68
+ t.boolean "all_day"
69
+ t.datetime "all_day_date", precision: nil
70
+ t.datetime "unlock_at", precision: nil
71
+ t.datetime "lock_at", precision: nil
72
+ t.string "title"
73
+ t.string "workflow_state"
74
+ t.datetime "created_at", precision: nil, null: false
75
+ t.datetime "updated_at", precision: nil, null: false
76
+ t.index ["canvas_assignment_id"], name: "index_assignment_overrides_on_canvas_assignment_id"
77
+ t.index ["canvas_course_id"], name: "index_assignment_overrides_on_canvas_course_id"
78
+ t.index ["canvas_id"], name: "index_assignment_overrides_on_canvas_id", unique: true
79
+ end
80
+
61
81
  create_table "assignments", force: :cascade do |t|
62
82
  t.bigint "canvas_id", null: false
63
83
  t.string "title"
64
84
  t.text "description"
65
- t.datetime "due_at"
66
- t.datetime "unlock_at"
67
- t.datetime "lock_at"
85
+ t.datetime "due_at", precision: nil
86
+ t.datetime "unlock_at", precision: nil
87
+ t.datetime "lock_at", precision: nil
68
88
  t.float "points_possible"
69
89
  t.float "min_score"
70
90
  t.float "max_score"
@@ -77,34 +97,34 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
77
97
  t.integer "canvas_assignment_group_id"
78
98
  t.integer "canvas_grading_scheme_id"
79
99
  t.integer "canvas_grading_standard_id"
80
- t.datetime "created_at", null: false
81
- t.datetime "updated_at", null: false
100
+ t.datetime "created_at", precision: nil, null: false
101
+ t.datetime "updated_at", precision: nil, null: false
82
102
  t.index ["canvas_context_id", "canvas_context_type"], name: "index_assignments_on_canvas_context_id_and_canvas_context_type"
83
103
  t.index ["canvas_id"], name: "index_assignments_on_canvas_id", unique: true
84
104
  end
85
105
 
86
106
  create_table "canvas_sync_job_logs", id: :serial, force: :cascade do |t|
87
- t.datetime "started_at"
88
- t.datetime "completed_at"
107
+ t.datetime "started_at", precision: nil
108
+ t.datetime "completed_at", precision: nil
89
109
  t.string "exception"
90
110
  t.text "backtrace"
91
111
  t.string "job_class"
92
112
  t.string "status"
93
113
  t.text "metadata"
94
114
  t.text "job_arguments"
95
- t.datetime "created_at"
96
- t.datetime "updated_at"
115
+ t.datetime "created_at", precision: nil
116
+ t.datetime "updated_at", precision: nil
97
117
  t.string "job_id"
98
118
  t.integer "fork_count"
99
119
  t.index ["job_id"], name: "index_canvas_sync_job_logs_on_job_id"
100
120
  end
101
121
 
102
122
  create_table "canvas_sync_sync_batches", id: :serial, force: :cascade do |t|
103
- t.datetime "started_at"
104
- t.datetime "completed_at"
123
+ t.datetime "started_at", precision: nil
124
+ t.datetime "completed_at", precision: nil
105
125
  t.string "status"
106
- t.datetime "created_at"
107
- t.datetime "updated_at"
126
+ t.datetime "created_at", precision: nil
127
+ t.datetime "updated_at", precision: nil
108
128
  t.boolean "full_sync", default: false
109
129
  t.string "batch_genre"
110
130
  t.string "batch_bid"
@@ -116,15 +136,15 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
116
136
  t.string "canvas_context_type"
117
137
  t.string "workflow_state"
118
138
  t.text "migration_settings"
119
- t.datetime "started_at"
120
- t.datetime "finished_at"
139
+ t.datetime "started_at", precision: nil
140
+ t.datetime "finished_at", precision: nil
121
141
  t.float "progress"
122
142
  t.bigint "canvas_source_course_id"
123
143
  t.string "migration_type"
124
144
  t.bigint "canvas_child_subscription_id"
125
145
  t.bigint "canvas_root_account_id"
126
- t.datetime "created_at", null: false
127
- t.datetime "updated_at", null: false
146
+ t.datetime "created_at", precision: nil, null: false
147
+ t.datetime "updated_at", precision: nil, null: false
128
148
  t.index ["canvas_id"], name: "index_content_migrations_on_canvas_id", unique: true
129
149
  end
130
150
 
@@ -136,8 +156,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
136
156
  t.string "canvas_content_type"
137
157
  t.bigint "canvas_assignment_id"
138
158
  t.string "workflow_state"
139
- t.datetime "created_at", null: false
140
- t.datetime "updated_at", null: false
159
+ t.datetime "created_at", precision: nil, null: false
160
+ t.datetime "updated_at", precision: nil, null: false
141
161
  t.index ["canvas_context_module_id"], name: "index_context_module_items_on_canvas_context_module_id"
142
162
  t.index ["canvas_id"], name: "index_context_module_items_on_canvas_id", unique: true
143
163
  end
@@ -149,12 +169,12 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
149
169
  t.integer "position"
150
170
  t.string "name"
151
171
  t.string "workflow_state"
152
- t.datetime "deleted_at"
153
- t.datetime "unlock_at"
154
- t.datetime "created_at", null: false
155
- t.datetime "updated_at", null: false
172
+ t.datetime "deleted_at", precision: nil
173
+ t.datetime "unlock_at", precision: nil
156
174
  t.text "completion_requirements"
157
175
  t.text "prerequisites"
176
+ t.datetime "created_at", precision: nil, null: false
177
+ t.datetime "updated_at", precision: nil, null: false
158
178
  t.index ["canvas_context_id", "canvas_context_type"], name: "index_context_modules_on_context"
159
179
  t.index ["canvas_id"], name: "index_context_modules_on_canvas_id", unique: true
160
180
  end
@@ -164,8 +184,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
164
184
  t.integer "canvas_user_id"
165
185
  t.integer "canvas_course_id"
166
186
  t.string "nickname"
167
- t.datetime "created_at", null: false
168
- t.datetime "updated_at", null: false
187
+ t.datetime "created_at", precision: nil, null: false
188
+ t.datetime "updated_at", precision: nil, null: false
169
189
  t.index ["canvas_course_id", "canvas_user_id"], name: "index_course_nicknames_on_canvas_course_id_and_canvas_user_id", unique: true
170
190
  t.index ["canvas_user_preference_value_id"], name: "index_course_nicknames_on_canvas_user_preference_value_id", unique: true
171
191
  end
@@ -175,12 +195,12 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
175
195
  t.bigint "canvas_user_id", null: false
176
196
  t.integer "requirement_count"
177
197
  t.integer "requirement_completed_count"
178
- t.datetime "completion_date"
179
- t.datetime "created_at", null: false
180
- t.datetime "updated_at", null: false
181
- t.index ["canvas_user_id"], name: "index_course_progresses_on_canvas_user_id"
198
+ t.datetime "completion_date", precision: nil
199
+ t.datetime "created_at", precision: nil, null: false
200
+ t.datetime "updated_at", precision: nil, null: false
182
201
  t.index ["canvas_course_id"], name: "index_course_progresses_on_canvas_course_id"
183
202
  t.index ["canvas_user_id", "canvas_course_id"], name: "index_course_progresses_on_canvas_user_id_and_canvas_course_id", unique: true
203
+ t.index ["canvas_user_id"], name: "index_course_progresses_on_canvas_user_id"
184
204
  end
185
205
 
186
206
  create_table "courses", force: :cascade do |t|
@@ -191,11 +211,11 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
191
211
  t.string "workflow_state"
192
212
  t.integer "canvas_account_id"
193
213
  t.integer "canvas_term_id"
194
- t.datetime "start_at"
195
- t.datetime "end_at"
214
+ t.datetime "start_at", precision: nil
215
+ t.datetime "end_at", precision: nil
196
216
  t.bigint "grading_standard_id"
197
- t.datetime "created_at", null: false
198
- t.datetime "updated_at", null: false
217
+ t.datetime "created_at", precision: nil, null: false
218
+ t.datetime "updated_at", precision: nil, null: false
199
219
  t.index ["canvas_id"], name: "index_courses_on_canvas_id", unique: true
200
220
  end
201
221
 
@@ -210,6 +230,7 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
210
230
  t.bigint "canvas_section_id"
211
231
  t.string "workflow_state"
212
232
  t.string "base_role_type"
233
+ t.datetime "completed_at"
213
234
  t.datetime "created_at", null: false
214
235
  t.datetime "updated_at", null: false
215
236
  t.index ["canvas_course_id"], name: "index_enrollments_on_canvas_course_id"
@@ -223,8 +244,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
223
244
  t.boolean "weighted"
224
245
  t.boolean "display_totals_for_all_grading_periods"
225
246
  t.string "workflow_state"
226
- t.datetime "created_at", null: false
227
- t.datetime "updated_at", null: false
247
+ t.datetime "created_at", precision: nil, null: false
248
+ t.datetime "updated_at", precision: nil, null: false
228
249
  t.index ["canvas_id"], name: "index_grading_period_groups_on_canvas_id", unique: true
229
250
  end
230
251
 
@@ -232,13 +253,13 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
232
253
  t.bigint "canvas_id", null: false
233
254
  t.string "title"
234
255
  t.float "weight"
235
- t.datetime "start_date"
236
- t.datetime "end_date"
237
- t.datetime "close_date"
256
+ t.datetime "start_date", precision: nil
257
+ t.datetime "end_date", precision: nil
258
+ t.datetime "close_date", precision: nil
238
259
  t.bigint "canvas_grading_period_group_id"
239
260
  t.string "workflow_state"
240
- t.datetime "created_at", null: false
241
- t.datetime "updated_at", null: false
261
+ t.datetime "created_at", precision: nil, null: false
262
+ t.datetime "updated_at", precision: nil, null: false
242
263
  t.index ["canvas_grading_period_group_id"], name: "index_grading_periods_on_canvas_grading_period_group_id"
243
264
  t.index ["canvas_id"], name: "index_grading_periods_on_canvas_id", unique: true
244
265
  end
@@ -250,8 +271,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
250
271
  t.string "group_sis_id"
251
272
  t.string "user_sis_id"
252
273
  t.string "workflow_state"
253
- t.datetime "created_at", null: false
254
- t.datetime "updated_at", null: false
274
+ t.datetime "created_at", precision: nil, null: false
275
+ t.datetime "updated_at", precision: nil, null: false
255
276
  t.index ["canvas_id"], name: "index_group_memberships_on_canvas_id", unique: true
256
277
  end
257
278
 
@@ -267,37 +288,13 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
267
288
  t.bigint "context_id"
268
289
  t.string "context_type"
269
290
  t.integer "max_membership"
270
- t.datetime "created_at", null: false
271
- t.datetime "updated_at", null: false
291
+ t.datetime "created_at", precision: nil, null: false
292
+ t.datetime "updated_at", precision: nil, null: false
272
293
  t.index ["canvas_id"], name: "index_groups_on_canvas_id", unique: true
273
294
  end
274
295
 
275
- create_table "learning_outcomes", force: :cascade do |t|
276
- t.bigint "canvas_id", null: false
277
- t.integer "canvas_context_id"
278
- t.string "canvas_context_type"
279
- t.string "name"
280
- t.string "friendly_name"
281
- t.string "workflow_state"
282
- t.datetime "canvas_created_at"
283
- t.datetime "canvas_updated_at"
284
- t.string "migration_id"
285
- t.string "vendor_guid"
286
- t.string "low_grade"
287
- t.string "high_grade"
288
- t.string "calculation_method"
289
- t.string "calculation_int"
290
- t.integer "outcome_import_id"
291
- t.integer "root_account_ids", default: [], array: true
292
- t.text "description"
293
- t.datetime "created_at", null: false
294
- t.datetime "updated_at", null: false
295
- t.index ["canvas_context_id", "canvas_context_type"], name: "index_learning_outcomes_on_context"
296
- t.index ["canvas_id"], name: "index_learning_outcomes_on_canvas_id", unique: true
297
- end
298
-
299
296
  create_table "learning_outcome_results", force: :cascade do |t|
300
- t.bigint "canvas_id", null: false
297
+ t.bigint "canvas_id", null: false
301
298
  t.bigint "canvas_context_id"
302
299
  t.string "canvas_context_type"
303
300
  t.bigint "canvas_association_id"
@@ -309,7 +306,7 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
309
306
  t.boolean "original_mastery"
310
307
  t.bigint "canvas_artifact_id"
311
308
  t.string "canvas_artifact_type"
312
- t.datetime "assessed_at"
309
+ t.datetime "assessed_at", precision: nil
313
310
  t.string "title"
314
311
  t.float "percent"
315
312
  t.bigint "canvas_associated_asset_id"
@@ -320,20 +317,37 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
320
317
  t.float "original_score"
321
318
  t.float "original_possible"
322
319
  t.string "workflow_state"
323
- t.datetime "created_at", null: false
324
- t.datetime "updated_at", null: false
325
- t.index "canvas_id", unique: true
326
- t.index [
327
- "canvas_user_id",
328
- "canvas_content_tag_id",
329
- "canvas_association_id",
330
- "canvas_association_type",
331
- "canvas_associated_asset_id",
332
- "canvas_associated_asset_type"
333
- ], unique: true, name: 'index_learning_outcome_results_association'
334
- t.index "canvas_content_tag_id"
335
- t.index "canvas_learning_outcome_id"
320
+ t.datetime "created_at", precision: nil, null: false
321
+ t.datetime "updated_at", precision: nil, null: false
336
322
  t.index ["canvas_artifact_id", "canvas_artifact_type"], name: "index_learning_outcome_results_on_canvas_arid_and_artype"
323
+ t.index ["canvas_content_tag_id"], name: "index_learning_outcome_results_on_canvas_content_tag_id"
324
+ t.index ["canvas_id"], name: "index_learning_outcome_results_on_canvas_id", unique: true
325
+ t.index ["canvas_learning_outcome_id"], name: "index_learning_outcome_results_on_canvas_learning_outcome_id"
326
+ t.index ["canvas_user_id", "canvas_content_tag_id", "canvas_association_id", "canvas_association_type", "canvas_associated_asset_id", "canvas_associated_asset_type"], name: "index_learning_outcome_results_association", unique: true
327
+ end
328
+
329
+ create_table "learning_outcomes", force: :cascade do |t|
330
+ t.bigint "canvas_id", null: false
331
+ t.integer "canvas_context_id"
332
+ t.string "canvas_context_type"
333
+ t.string "name"
334
+ t.string "friendly_name"
335
+ t.string "workflow_state"
336
+ t.datetime "canvas_created_at", precision: nil
337
+ t.datetime "canvas_updated_at", precision: nil
338
+ t.string "migration_id"
339
+ t.string "vendor_guid"
340
+ t.string "low_grade"
341
+ t.string "high_grade"
342
+ t.string "calculation_method"
343
+ t.string "calculation_int"
344
+ t.integer "outcome_import_id"
345
+ t.integer "root_account_ids", default: [], array: true
346
+ t.text "description"
347
+ t.datetime "created_at", precision: nil, null: false
348
+ t.datetime "updated_at", precision: nil, null: false
349
+ t.index ["canvas_context_id", "canvas_context_type"], name: "index_learning_outcomes_on_context"
350
+ t.index ["canvas_id"], name: "index_learning_outcomes_on_canvas_id", unique: true
337
351
  end
338
352
 
339
353
  create_table "pseudonyms", force: :cascade do |t|
@@ -342,8 +356,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
342
356
  t.string "sis_id"
343
357
  t.string "unique_id"
344
358
  t.string "workflow_state"
345
- t.datetime "created_at", null: false
346
- t.datetime "updated_at", null: false
359
+ t.datetime "created_at", precision: nil, null: false
360
+ t.datetime "updated_at", precision: nil, null: false
347
361
  t.index ["canvas_id"], name: "index_pseudonyms_on_canvas_id", unique: true
348
362
  t.index ["canvas_user_id"], name: "index_pseudonyms_on_canvas_user_id"
349
363
  end
@@ -355,97 +369,97 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
355
369
  t.integer "canvas_account_id"
356
370
  t.string "workflow_state"
357
371
  t.json "permissions"
358
- t.datetime "created_at", null: false
359
- t.datetime "updated_at", null: false
372
+ t.datetime "created_at", precision: nil, null: false
373
+ t.datetime "updated_at", precision: nil, null: false
360
374
  t.index ["canvas_account_id"], name: "index_roles_on_canvas_account_id"
361
375
  t.index ["canvas_id"], name: "index_roles_on_canvas_id", unique: true
362
376
  end
363
377
 
364
- create_table "rubrics", force: :cascade do |t|
365
- t.bigint "canvas_id", null: false
378
+ create_table "rubric_assessments", force: :cascade do |t|
379
+ t.bigint "canvas_id"
366
380
  t.bigint "canvas_user_id"
367
381
  t.bigint "canvas_rubric_id"
368
- t.bigint "canvas_context_id"
369
- t.string "canvas_context_type"
382
+ t.bigint "canvas_rubric_association_id"
383
+ t.float "score"
370
384
  t.text "data"
371
- t.float "points_possible"
372
- t.string "title"
373
- t.text "description"
374
- t.boolean "reusable"
375
- t.boolean "public"
376
- t.boolean "read_only"
377
- t.integer "association_count"
378
- t.boolean "free_form_criterion_comments"
379
- t.string "context_code"
380
- t.string "migration_id"
381
- t.boolean "hide_score_total"
382
- t.string "workflow_state"
383
- t.bigint "canvas_root_account_id"
385
+ t.bigint "canvas_artifact_id"
386
+ t.string "canvas_artifact_type"
387
+ t.string "assessment_type"
388
+ t.bigint "canvas_assessor_id"
389
+ t.integer "artifact_attempt"
384
390
  t.boolean "hide_points"
385
- t.string "rating_order"
386
- t.string "button_display"
387
- t.datetime "created_at", null: false
388
- t.datetime "updated_at", null: false
389
- t.index "canvas_id", name: "index_rubrics_on_canvas_id", unique: true
390
- t.index ["canvas_context_id", "canvas_context_type"], name: "index_rubrics_on_canvas_context_id_and_canvas_context_type"
391
- t.index "canvas_rubric_id", name: "index_rubrics_on_canvas_rubric_id"
392
- t.index "canvas_user_id", name: "index_rubrics_on_canvas_user_id"
393
- t.index "canvas_root_account_id", name: "index_rubrics_on_canvas_root_account_id"
391
+ t.bigint "canvas_root_account_id"
392
+ t.datetime "created_at", precision: nil, null: false
393
+ t.datetime "updated_at", precision: nil, null: false
394
+ t.index ["canvas_artifact_id", "canvas_artifact_type"], name: "index_rubric_assessments_on_canvas_aid_and_canvas_atype"
395
+ t.index ["canvas_assessor_id"], name: "index_rubric_assessments_on_canvas_assessor_id"
396
+ t.index ["canvas_id"], name: "index_rubric_assessments_on_canvas_id", unique: true
397
+ t.index ["canvas_root_account_id"], name: "index_rubric_assessments_on_canvas_root_account_id"
398
+ t.index ["canvas_rubric_association_id"], name: "index_rubric_assessments_on_canvas_rubric_association_id"
399
+ t.index ["canvas_rubric_id"], name: "index_rubric_assessments_on_canvas_rubric_id"
400
+ t.index ["canvas_user_id"], name: "index_rubric_assessments_on_canvas_user_id"
394
401
  end
395
402
 
396
403
  create_table "rubric_associations", force: :cascade do |t|
397
- t.integer "canvas_id", null: false
398
- t.integer "canvas_rubric_id"
399
- t.integer "canvas_association_id"
404
+ t.bigint "canvas_id", null: false
405
+ t.bigint "canvas_rubric_id"
406
+ t.bigint "canvas_association_id"
400
407
  t.string "canvas_association_type"
401
408
  t.boolean "use_for_grading"
402
- t.datetime "created_at"
403
- t.datetime "updated_at"
404
409
  t.string "title"
405
410
  t.text "description"
406
411
  t.text "summary_data"
407
412
  t.string "purpose"
408
413
  t.string "url"
409
- t.integer "canvas_context_id"
414
+ t.bigint "canvas_context_id"
410
415
  t.string "canvas_context_type"
411
416
  t.boolean "hide_score_total"
412
- t.string "context_code"
413
417
  t.boolean "bookmarked"
418
+ t.string "context_code"
414
419
  t.boolean "hide_points"
415
420
  t.boolean "hide_outcome_results"
416
421
  t.bigint "canvas_root_account_id"
417
422
  t.string "workflow_state"
418
- t.index ["canvas_id"], name: "index_rubric_associations_on_canvas_id", unique: true
423
+ t.datetime "created_at", precision: nil, null: false
424
+ t.datetime "updated_at", precision: nil, null: false
419
425
  t.index ["canvas_association_id", "canvas_association_type"], name: "index_rubric_associations_on_canvas_aid_and_canvas_atype"
420
- t.index ["context_code"], name: "index_rubric_associations_on_context_code"
421
426
  t.index ["canvas_context_id", "canvas_context_type"], name: "index_rubric_associations_on_canvas_cid_and_canvas_ctype"
422
- t.index ["canvas_rubric_id"], name: "index_rubric_associations_on_canvas_rubric_id"
427
+ t.index ["canvas_id"], name: "index_rubric_associations_on_canvas_id", unique: true
423
428
  t.index ["canvas_root_account_id"], name: "index_rubric_associations_on_canvas_root_account_id"
429
+ t.index ["canvas_rubric_id"], name: "index_rubric_associations_on_canvas_rubric_id"
430
+ t.index ["context_code"], name: "index_rubric_associations_on_context_code"
424
431
  end
425
432
 
426
- create_table "rubric_assessments", force: :cascade do |t|
427
- t.bigint "canvas_id"
433
+ create_table "rubrics", force: :cascade do |t|
434
+ t.bigint "canvas_id", null: false
428
435
  t.bigint "canvas_user_id"
429
436
  t.bigint "canvas_rubric_id"
430
- t.bigint "canvas_rubric_association_id"
431
- t.float "score"
437
+ t.bigint "canvas_context_id"
438
+ t.string "canvas_context_type"
432
439
  t.text "data"
433
- t.datetime "created_at"
434
- t.datetime "updated_at"
435
- t.bigint "canvas_artifact_id"
436
- t.string "canvas_artifact_type"
437
- t.string "assessment_type"
438
- t.bigint "canvas_assessor_id"
439
- t.integer "artifact_attempt"
440
- t.boolean "hide_points"
440
+ t.float "points_possible"
441
+ t.string "title"
442
+ t.text "description"
443
+ t.boolean "reusable"
444
+ t.boolean "public"
445
+ t.boolean "read_only"
446
+ t.integer "association_count"
447
+ t.boolean "free_form_criterion_comments"
448
+ t.string "context_code"
449
+ t.string "migration_id"
450
+ t.boolean "hide_score_total"
451
+ t.string "workflow_state"
441
452
  t.bigint "canvas_root_account_id"
442
- t.index ["canvas_id"], name: "index_rubric_assessments_on_canvas_id", unique: true
443
- t.index ["canvas_artifact_id", "canvas_artifact_type"], name: "index_rubric_assessments_on_canvas_aid_and_canvas_atype"
444
- t.index ["canvas_assessor_id"], name: "index_rubric_assessments_on_canvas_assessor_id"
445
- t.index ["canvas_rubric_association_id"], name: "index_rubric_assessments_on_canvas_rubric_association_id"
446
- t.index ["canvas_rubric_id"], name: "index_rubric_assessments_on_canvas_rubric_id"
447
- t.index ["canvas_user_id"], name: "index_rubric_assessments_on_canvas_user_id"
448
- t.index ["canvas_root_account_id"], name: "index_rubric_assessments_on_canvas_root_account_id"
453
+ t.boolean "hide_points"
454
+ t.string "rating_order"
455
+ t.string "button_display"
456
+ t.datetime "created_at", precision: nil, null: false
457
+ t.datetime "updated_at", precision: nil, null: false
458
+ t.index ["canvas_context_id", "canvas_context_type"], name: "index_rubrics_on_canvas_context_id_and_canvas_context_type"
459
+ t.index ["canvas_id"], name: "index_rubrics_on_canvas_id", unique: true
460
+ t.index ["canvas_root_account_id"], name: "index_rubrics_on_canvas_root_account_id"
461
+ t.index ["canvas_rubric_id"], name: "index_rubrics_on_canvas_rubric_id"
462
+ t.index ["canvas_user_id"], name: "index_rubrics_on_canvas_user_id"
449
463
  end
450
464
 
451
465
  create_table "sections", force: :cascade do |t|
@@ -455,10 +469,10 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
455
469
  t.bigint "canvas_nonxlist_course_id"
456
470
  t.string "name"
457
471
  t.string "workflow_state"
458
- t.datetime "start_at"
459
- t.datetime "end_at"
460
- t.datetime "created_at", null: false
461
- t.datetime "updated_at", null: false
472
+ t.datetime "start_at", precision: nil
473
+ t.datetime "end_at", precision: nil
474
+ t.datetime "created_at", precision: nil, null: false
475
+ t.datetime "updated_at", precision: nil, null: false
462
476
  t.index ["canvas_course_id"], name: "index_sections_on_canvas_course_id"
463
477
  t.index ["canvas_id"], name: "index_sections_on_canvas_id", unique: true
464
478
  end
@@ -468,15 +482,15 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
468
482
  t.bigint "canvas_course_id"
469
483
  t.bigint "canvas_assignment_id"
470
484
  t.bigint "canvas_user_id"
471
- t.datetime "submitted_at"
472
- t.datetime "due_at"
473
- t.datetime "graded_at"
485
+ t.datetime "submitted_at", precision: nil
486
+ t.datetime "due_at", precision: nil
487
+ t.datetime "graded_at", precision: nil
474
488
  t.float "score"
475
489
  t.float "points_possible"
476
490
  t.boolean "excused"
477
491
  t.string "workflow_state"
478
- t.datetime "created_at", null: false
479
- t.datetime "updated_at", null: false
492
+ t.datetime "created_at", precision: nil, null: false
493
+ t.datetime "updated_at", precision: nil, null: false
480
494
  t.index ["canvas_assignment_id"], name: "index_submissions_on_canvas_assignment_id"
481
495
  t.index ["canvas_course_id"], name: "index_submissions_on_canvas_course_id"
482
496
  t.index ["canvas_id"], name: "index_submissions_on_canvas_id", unique: true
@@ -486,13 +500,13 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
486
500
  create_table "terms", force: :cascade do |t|
487
501
  t.integer "canvas_id", null: false
488
502
  t.string "name"
489
- t.datetime "start_at"
490
- t.datetime "end_at"
503
+ t.datetime "start_at", precision: nil
504
+ t.datetime "end_at", precision: nil
491
505
  t.string "workflow_state"
492
506
  t.integer "grading_period_group_id"
493
507
  t.string "sis_id"
494
- t.datetime "created_at", null: false
495
- t.datetime "updated_at", null: false
508
+ t.datetime "created_at", precision: nil, null: false
509
+ t.datetime "updated_at", precision: nil, null: false
496
510
  t.index ["canvas_id"], name: "index_terms_on_canvas_id", unique: true
497
511
  end
498
512
 
@@ -500,8 +514,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
500
514
  t.bigint "observing_user_id"
501
515
  t.bigint "observed_user_id"
502
516
  t.string "workflow_state"
503
- t.datetime "created_at", null: false
504
- t.datetime "updated_at", null: false
517
+ t.datetime "created_at", precision: nil, null: false
518
+ t.datetime "updated_at", precision: nil, null: false
505
519
  t.index ["observed_user_id", "observing_user_id"], name: "index_user_observers_on_observed_user_id_and_observing_user_id", unique: true
506
520
  t.index ["observed_user_id"], name: "index_user_observers_on_observed_user_id"
507
521
  t.index ["observing_user_id"], name: "index_user_observers_on_observing_user_id"
@@ -516,8 +530,8 @@ ActiveRecord::Schema.define(version: 2024_05_23_101010) do
516
530
  t.string "login_id"
517
531
  t.string "name"
518
532
  t.string "sortable_name"
519
- t.datetime "created_at", null: false
520
- t.datetime "updated_at", null: false
533
+ t.datetime "created_at", precision: nil, null: false
534
+ t.datetime "updated_at", precision: nil, null: false
521
535
  t.index ["canvas_id"], name: "index_users_on_canvas_id", unique: true
522
536
  end
523
537
 
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :assignment_override do
3
+ sequence(:canvas_id) { |n| n }
4
+ sequence(:title) { |n| "Override #{n}" }
5
+ workflow_state { 'active' }
6
+
7
+ association :assignment
8
+ association :course
9
+ end
10
+ end
File without changes
File without changes
File without changes
File without changes
File without changes