Update comment, image, rating endpoints
This commit is contained in:
parent
c6e0418a34
commit
df7649c3e6
@ -1,6 +1,7 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from apps.food.models import UserFoodRating, UserFoodImage, UserFoodComment, SingleFood, FoodImage
|
from apps.food.models import UserFoodRating, UserFoodImage, UserFoodComment, SingleFood, FoodImage
|
||||||
|
from apps.food.api.v1_2.serializers.main_serializers import MinimalSingleFoodSerializer
|
||||||
|
|
||||||
|
|
||||||
class FoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
class FoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
@ -11,10 +12,11 @@ class FoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
|||||||
|
|
||||||
class UserFoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
class UserFoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
image = FoodImageSerializer(many=False, read_only=True)
|
image = FoodImageSerializer(many=False, read_only=True)
|
||||||
|
food = MinimalSingleFoodSerializer(many=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UserFoodImage
|
model = UserFoodImage
|
||||||
fields = ('id', 'image')
|
fields = ('id', 'food', 'image')
|
||||||
|
|
||||||
|
|
||||||
class SingleFoodSerializer(serializers.HyperlinkedModelSerializer):
|
class SingleFoodSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
@ -44,7 +46,7 @@ class UserCommentsSerializer(serializers.HyperlinkedModelSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = UserFoodComment
|
model = UserFoodComment
|
||||||
fields = ('id', 'food', 'comment')
|
fields = ('id', 'food', 'description', 'title')
|
||||||
|
|
||||||
|
|
||||||
class UserInformationSerializer(serializers.HyperlinkedModelSerializer):
|
class UserInformationSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
|||||||
@ -20,7 +20,7 @@ from apps.food.models import Menu
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# API Version 1.1
|
# API Version 1.1
|
||||||
url(r'^account/$', api_views.UserInformations.as_view(), name='api-v1_1-user-information'),
|
url(r'^account/$', api_views.UserInformations.as_view(), name='api-v1_1-user-information'),
|
||||||
url(r'^account/food/rating/$', api_views.UserRatings.as_view(), name='api-v1_1-user-rating'),
|
url(r'^account/food/ratings/$', api_views.UserRatings.as_view(), name='api-v1_1-user-rating'),
|
||||||
url(r'^account/food/pic/$', api_views.UserImages.as_view(), name='api-v1_1-user-image'),
|
url(r'^account/food/images/$', api_views.UserImages.as_view(), name='api-v1_1-user-image'),
|
||||||
url(r'^account/food/comment/$', api_views.UserComments.as_view(), name='api-v1_1-user-comment'),
|
url(r'^account/food/comments/$', api_views.UserComments.as_view(), name='api-v1_1-user-comment'),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -23,7 +23,16 @@ class UserRatings(generics.ListAPIView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
return UserFoodRating.objects.filter(user=user).order_by('food__name')
|
food_id = self.request.query_params.get('food_id')
|
||||||
|
queryset = UserFoodRating.objects.filter(user=user).order_by('food__name')
|
||||||
|
if food_id:
|
||||||
|
try:
|
||||||
|
queryset = queryset.filter(food_id=food_id)
|
||||||
|
except ValueError as e:
|
||||||
|
# TODO: return Exception
|
||||||
|
return []
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
@permission_classes((IsAuthenticated,))
|
@permission_classes((IsAuthenticated,))
|
||||||
@ -32,7 +41,16 @@ class UserImages(generics.ListAPIView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
return UserFoodImage.objects.filter(user=user).order_by('food__name')
|
food_id = self.request.query_params.get('food_id')
|
||||||
|
queryset = UserFoodImage.objects.filter(user=user).order_by('food__name')
|
||||||
|
if food_id:
|
||||||
|
try:
|
||||||
|
queryset = queryset.filter(food_id=food_id)
|
||||||
|
except ValueError as e:
|
||||||
|
# TODO: return Exception
|
||||||
|
return []
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
@permission_classes((IsAuthenticated,))
|
@permission_classes((IsAuthenticated,))
|
||||||
@ -41,4 +59,13 @@ class UserComments(generics.ListAPIView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
return UserFoodComment.objects.filter(user=user).order_by('food__name')
|
food_id = self.request.query_params.get('food_id')
|
||||||
|
queryset = UserFoodComment.objects.filter(user=user).order_by('food__name')
|
||||||
|
if food_id:
|
||||||
|
try:
|
||||||
|
queryset = queryset.filter(food_id=food_id)
|
||||||
|
except ValueError as e:
|
||||||
|
# TODO: return Exception
|
||||||
|
return []
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|||||||
Reference in New Issue
Block a user