mirror of
https://github.com/TurTaskProject/TurTaskWeb.git
synced 2025-12-19 14:04:07 +01:00
35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from rest_framework import viewsets
|
|
from rest_framework.response import Response
|
|
from rest_framework import status
|
|
from rest_framework.permissions import IsAuthenticated
|
|
|
|
from boards.models import Board, ListBoard
|
|
from boards.serializers import BoardSerializer, ListBoardSerializer
|
|
|
|
class BoardViewSet(viewsets.ModelViewSet):
|
|
permission_classes = (IsAuthenticated,)
|
|
queryset = Board.objects.all()
|
|
serializer_class = BoardSerializer
|
|
http_method_names = ['get']
|
|
|
|
def get_queryset(self):
|
|
queryset = Board.objects.filter(user_id=self.request.user.id)
|
|
return queryset
|
|
|
|
|
|
class ListBoardViewSet(viewsets.ModelViewSet):
|
|
permission_classes = (IsAuthenticated,)
|
|
serializer_class = ListBoardSerializer
|
|
|
|
def get_queryset(self):
|
|
queryset = ListBoard.objects.filter(board__user_id=self.request.user.id)
|
|
return queryset
|
|
|
|
def create(self, request, *args, **kwargs):
|
|
board_id = request.data.get('board')
|
|
board = Board.objects.get(id=board_id)
|
|
if request.user.id != board.user.id:
|
|
return Response({"error": "Cannot create ListBoard for another user's board."}, status=status.HTTP_403_FORBIDDEN)
|
|
return super().create(request, *args, **kwargs)
|
|
|