mirror of
https://github.com/AmanTahiliani/PeerNotes.git
synced 2026-08-07 19:56:19 -04:00
Added Filters for the File
This commit is contained in:
@@ -1,6 +1,101 @@
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from api.serializers import LoginSerializer
|
||||
from api.models import Course, File, Professor, Semester, Topic
|
||||
from api.serializers import (
|
||||
CourseSerializer,
|
||||
FileSerializer,
|
||||
ProfessorSerializer,
|
||||
SemesterSerializer,
|
||||
TopicSerializer,
|
||||
)
|
||||
from django.contrib.auth import authenticate
|
||||
from rest_framework import generics, status
|
||||
from rest_framework.authentication import TokenAuthentication
|
||||
from rest_framework.authtoken.models import Token
|
||||
from rest_framework import status
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework import filters
|
||||
|
||||
|
||||
class TopicListCreateAPIView(generics.ListCreateAPIView):
|
||||
queryset = Topic.objects.all()
|
||||
serializer_class = TopicSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ["name"]
|
||||
|
||||
|
||||
class TopicDetailAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = Topic.objects.all()
|
||||
serializer_class = TopicSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
||||
class ProfessorListCreateAPIView(generics.ListCreateAPIView):
|
||||
queryset = Professor.objects.all()
|
||||
serializer_class = ProfessorSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ["name"]
|
||||
|
||||
|
||||
class ProfessorDetailAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = Professor.objects.all()
|
||||
serializer_class = ProfessorSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
||||
class SemesterListCreateAPIView(generics.ListCreateAPIView):
|
||||
queryset = Semester.objects.all()
|
||||
serializer_class = SemesterSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ["name"]
|
||||
|
||||
|
||||
class SemesterDetailAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = Semester.objects.all()
|
||||
serializer_class = SemesterSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def delete(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
self.perform_destroy(instance)
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
class CourseListCreateAPIView(generics.ListCreateAPIView):
|
||||
queryset = Course.objects.all()
|
||||
serializer_class = CourseSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ["name"]
|
||||
|
||||
|
||||
class CourseDetailAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = Course.objects.all()
|
||||
serializer_class = CourseSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
||||
class FileListCreateAPIView(generics.ListCreateAPIView):
|
||||
queryset = File.objects.all()
|
||||
serializer_class = FileSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ["name"]
|
||||
|
||||
|
||||
class FileDetailAPIView(generics.RetrieveUpdateDestroyAPIView):
|
||||
queryset = File.objects.all()
|
||||
serializer_class = FileSerializer
|
||||
authentication_classes = [TokenAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
Reference in New Issue
Block a user