* feat: add top-level serializer classes List serializer classes stubbed, to be filled out later. * test: add basic test for high-level serializer. Includes 2 examples of how to patch sub-serializers. Co-authored-by: nsprenkle <nsprenkle@2u.com>
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""
|
|
Serializers for the Learner Dashboard
|
|
"""
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
class PlatformSettingsSerializer(serializers.Serializer):
|
|
"""Serializer for edX platform-level info, emails, and URLs"""
|
|
|
|
feedbackEmail = serializers.EmailField()
|
|
supportEmail = serializers.EmailField()
|
|
billingEmail = serializers.EmailField()
|
|
courseSearchUrl = serializers.URLField()
|
|
|
|
|
|
class EnrollmentSerializer(serializers.Serializer):
|
|
"""Serializer for an enrollment"""
|
|
|
|
|
|
class EntitlementSerializer(serializers.Serializer):
|
|
"""Serializer for an unfulfilled entitlement"""
|
|
|
|
|
|
class SuggestedCourseSerializer(serializers.Serializer):
|
|
"""Serializer for a suggested course"""
|
|
|
|
|
|
class LearnerDashboardSerializer(serializers.Serializer):
|
|
"""Serializer for all info required to render the Learner Dashboard"""
|
|
|
|
edx = PlatformSettingsSerializer()
|
|
enrollments = serializers.ListField(child=EnrollmentSerializer(), allow_empty=True)
|
|
unfulfilledEntitlements = serializers.ListField(child=EntitlementSerializer(), allow_empty=True)
|
|
suggestedCourses = serializers.ListField(child=SuggestedCourseSerializer(), allow_empty=True)
|