initial API attempt

parent 1dbec29c
......@@ -497,3 +497,14 @@ class ModuleEngagementMetricRanges(models.Model):
class Meta(object):
db_table = 'module_engagement_metric_ranges'
class ViewDistribution(models.Model):
course_id = models.CharField(db_index=True, max_length=255)
section = models.CharField(db_index=True, max_length=255)
subsection = models.CharField(db_index=True, max_length=255)
unique_user_views = models.IntegerField()
total_views = models.IntegerField()
class Meta(object):
db_table = 'content_views'
......@@ -478,3 +478,9 @@ class CourseLearnerMetadataSerializer(serializers.Serializer):
})
return engagement_ranges
class ViewDistributionSerializer(ModelSerializerWithCreatedField):
class Meta(object):
model = models.ViewDistribution
......@@ -14,7 +14,8 @@ COURSE_URLS = [
('enrollment/location', views.CourseEnrollmentByLocationView, 'enrollment_by_location'),
('problems', views.ProblemsListView, 'problems'),
('problems_and_tags', views.ProblemsAndTagsListView, 'problems_and_tags'),
('videos', views.VideosListView, 'videos')
('videos', views.VideosListView, 'videos'),
('views', views.ViewDistributionView, 'views')
]
urlpatterns = []
......
......@@ -765,3 +765,12 @@ class VideosListView(BaseCourseView):
def apply_date_filtering(self, queryset):
# no date filtering for videos -- just return the queryset
return queryset
class ViewDistributionView(BaseCourseView):
slug = 'view-distribution'
serializer_class = serializers.ViewDistributionSerializer
model = models.ViewDistribution
def apply_date_filtering(self, queryset):
return queryset
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment