Add user_watched_detail view and route for updating watched videos
This commit is contained in:
parent
6e5f3cb40a
commit
95c0bc0e97
3 changed files with 21 additions and 2 deletions
|
|
@ -11,3 +11,8 @@ class LikedVideosSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CustomUser
|
model = CustomUser
|
||||||
fields = ['liked_videos']
|
fields = ['liked_videos']
|
||||||
|
|
||||||
|
class WatchedVideosSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = CustomUser
|
||||||
|
fields = ['watched_videos']
|
||||||
|
|
@ -4,7 +4,7 @@ from rest_framework.decorators import api_view, permission_classes
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from .serializer import LikedVideosSerializer, UserSerializer
|
from .serializer import LikedVideosSerializer, WatchedVideosSerializer, UserSerializer
|
||||||
from .models import CustomUser
|
from .models import CustomUser
|
||||||
|
|
||||||
@api_view(['GET', 'POST'])
|
@api_view(['GET', 'POST'])
|
||||||
|
|
@ -61,3 +61,16 @@ def user_liked_detail(request, id):
|
||||||
serializer.save()
|
serializer.save()
|
||||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
def user_watched_detail(request, id):
|
||||||
|
try:
|
||||||
|
user = CustomUser.objects.get(pk=id)
|
||||||
|
except CustomUser.DoesNotExist:
|
||||||
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
|
if request.method == 'PUT':
|
||||||
|
serializer = WatchedVideosSerializer(user, data=request.data, partial=True)
|
||||||
|
if serializer.is_valid():
|
||||||
|
serializer.save()
|
||||||
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||||
|
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
@ -44,6 +44,7 @@ urlpatterns = [
|
||||||
path('users/', user_views.user_list, name='user_list'),
|
path('users/', user_views.user_list, name='user_list'),
|
||||||
path('users/<int:id>/', user_views.user_detail, name='user_detail'),
|
path('users/<int:id>/', user_views.user_detail, name='user_detail'),
|
||||||
path('users/liked/<int:id>/', user_views.user_liked_detail, name='user_liked_detail'),
|
path('users/liked/<int:id>/', user_views.user_liked_detail, name='user_liked_detail'),
|
||||||
|
path('users/watched/<int:id>/', user_views.user_liked_detail, name='user_liked_detail'),
|
||||||
|
|
||||||
# Authentication URLs
|
# Authentication URLs
|
||||||
path('auth/', AuthView.as_view(), name='auth_view'),
|
path('auth/', AuthView.as_view(), name='auth_view'),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue