edx-enterprise-data 4.11.1__tar.gz → 5.0.0__tar.gz

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 (154) hide show
  1. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/CHANGELOG.rst +10 -0
  2. {edx-enterprise-data-4.11.1/edx_enterprise_data.egg-info → edx-enterprise-data-5.0.0}/PKG-INFO +1 -1
  3. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0/edx_enterprise_data.egg-info}/PKG-INFO +1 -1
  4. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/__init__.py +1 -1
  5. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/views.py +28 -7
  6. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/test_views.py +3 -3
  7. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/base.txt +12 -11
  8. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/ci.txt +3 -3
  9. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/dev.txt +35 -27
  10. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/pip.txt +2 -2
  11. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/pip_tools.txt +3 -3
  12. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/quality.txt +37 -29
  13. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/test-master.txt +27 -13
  14. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/test-reporting.txt +12 -12
  15. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/test.txt +14 -13
  16. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/LICENSE +0 -0
  17. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/MANIFEST.in +0 -0
  18. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/README.md +0 -0
  19. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/SOURCES.txt +0 -0
  20. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/dependency_links.txt +0 -0
  21. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/not-zip-safe +0 -0
  22. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/requires.txt +0 -0
  23. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/top_level.txt +0 -0
  24. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/__init__.py +0 -0
  25. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/urls.py +0 -0
  26. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/__init__.py +0 -0
  27. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/serializers.py +0 -0
  28. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/urls.py +0 -0
  29. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/views.py +0 -0
  30. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/__init__.py +0 -0
  31. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/serializers.py +0 -0
  32. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/urls.py +0 -0
  33. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/apps.py +0 -0
  34. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/clients.py +0 -0
  35. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/constants.py +0 -0
  36. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/filters.py +0 -0
  37. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/fixtures/enterprise_enrollment.json +0 -0
  38. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/fixtures/enterprise_user.json +0 -0
  39. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/__init__.py +0 -0
  40. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/__init__.py +0 -0
  41. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_dummy_data.py +0 -0
  42. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_dummy_data_lpr_v1.py +0 -0
  43. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_enrollment.py +0 -0
  44. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_learner_enrollment_lpr_v1.py +0 -0
  45. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_learner_lpr_v1.py +0 -0
  46. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_offer.py +0 -0
  47. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_user.py +0 -0
  48. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/__init__.py +0 -0
  49. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_dummy_data_lpr_v1.py +0 -0
  50. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_enrollment.py +0 -0
  51. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_enrollment_lpr_v1.py +0 -0
  52. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_lpr_v1.py +0 -0
  53. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_user.py +0 -0
  54. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0001_initial.py +0 -0
  55. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0002_auto_20180430_1358.py +0 -0
  56. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0003_auto_20180501_0603.py +0 -0
  57. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0004_auto_20180501_0928.py +0 -0
  58. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0004_auto_20180508_1652.py +0 -0
  59. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0005_auto_20180524_2204.py +0 -0
  60. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0006_auto_20180612_0336.py +0 -0
  61. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0007_auto_20180612_0534.py +0 -0
  62. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0008_auto_20180614_0108.py +0 -0
  63. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0009_auto_20180628_1152.py +0 -0
  64. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0010_enterpriseenrollment_created.py +0 -0
  65. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0011_enterpriseuser.py +0 -0
  66. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0012_auto_20180831_1930.py +0 -0
  67. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0013_auto_20180831_1931.py +0 -0
  68. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0014_enterpriseuser_created.py +0 -0
  69. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0015_auto_20180907_1757.py +0 -0
  70. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0016_auto_20180924_2138.py +0 -0
  71. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0017_enterpriseenrollment_unenrollment_timestamp.py +0 -0
  72. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0018_enterprisedatafeaturerole_enterprisedataroleassignment.py +0 -0
  73. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0019_add_enterprise_data_feature_roles.py +0 -0
  74. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0020_add_role_based_access_control_switch.py +0 -0
  75. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0021_auto_20190329_1241.py +0 -0
  76. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0022_remove_role_based_access_control_switch.py +0 -0
  77. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0023_enterpriselearner_enterpriselearnerenrollment.py +0 -0
  78. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0024_auto_20210602_1811.py +0 -0
  79. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0025_auto_20210703_1854.py +0 -0
  80. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0026_auto_20210916_0414.py +0 -0
  81. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0027_enterpriselearnerenrollment_total_learning_time_seconds.py +0 -0
  82. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0028_enterpriselearnerenrollment_offer_id.py +0 -0
  83. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0029_enterpriseoffer.py +0 -0
  84. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0030_auto_20230609_1353.py +0 -0
  85. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0031_auto_20230615_0705.py +0 -0
  86. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0032_auto_20230704_0818.py +0 -0
  87. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0033_enterpriseadminlearnerprogress_enterpriseadminsummarizeinsights.py +0 -0
  88. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/__init__.py +0 -0
  89. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/models.py +0 -0
  90. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/paginators.py +0 -0
  91. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/settings/__init__.py +0 -0
  92. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/settings/test.py +0 -0
  93. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/signals.py +0 -0
  94. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/__init__.py +0 -0
  95. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/__init__.py +0 -0
  96. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v0/__init__.py +0 -0
  97. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v0/test_serializers.py +0 -0
  98. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/__init__.py +0 -0
  99. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/test_serializers.py +0 -0
  100. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/factories.py +0 -0
  101. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/mixins.py +0 -0
  102. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_clients.py +0 -0
  103. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_filters.py +0 -0
  104. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_models.py +0 -0
  105. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_utils.py +0 -0
  106. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_views.py +0 -0
  107. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/urls.py +0 -0
  108. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data/utils.py +0 -0
  109. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/__init__.py +0 -0
  110. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/admin.py +0 -0
  111. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/apps.py +0 -0
  112. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/constants.py +0 -0
  113. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0001_initial.py +0 -0
  114. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0002_add_enterprise_data_feature_roles.py +0 -0
  115. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0003_add_role_based_access_control_switch.py +0 -0
  116. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0004_enterprisedataroleassignment_enterprise_id.py +0 -0
  117. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0005_turn_on_role_based_access_control_switch.py +0 -0
  118. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0006_remove_role_based_access_control_switch.py +0 -0
  119. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0007_enterprisedataroleassignment_applies_to_all_contexts.py +0 -0
  120. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/__init__.py +0 -0
  121. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/models.py +0 -0
  122. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/rules.py +0 -0
  123. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/__init__.py +0 -0
  124. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/factories.py +0 -0
  125. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/test_models.py +0 -0
  126. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/__init__.py +0 -0
  127. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/__init__.py +0 -0
  128. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/enterprise.py +0 -0
  129. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/s3.py +0 -0
  130. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/snowflake.py +0 -0
  131. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/vertica.py +0 -0
  132. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/delivery_method.py +0 -0
  133. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/external_resource_link_report.py +0 -0
  134. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/fixtures/__init__.py +0 -0
  135. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/fixtures/enterprise_customer_reporting.json +0 -0
  136. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/reporter.py +0 -0
  137. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/send_enterprise_reports.py +0 -0
  138. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/__init__.py +0 -0
  139. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_clients.py +0 -0
  140. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_delivery_method.py +0 -0
  141. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_enterprise_client.py +0 -0
  142. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_external_link_report.py +0 -0
  143. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_reporter.py +0 -0
  144. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_send_enterprise_reports.py +0 -0
  145. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_utils.py +0 -0
  146. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_vertica_client.py +0 -0
  147. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/utils.py +0 -0
  148. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/enterprise_reporting/utils.py +0 -0
  149. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/base.in +0 -0
  150. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/constraints.txt +0 -0
  151. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/django.txt +0 -0
  152. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/requirements/reporting.in +0 -0
  153. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/setup.cfg +0 -0
  154. {edx-enterprise-data-4.11.1 → edx-enterprise-data-5.0.0}/setup.py +0 -0
