From 5bd5b7a50078aaf57288f780363a8299d9e3e4f0 Mon Sep 17 00:00:00 2001 From: bobbyvish Date: Tue, 13 Aug 2024 15:24:09 +0530 Subject: [PATCH] refactor(profile): added preference count in extended data api --- accounts/api/serializers.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/accounts/api/serializers.py b/accounts/api/serializers.py index fe67d96..ac0580d 100644 --- a/accounts/api/serializers.py +++ b/accounts/api/serializers.py @@ -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,