refactor(profile): added preference count in extended data api
This commit is contained in:
@@ -204,7 +204,7 @@ class ProfileExtendedDataSerializer(serializers.ModelSerializer):
|
||||
principal_type_name = serializers.SerializerMethodField(read_only=True)
|
||||
has_active_subscription = serializers.SerializerMethodField(read_only=True)
|
||||
preference = serializers.SerializerMethodField(read_only=True)
|
||||
register_complete = serializers.BooleanField(read_only=True)
|
||||
principal_preference_count = serializers.SerializerMethodField(read_only=True)
|
||||
going_events_count = serializers.SerializerMethodField(read_only=True)
|
||||
interested_events_count = serializers.SerializerMethodField(read_only=True)
|
||||
feature_limit = serializers.SerializerMethodField(read_only=True)
|
||||
@@ -217,6 +217,7 @@ class ProfileExtendedDataSerializer(serializers.ModelSerializer):
|
||||
"register_complete",
|
||||
"has_active_subscription",
|
||||
"preference",
|
||||
"principal_preference_count",
|
||||
"going_events_count",
|
||||
"interested_events_count",
|
||||
"feature_limit"
|
||||
@@ -243,6 +244,13 @@ class ProfileExtendedDataSerializer(serializers.ModelSerializer):
|
||||
def get_preference(self, obj):
|
||||
return PrincipalPreference.objects.filter(principal=obj).exists()
|
||||
|
||||
def get_principal_preference_count(self, obj):
|
||||
principal_preference = PrincipalPreference.objects.filter(principal=obj).first()
|
||||
if principal_preference:
|
||||
categories = principal_preference.preferred_categories.all()
|
||||
return categories.count()
|
||||
return 0
|
||||
|
||||
def get_has_active_subscription(self, obj):
|
||||
subscription_status = {
|
||||
"has_active_subscription": False,
|
||||
|
||||
Reference in New Issue
Block a user