edx-enterprise-data 8.11.0__py3-none-any.whl → 8.11.1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 8.11.0
3
+ Version: 8.11.1
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -1,4 +1,4 @@
1
- enterprise_data/__init__.py,sha256=43cEhgzFHOpsMk6l_FF2WJGDjIlxTPg6xfJU8UsyHrA,124
1
+ enterprise_data/__init__.py,sha256=XT15XKKqKMAKtb0mKrGHjwWzDy3Y_AMCd_U5UKSh5Rc,124
2
2
  enterprise_data/apps.py,sha256=aF6hZwDfI2oWj95tUTm_2ikHueQj-jLj-u0GrgzpsQI,414
3
3
  enterprise_data/clients.py,sha256=GvQupy5TVYfO_IKC3yzXSAgNP54r-PtIjidM5ws9Iks,3947
4
4
  enterprise_data/constants.py,sha256=uCKjfpdlMYFZJsAj3n9RMw4Cmg5_6s3NuwocO-fch3s,238
@@ -22,7 +22,7 @@ enterprise_data/admin_analytics/database/queries/fact_enrollment_admin_dash.py,s
22
22
  enterprise_data/admin_analytics/database/tables/__init__.py,sha256=3ECKlKlz1wuTER5M57CMFvmLFp0oCnVQXAUeTN96Bs0,213
23
23
  enterprise_data/admin_analytics/database/tables/base.py,sha256=1KyKsC18pW3m-5U-T6pdt5rIwsz6Wp3QFFbD3r6L6YQ,395
24
24
  enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py,sha256=EsG8KgRW84wtA_nJuUknjLYlDtaPSJf_9mWdkO2Bj2I,1293
25
- enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py,sha256=SLnhWEfbQfeaUWT1a7H5ZCTq3XMMrzO_6iG-g6kMry4,2571
25
+ enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py,sha256=WiFWVF4TsDhLlDQr-3FuqTrzFy7Qv1Y5EnwZXYhdTrM,2962
26
26
  enterprise_data/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  enterprise_data/api/urls.py,sha256=POqc_KATHdnpMf9zHtpO46pKD5KAlAExtx7G6iylLcU,273
28
28
  enterprise_data/api/v0/__init__.py,sha256=1aAzAYU5hk-RW6cKUxa1645cbZMxn7GIZ7OMjWc9MKI,46
@@ -38,7 +38,7 @@ enterprise_data/api/v1/views/analytics_engagements.py,sha256=8H3Fk-hTqJaU3H5Lpu1
38
38
  enterprise_data/api/v1/views/analytics_enrollments.py,sha256=trC92GOej6vUoju53KT3dPEDnoPHdukfXEIXPThz76A,16886
39
39
  enterprise_data/api/v1/views/analytics_leaderboard.py,sha256=2DALqzUIbe4-ZGgHHIkYAKJ5L1ik2ruPtQNYtTdPba4,5974
40
40
  enterprise_data/api/v1/views/base.py,sha256=FTAxlz5EzvAY657wzVgzhJPFSCHHzct7IDcvm71Smt8,866
41
- enterprise_data/api/v1/views/enterprise_admin.py,sha256=_HfQ46bIC6uU3knCWhGLnsWf_YGtsjYHU5UrwG6sdfA,8568
41
+ enterprise_data/api/v1/views/enterprise_admin.py,sha256=d79WkyBbqLk6pKGWWrnbYdrbOgQztP03Q7NKRA5tZB4,8639
42
42
  enterprise_data/api/v1/views/enterprise_completions.py,sha256=bJG2ZtTbLyiBrj64iJHQNHEKLrJCzl9OuJ7nDtw-9aY,8377
43
43
  enterprise_data/api/v1/views/enterprise_learner.py,sha256=yABjJje3CT8I8YOhWr1_tTkdKtnGJom8eu3EFz_-0BU,18517
44
44
  enterprise_data/api/v1/views/enterprise_offers.py,sha256=VifxgqTLFLVw4extYPlHcN1N_yjXcsYsAlYEnAbpb10,1266
@@ -169,8 +169,8 @@ enterprise_reporting/tests/test_send_enterprise_reports.py,sha256=WtL-RqGgu2x5PP
169
169
  enterprise_reporting/tests/test_utils.py,sha256=Zt_TA0LVb-B6fQGkUkAKKVlUKKnQh8jnw1US1jKe7g8,9493
