You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.8 KiB
48 lines
1.8 KiB
from rest_framework import serializers
|
|
|
|
|
|
class InstitutionsAnalyticsSerializer(serializers.Serializer):
|
|
total_institutions = serializers.IntegerField()
|
|
verified_institutions = serializers.IntegerField()
|
|
countries_count = serializers.IntegerField()
|
|
by_type = serializers.DictField(child=serializers.IntegerField())
|
|
top_countries = serializers.ListField(child=serializers.DictField())
|
|
|
|
|
|
class ProjectsAnalyticsSerializer(serializers.Serializer):
|
|
total_projects = serializers.IntegerField()
|
|
active_projects = serializers.IntegerField()
|
|
completed_projects = serializers.IntegerField()
|
|
|
|
|
|
class LMSAnalyticsSerializer(serializers.Serializer):
|
|
total_courses = serializers.IntegerField()
|
|
total_enrollments = serializers.IntegerField()
|
|
total_certificates_issued = serializers.IntegerField()
|
|
|
|
|
|
class TicketingAnalyticsSerializer(serializers.Serializer):
|
|
total_tickets = serializers.IntegerField()
|
|
open_tickets = serializers.IntegerField()
|
|
answered_or_closed = serializers.IntegerField()
|
|
average_satisfaction_rating = serializers.FloatField(allow_null=True)
|
|
|
|
|
|
class DonationsAnalyticsSerializer(serializers.Serializer):
|
|
active_campaigns_count = serializers.IntegerField()
|
|
total_funds_raised_usd = serializers.FloatField()
|
|
|
|
|
|
class DiplomacyAnalyticsSerializer(serializers.Serializer):
|
|
total_reports_submitted = serializers.IntegerField()
|
|
approved_reports_count = serializers.IntegerField()
|
|
total_centers_visited = serializers.IntegerField()
|
|
|
|
|
|
class ExecutiveDashboardSerializer(serializers.Serializer):
|
|
institutions = InstitutionsAnalyticsSerializer()
|
|
projects = ProjectsAnalyticsSerializer()
|
|
lms = LMSAnalyticsSerializer()
|
|
ticketing = TicketingAnalyticsSerializer()
|
|
donations = DonationsAnalyticsSerializer()
|
|
diplomacy = DiplomacyAnalyticsSerializer()
|