summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-08-14 18:11:22 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-08-15 11:11:22 +0000
commit4c1c013620909a0f3490d1a6582924a567dea455 (patch)
tree1581980de0ed6e9ae238e4580bab3cd035b7ef23
parent6103bcf05feeddace63fcc5857665d3762e25c8b (diff)
downloadhyperkitty-4c1c013620909a0f3490d1a6582924a567dea455.tar.gz
hyperkitty-4c1c013620909a0f3490d1a6582924a567dea455.tar.xz
hyperkitty-4c1c013620909a0f3490d1a6582924a567dea455.zip
Add likes and dislikes to the REST API
-rw-r--r--hyperkitty/api.py6
-rw-r--r--hyperkitty/views/list.py2
-rw-r--r--hyperkitty/views/search.py2
3 files changed, 7 insertions, 3 deletions
diff --git a/hyperkitty/api.py b/hyperkitty/api.py
index 9481340..c53ff15 100644
--- a/hyperkitty/api.py
+++ b/hyperkitty/api.py
@@ -24,6 +24,7 @@ from rest_framework.exceptions import ParseError
from hyperkitty.models import Tag
from hyperkitty.lib import get_store
+from hyperkitty.lib.voting import get_votes
class ListSerializer(serializers.Serializer):
@@ -40,6 +41,8 @@ class EmailSerializer(serializers.Serializer):
subject = serializers.CharField()
in_reply_to = serializers.CharField()
date = serializers.DateTimeField()
+ likes = serializers.IntegerField()
+ dislikes = serializers.IntegerField()
class EmailLinkSerializer(serializers.Serializer):
list_name = serializers.EmailField()
@@ -83,10 +86,11 @@ class EmailResource(APIView):
def get(self, request, mlist_fqdn, messageid):
store = get_store(request)
- email = store.get_message_by_id_from_list(mlist_fqdn, messageid)
+ email = store.get_message_by_hash_from_list(mlist_fqdn, messageid)
if not email:
return Response(status=404)
else:
+ email.likes, email.dislikes, _ignore = get_votes(email.message_id_hash)
return Response(EmailSerializer(email).data)
diff --git a/hyperkitty/views/list.py b/hyperkitty/views/list.py
index a655758..b4a97a6 100644
--- a/hyperkitty/views/list.py
+++ b/hyperkitty/views/list.py
@@ -36,7 +36,7 @@ from hyperkitty.lib import get_store
from hyperkitty.lib.view_helpers import FLASH_MESSAGES, paginate, \
get_category_widget, get_months, get_display_dates, daterange, \
is_thread_unread
-from hyperkitty.lib.voting import get_votes, set_message_votes, set_thread_votes
+from hyperkitty.lib.voting import set_message_votes, set_thread_votes
if settings.USE_MOCKUPS:
diff --git a/hyperkitty/views/search.py b/hyperkitty/views/search.py
index 121c0ee..d398ae2 100644
--- a/hyperkitty/views/search.py
+++ b/hyperkitty/views/search.py
@@ -27,7 +27,7 @@ from django.http import Http404
from hyperkitty.models import Tag
from hyperkitty.lib import get_store
from hyperkitty.lib.view_helpers import paginate
-from hyperkitty.lib.voting import get_votes, set_message_votes
+from hyperkitty.lib.voting import set_message_votes
from hyperkitty.views.list import _thread_list