170
170
  enterprise_reporting/tests/test_vertica_client.py,sha256=-R2yNCGUjRtoXwLMBloVFQkFYrJoo613VCr61gwI3kQ,140
171
171
  enterprise_reporting/tests/utils.py,sha256=xms2LM7DV3wczXEfctOK1ddel1EE0J_YSr17UzbCDy4,1401
172
- edx_enterprise_data-8.11.0.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
173
- edx_enterprise_data-8.11.0.dist-info/METADATA,sha256=21GMLdFJo9VqGsBOCJgld3rUyVhCwGTZPXEYjPb3Ou4,1570
174
- edx_enterprise_data-8.11.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
175
- edx_enterprise_data-8.11.0.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
176
- edx_enterprise_data-8.11.0.dist-info/RECORD,,
172
+ edx_enterprise_data-8.11.1.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
173
+ edx_enterprise_data-8.11.1.dist-info/METADATA,sha256=27UVJwZuQylIJzEZ-R-VWbzisk0jOxS04oHJNrjLQTw,1570
174
+ edx_enterprise_data-8.11.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
175
+ edx_enterprise_data-8.11.1.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
176
+ edx_enterprise_data-8.11.1.dist-info/RECORD,,
@@ -2,4 +2,4 @@
2
2
  Enterprise data api application. This Django app exposes API endpoints used by enterprises.
3
3
  """
4
4
 
5
- __version__ = "8.11.0"
5
+ __version__ = "8.11.1"
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Module for interacting with the fact_enrollment_admin_dash table.
3
3
  """
4
- from datetime import date
4
+ from datetime import date, datetime
5
5
  from uuid import UUID
6
6
 
7
7
  from ..queries import FactEnrollmentAdminDashQueries
@@ -23,13 +23,22 @@ class FactEnrollmentAdminDashTable(BaseTable):
23
23
  enterprise_customer_uuid (UUID): The UUID of the enterprise customer.
24
24
 
25
25
  Returns:
26
- (tuple<int, int>): The minimum and maximum enrollment dates.
26
+ (tuple<date, date>): The minimum and maximum enrollment dates.
27
27
  """
28
28
  results = run_query(
29
29
  query=self.queries.get_enrollment_date_range_query(),
30
30
  params={'enterprise_customer_uuid': enterprise_customer_uuid}
31
31
  )
32
- return tuple(results[0])
32
+ min_date, max_date = results[0]
33
+
34
+ # We should return date objects, not datetime objects
35
+ # This is done to counter cases where database values are datetime objects.
36
+ if min_date and isinstance(min_date, datetime):
37
+ min_date = min_date.date()
38
+ if max_date and isinstance(max_date, datetime):
39
+ max_date = max_date.date()
40
+
41
+ return min_date, max_date
33
42
 
34
43
  def get_enrollment_and_course_count(self, enterprise_customer_uuid: UUID, start_date: date, end_date: date):
35
44
  """
@@ -95,6 +95,8 @@ class EnterpriseAdminAnalyticsAggregatesView(APIView):
95
95
  """
96
96
  HTTP GET endpoint to retrieve the enterprise admin aggregate data.
97
97
  """
98
+ # Validate the enterprise_id
99
+ enterprise_id = enterprise_id.replace('-', '')
98
100
  serializer = serializers.AdminAnalyticsAggregatesQueryParamsSerializer(
99
101
  data=request.GET
100
102
  )
@@ -106,7 +108,7 @@ class EnterpriseAdminAnalyticsAggregatesView(APIView):
106
108
  )
107
109
 
108
110
  start_date = serializer.data.get(
109
- 'start_date', min_enrollment_date.date()
111
+ 'start_date', min_enrollment_date
110
112
  )
111
113
  end_date = serializer.data.get('end_date', datetime.today())
112
114
 
@@ -128,8 +130,8 @@ class EnterpriseAdminAnalyticsAggregatesView(APIView):
128
130
  'hours': hours,
129
131
  'sessions': sessions,
130
132
  'last_updated_at': last_updated_at.date() if last_updated_at else None,
131
- 'min_enrollment_date': min_enrollment_date.date(),
132
- 'max_enrollment_date': max_enrollment_date.date(),
133
+ 'min_enrollment_date': min_enrollment_date,
134
+ 'max_enrollment_date': max_enrollment_date,
133
135
  },
134
136
  status=HTTP_200_OK,
135
137
  )