@@ -15,6 +15,16 @@ Unreleased
15
15
  ----------
16
16
 
17
17
  =========================
18
+ [5.0.0] - 2023-08-22
19
+ ---------------------
20
+ * Rename `summary` to `learner_engagement` in `EnterpriseLearnerEnrollmentViewSet` response
21
+
22
+
23
+ [4.11.2] - 2023-08-18
24
+ ---------------------
25
+ * Fix offer id filtering in `EnterpriseLearnerEnrollmentViewSet`
26
+
27
+
18
28
  [4.11.1] - 2023-08-17
19
29
  ---------------------
20
30
  * Add api filtering for `EnterpriseLearnerEnrollmentViewSet` for course_title or user_email
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 4.11.1
3
+ Version: 5.0.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 4.11.1
3
+ Version: 5.0.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -2,6 +2,6 @@
2
2
  Enterprise data api application. This Django app exposes API endpoints used by enterprises.
3
3
  """
4
4
 
5
- __version__ = "4.11.1"
5
+ __version__ = "5.0.0"
6
6
 
7
7
  default_app_config = "enterprise_data.apps.EnterpriseDataAppConfig" # pylint: disable=invalid-name
@@ -2,9 +2,9 @@
2
2
  Views for enterprise api v1.
3
3
  """
