diff --git a/backend/videoflix/users/serializer.py b/backend/videoflix/users/serializer.py index ec709b2..d008966 100644 --- a/backend/videoflix/users/serializer.py +++ b/backend/videoflix/users/serializer.py @@ -10,4 +10,9 @@ class UserSerializer(serializers.ModelSerializer): class LikedVideosSerializer(serializers.ModelSerializer): class Meta: model = CustomUser - fields = ['liked_videos'] \ No newline at end of file + fields = ['liked_videos'] + +class WatchedVideosSerializer(serializers.ModelSerializer): + class Meta: + model = CustomUser + fields = ['watched_videos'] \ No newline at end of file diff --git a/backend/videoflix/users/views.py b/backend/videoflix/users/views.py index 116be2b..34717f9 100644 --- a/backend/videoflix/users/views.py +++ b/backend/videoflix/users/views.py @@ -4,7 +4,7 @@ from rest_framework.decorators import api_view, permission_classes from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework import status -from .serializer import LikedVideosSerializer, UserSerializer +from .serializer import LikedVideosSerializer, WatchedVideosSerializer, UserSerializer from .models import CustomUser @api_view(['GET', 'POST']) @@ -57,6 +57,19 @@ def user_liked_detail(request, id): if request.method == 'PUT': serializer = LikedVideosSerializer(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) + +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) diff --git a/backend/videoflix/videoflix/urls.py b/backend/videoflix/videoflix/urls.py index 8106dea..cf6b6b3 100644 --- a/backend/videoflix/videoflix/urls.py +++ b/backend/videoflix/videoflix/urls.py @@ -44,6 +44,7 @@ urlpatterns = [ path('users/', user_views.user_list, name='user_list'), path('users//', user_views.user_detail, name='user_detail'), path('users/liked//', user_views.user_liked_detail, name='user_liked_detail'), + path('users/watched//', user_views.user_liked_detail, name='user_liked_detail'), # Authentication URLs path('auth/', AuthView.as_view(), name='auth_view'),