Skip to content

Commit

Permalink
Merge 13ef7ea into 68c23fc
Browse files Browse the repository at this point in the history
  • Loading branch information
fahdjamy committed Mar 26, 2019
2 parents 68c23fc + 13ef7ea commit 461b390
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions authors/apps/articles/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class ArticleSerializer (serializers.ModelSerializer):
"""
author = ProfileSerializers.ProfileSerializer(read_only=True)
favorited = serializers.SerializerMethodField()
liked = serializers.SerializerMethodField()
disliked = serializers.SerializerMethodField()
average_ratings = serializers.IntegerField(required=False)
read_time = serializers.SerializerMethodField()
share_links = serializers.SerializerMethodField()
Expand All @@ -29,6 +31,8 @@ class Meta:
"description",
"created_at",
"updated_at",
"liked",
"disliked",
"body",
"author",
"image",
Expand Down Expand Up @@ -68,6 +72,28 @@ def get_favorited(self, obj):
"slug": {"read_only": True}
}

def get_liked(self, obj):
"""
This method returns True if the logged in user liked the article
otherwise it returns False.
"""
if self.context["request"].user.is_anonymous:
return False
if self.context["request"].user in obj.liked_by.all():
return True
return False

def get_disliked(self, obj):
"""
This method returns True if the logged in user disliked the article
otherwise it returns False.
"""
if self.context["request"].user.is_anonymous:
return False
if self.context["request"].user in obj.disliked_by.all():
return True
return False

def get_read_time(self, obj):
return get_article_read_time(obj.body)

Expand Down

0 comments on commit 461b390

Please sign in to comment.