4
4
 
5
-
6
5
  from datetime import date, timedelta
7
6
  from logging import getLogger
7
+ from uuid import UUID
8
8
 
9
9
  from django_filters.rest_framework import DjangoFilterBackend
10
10
  from edx_django_utils.cache import TieredCache
@@ -181,7 +181,7 @@ class EnterpriseLearnerEnrollmentViewSet(EnterpriseViewSetMixin, viewsets.ReadOn
181
181
 
182
182
  offer_id = query_filters.get('offer_id')
183
183
  if offer_id:
184
- queryset = queryset.filter(offer_id=offer_id)
184
+ queryset = self.filter_by_offer_id(queryset, offer_id)
185
185
 
186
186
  ignore_null_course_list_price = query_filters.get('ignore_null_course_list_price')
187
187
  if ignore_null_course_list_price:
@@ -197,6 +197,27 @@ class EnterpriseLearnerEnrollmentViewSet(EnterpriseViewSetMixin, viewsets.ReadOn
197
197
 
198
198
  return queryset
199
199
 
200
+ def filter_by_offer_id(self, queryset, offer_id):
201
+ """
202
+ Filter queryset by `offer_id`
203
+ """
204
+ # offer_id field in table contains two types of data
205
+ # 1. integer
206
+ # 2. uuid
207
+ # In table, uuids are stored without hyphen and in lower case
208
+ # but api clients are sending uuids with hyphen and that causes the issue
209
+ # we need to remove the hyphens from uuid, convert the uuid to lower case and then do a compare in DB
210
+
211
+ # if offer_id is a uuid only then do the transformation
212
+ try:
213
+ offer_id_uuid_obj = UUID(offer_id, version=4)
214
+ offer_id = str(offer_id_uuid_obj)
215
+ offer_id = offer_id.replace('-', '')
216
+ except ValueError:
217
+ pass
218
+
219
+ return queryset.filter(offer_id=offer_id)
220
+
200
221
  def filter_active_enrollments(self, queryset):
201
222
  """
202
223
  Filters queryset to include enrollments with course date in future
@@ -471,7 +492,7 @@ class EnterpriseAdminInsightsView(APIView):
471
492
  """
472
493
  response_data = {}
473
494
  learner_progress = {}
474
- summary = {}
495
+ learner_engagement = {}
475
496
 
476
497
  try:
477
498
  learner_progress = EnterpriseAdminLearnerProgress.objects.get(enterprise_customer_uuid=enterprise_id)
@@ -481,14 +502,14 @@ class EnterpriseAdminInsightsView(APIView):
481
502
  pass
482
503
 
483
504
  try:
484
- summary = EnterpriseAdminSummarizeInsights.objects.get(enterprise_customer_uuid=enterprise_id)
485
- summary = serializers.EnterpriseAdminSummarizeInsightsSerializer(summary).data
486
- response_data['summary'] = summary
505
+ learner_engagement = EnterpriseAdminSummarizeInsights.objects.get(enterprise_customer_uuid=enterprise_id)
506
+ learner_engagement = serializers.EnterpriseAdminSummarizeInsightsSerializer(learner_engagement).data
507
+ response_data['learner_engagement'] = learner_engagement
487
508
  except EnterpriseAdminSummarizeInsights.DoesNotExist:
488
509
  pass
489
510
 
490
511
  status = HTTP_200_OK
491
- if learner_progress == {} and summary == {}:
512
+ if learner_progress == {} and learner_engagement == {}:
492
513
  status = HTTP_404_NOT_FOUND
493
514
 
494
515
  return Response(data=response_data, status=status)
@@ -338,7 +338,7 @@ class TestEnterpriseAdminInsightsView(JWTTestMixin, APITransactionTestCase):
338
338
  learner_progress_obj = EnterpriseAdminLearnerProgressFactory.create(
339
339
  enterprise_customer_uuid=enterprise_customer_uuid
340
340
  )
341
- summary_obj = EnterpriseAdminSummarizeInsightsFactory.create(
341
+ learner_engagement_obj = EnterpriseAdminSummarizeInsightsFactory.create(
342
342
  enterprise_customer_uuid=enterprise_customer_uuid
343
343
  )
344
344
 
@@ -350,8 +350,8 @@ class TestEnterpriseAdminInsightsView(JWTTestMixin, APITransactionTestCase):
350
350
 
351
351
  learner_progress = response_json['learner_progress']
352
352
  self.verify_data(learner_progress, learner_progress_obj)
353
- summary = response_json['summary']
354
- self.verify_data(summary, summary_obj)
353
+ learner_engagement = response_json['learner_engagement']
354
+ self.verify_data(learner_engagement, learner_engagement_obj)
355
355
 
356
356
  def test_retrieve_enterprise_admin_insights_no_data(self):
357
357
  """
@@ -12,22 +12,22 @@ asn1crypto==1.5.1
12
12
  # via
13
13
  # oscrypto
14
14
  # snowflake-connector-python
15
- awscli==1.28.0
15
+ awscli==1.29.10
16
16
  # via -r requirements/reporting.in
17
17
  bcrypt==4.0.1
18
18
  # via paramiko
19
19
  billiard==3.6.4.0
20
20
  # via celery
21
- boto3==1.27.0
21
+ boto3==1.28.10
22
22
  # via -r requirements/reporting.in
23
- botocore==1.30.0
23
+ botocore==1.31.10
24
24
  # via
25
25
  # awscli
26
26
  # boto3
27
27
  # s3transfer
28
28
  celery==4.4.7
29
29
  # via -r requirements/reporting.in
30
- certifi==2023.5.7
30
+ certifi==2023.7.22
31
31
  # via
32
32
  # py2neo
33
33
  # requests
@@ -37,11 +37,11 @@ cffi==1.15.1
37
37
  # cryptography
38
38
  # pynacl
39
39
  # snowflake-connector-python
40
- charset-normalizer==3.1.0
40
+ charset-normalizer==3.2.0
41
41
  # via
42
42
  # requests
43
43
  # snowflake-connector-python
44
- click==8.1.3
44
+ click==8.1.6
45
45
  # via edx-django-utils
46
46
  colorama==0.4.4
47
47
  # via awscli
@@ -91,7 +91,7 @@ docutils==0.16
91
91
  # via awscli
92
92
  drf-jwt==1.19.2
93
93
  # via edx-drf-extensions
94
- edx-django-utils==5.5.0
94
+ edx-django-utils==5.6.0
95
95
  # via
96
96
  # -r requirements/base.in
97
97
  # edx-drf-extensions
@@ -108,9 +108,9 @@ edx-rbac==1.7.0
108
108
  # via -r requirements/base.in
109
109
  edx-rest-api-client==5.5.2
110
110
  # via -r requirements/base.in
111
- factory-boy==3.2.1
111
+ factory-boy==3.3.0
112
112
  # via -r requirements/base.in
113
- faker==18.11.2
113
+ faker==19.2.0
114
114
  # via factory-boy
115
115
  filelock==3.12.2
116
116
  # via snowflake-connector-python
@@ -158,7 +158,7 @@ pycryptodomex==3.18.0
158
158
  # via snowflake-connector-python
159
159
  pygments==2.15.1
160
160
  # via py2neo
161
- pyjwt[crypto]==2.7.0
161
+ pyjwt[crypto]==2.8.0
162
162
  # via
163
163
  # drf-jwt
164
164
  # edx-drf-extensions
@@ -187,7 +187,7 @@ pytz==2023.3
187
187
  # djangorestframework
188
188
  # interchange
189
189
  # snowflake-connector-python
190
- pyyaml==5.4.1
190
+ pyyaml==6.0.1
191
191
  # via awscli
192
192
  requests==2.31.0
193
193
  # via
@@ -230,6 +230,7 @@ stevedore==5.1.0
230
230
  typing-extensions==4.7.1
231
231
  # via
232
232
  # asgiref
233
+ # faker
233
234
  # snowflake-connector-python
234
235
  unicodecsv==0.14.1
235
236
  # via -r requirements/reporting.in
@@ -6,7 +6,7 @@
6
6
  #
7
7
  coverage==7.2.7
8
8
  # via -r requirements/ci.in
9
- distlib==0.3.6
9
+ distlib==0.3.7
10
10
  # via virtualenv
11
11
  filelock==3.12.2
12
12
  # via
@@ -14,7 +14,7 @@ filelock==3.12.2
14
14
  # virtualenv
15
15
  packaging==23.1
16
16
  # via tox
17
- platformdirs==3.8.0
17
+ platformdirs==3.9.1
18
18
  # via virtualenv
19
19
  pluggy==1.2.0
20
20
  # via tox
@@ -31,5 +31,5 @@ tox==3.28.0
31
31
  # tox-battery
32
32
  tox-battery==0.6.1
33
33
  # via -r requirements/ci.in
34
- virtualenv==20.23.1
34
+ virtualenv==20.24.2
35
35
  # via tox
@@ -12,11 +12,11 @@ asn1crypto==1.5.1
12
12
  # via
13
13
  # oscrypto
14
14
  # snowflake-connector-python
15
- astroid==2.15.5
15
+ astroid==2.15.6
16
16
  # via
17
17
  # pylint
18
18
  # pylint-celery
19
- awscli==1.28.0
19
+ awscli==1.29.10
20
20
  # via -r requirements/reporting.in
21
21
  bcrypt==4.0.1
22
22
  # via paramiko
@@ -24,9 +24,9 @@ billiard==3.6.4.0
24
24
  # via celery
25
25
  bleach==6.0.0
26
26
  # via readme-renderer
27
- boto3==1.27.0
27
+ boto3==1.28.10
28
28
  # via -r requirements/reporting.in
29
- botocore==1.30.0
29
+ botocore==1.31.10
30
30
  # via
31
31
  # awscli
32
32
  # boto3
@@ -35,7 +35,7 @@ build==0.10.0
35
35
  # via pip-tools
36
36
  celery==4.4.7
37
37
  # via -r requirements/reporting.in
38
- certifi==2023.5.7
38
+ certifi==2023.7.22
39
39
  # via
40
40
  # py2neo
41
41
  # requests
@@ -47,11 +47,11 @@ cffi==1.15.1
47
47
  # snowflake-connector-python
48
48
  chardet==5.1.0
49
49
  # via diff-cover
50
- charset-normalizer==3.1.0
50
+ charset-normalizer==3.2.0
51
51
  # via
52
52
  # requests
53
53
  # snowflake-connector-python
54
- click==8.1.3
54
+ click==8.1.6
55
55
  # via
56
56
  # click-log
57
57
  # code-annotations
@@ -60,7 +60,7 @@ click==8.1.3
60
60
  # pip-tools
61
61
  click-log==0.4.0
62
62
  # via edx-lint
63
- code-annotations==1.3.0
63
+ code-annotations==1.5.0
64
64
  # via edx-lint
65
65
  colorama==0.4.4
66
66
  # via awscli
@@ -72,12 +72,13 @@ cryptography==40.0.2
72
72
  # pgpy
73
73
  # pyjwt
74
74
  # pyopenssl
75
+ # secretstorage
75
76
  # snowflake-connector-python
76
- diff-cover==7.6.0
77
+ diff-cover==7.7.0
77
78
  # via -r requirements/dev-enterprise_data.in
78
- dill==0.3.6
79
+ dill==0.3.7
79
80
  # via pylint
80
- distlib==0.3.6
81
+ distlib==0.3.7
81
82
  # via virtualenv
82
83
  django==3.2.20
83
84
  # via
@@ -119,7 +120,7 @@ docutils==0.16
119
120
  # readme-renderer
120
121
  drf-jwt==1.19.2
121
122
  # via edx-drf-extensions
122
- edx-django-utils==5.5.0
123
+ edx-django-utils==5.6.0
123
124
  # via
124
125
  # -r requirements/base.in
125
126
  # edx-drf-extensions
@@ -128,7 +129,7 @@ edx-drf-extensions==8.8.0
128
129
  # via
129
130
  # -r requirements/base.in
130
131
  # edx-rbac
131
- edx-i18n-tools==0.9.2
132
+ edx-i18n-tools==1.0.0
132
133
  # via -r requirements/dev-enterprise_data.in
133
134
  edx-lint==5.3.4
134
135
  # via
@@ -142,9 +143,9 @@ edx-rbac==1.7.0
142
143
  # via -r requirements/base.in
143
144
  edx-rest-api-client==5.5.2
144
145
  # via -r requirements/base.in
145
- factory-boy==3.2.1
146
+ factory-boy==3.3.0
146
147
  # via -r requirements/base.in
147
- faker==18.11.2
148
+ faker==19.2.0
148
149
  # via factory-boy
149
150
  filelock==3.12.2
150
151
  # via
@@ -155,11 +156,11 @@ idna==3.4
155
156
  # via
156
157
  # requests
157
158
  # snowflake-connector-python
158
- importlib-metadata==6.7.0
159
+ importlib-metadata==6.8.0
159
160
  # via
160
161
  # keyring
161
162
  # twine
162
- importlib-resources==5.12.0
163
+ importlib-resources==6.0.0
163
164
  # via keyring
164
165
  interchange==2021.0.4
165
166
  # via py2neo
@@ -167,8 +168,12 @@ isort==5.12.0
167
168
  # via
168
169
  # -r requirements/quality.in
169
170
  # pylint
170
- jaraco-classes==3.2.3
171
+ jaraco-classes==3.3.0
171
172
  # via keyring
173
+ jeepney==0.8.0
174
+ # via
175
+ # keyring
176
+ # secretstorage
172
177
  jinja2==3.1.2
173
178
  # via
174
179
  # code-annotations
@@ -193,7 +198,7 @@ mdurl==0.1.2
193
198
  # via markdown-it-py
194
199
  monotonic==1.6
195
200
  # via py2neo
196
- more-itertools==9.1.0
201
+ more-itertools==10.0.0
197
202
  # via jaraco-classes
198
203
  newrelic==8.8.1
199
204
  # via edx-django-utils
@@ -209,17 +214,17 @@ pansi==2020.7.3
209
214
  # via py2neo
210
215
  paramiko==3.2.0
211
216
  # via -r requirements/reporting.in
212
- path==16.6.0
217
+ path==16.7.1
213
218
  # via edx-i18n-tools
214
219
  pbr==5.11.1
215
220
  # via stevedore
216
221
  pgpy==0.6.0
217
222
  # via -r requirements/reporting.in
218
- pip-tools==6.14.0
223
+ pip-tools==7.1.0
219
224
  # via -r requirements/dev-enterprise_data.in
220
225
  pkginfo==1.9.6
221
226
  # via twine
222
- platformdirs==3.8.0
227
+ platformdirs==3.9.1
223
228
  # via
224
229
  # pylint
225
230
  # virtualenv
@@ -253,7 +258,7 @@ pygments==2.15.1
253
258
  # py2neo
254
259
  # readme-renderer
255
260
  # rich
256
- pyjwt[crypto]==2.7.0
261
+ pyjwt[crypto]==2.8.0
257
262
  # via
258
263
  # drf-jwt
259
264
  # edx-drf-extensions
@@ -300,7 +305,7 @@ pytz==2023.3
300
305
  # djangorestframework
301
306
  # interchange
302
307
  # snowflake-connector-python
303
- pyyaml==5.4.1
308
+ pyyaml==6.0.1
304
309
  # via
305
310
  # awscli
306
311
  # code-annotations
@@ -330,6 +335,8 @@ s3transfer==0.6.1
330
335
  # via
331
336
  # awscli
332
337
  # boto3
338
+ secretstorage==3.3.3
339
+ # via keyring
333
340
  semantic-version==2.10.0
334
341
  # via edx-drf-extensions
335
342
  six==1.16.0
@@ -385,6 +392,7 @@ typing-extensions==4.7.1
385
392
  # via
386
393
  # asgiref
387
394
  # astroid
395
+ # faker
388
396
  # pylint
389
397
  # rich
390
398
  # snowflake-connector-python
@@ -403,17 +411,17 @@ vine==1.3.0
403
411
  # via
404
412
  # amqp
405
413
  # celery
406
- virtualenv==20.23.1
414
+ virtualenv==20.24.2
407
415
  # via tox
408
416
  webencodings==0.5.1
409
417
  # via bleach
410
- wheel==0.40.0
418
+ wheel==0.41.0
411
419
  # via
412
420
  # -r requirements/dev-enterprise_data.in
413
421
  # pip-tools
414
422
  wrapt==1.15.0
415
423
  # via astroid
416
- zipp==3.15.0
424
+ zipp==3.16.2
417
425
  # via
418
426
  # importlib-metadata
419
427
  # importlib-resources
@@ -4,11 +4,11 @@
4
4
  #
5
5
  # make upgrade
6
6
  #
7
- wheel==0.40.0
7
+ wheel==0.41.0
8
8
  # via -r requirements/pip.in
9
9
 
10
10
  # The following packages are considered to be unsafe in a requirements file:
11
- pip==23.1.2
11
+ pip==23.2.1
12
12
  # via -r requirements/pip.in
13
13
  setuptools==68.0.0
14
14
  # via -r requirements/pip.in
@@ -6,11 +6,11 @@
6
6
  #
7
7
  build==0.10.0
8
8
  # via pip-tools
9
- click==8.1.3
9
+ click==8.1.6
10
10
  # via pip-tools
11
11
  packaging==23.1
12
12
  # via build
13
- pip-tools==6.14.0
13
+ pip-tools==7.1.0
14
14
  # via -r requirements/pip_tools.in
15
15
  pyproject-hooks==1.0.0
16
16
  # via build
@@ -18,7 +18,7 @@ tomli==2.0.1
18
18
  # via
19
19
  # build
20
20
  # pip-tools
21
- wheel==0.40.0
21
+ wheel==0.41.0
22
22
  # via pip-tools
23
23
 
24
24
  # The following packages are considered to be unsafe in a requirements file: