25 lines
819 B
Python
25 lines
819 B
Python
from typing import Type
|
|
|
|
from django.db.models import QuerySet
|
|
from rest_framework.generics import GenericAPIView
|
|
from rest_framework.permissions import AllowAny
|
|
from rest_framework.request import Request
|
|
from rest_framework.response import Response
|
|
from rest_framework.serializers import Serializer
|
|
|
|
from apps.geology.models import Category
|
|
from apps.geology.serializers import CategorySerializer
|
|
|
|
|
|
class CategoryView(GenericAPIView):
|
|
permission_classes = [AllowAny]
|
|
serializer_class: Type[Serializer] = CategorySerializer
|
|
|
|
def get_queryset(self) -> QuerySet[Category]:
|
|
return Category.objects.all()
|
|
|
|
def get(self, request: Request) -> Response:
|
|
categories = self.get_queryset()
|
|
serializer = self.serializer_class(categories, many=True)
|
|
return Response(serializer.data)
|