"""Knowledge content API."""
from rest_framework.views import APIView

from core.models import KnowledgeTopic, KnowledgeContent
from .auth_utils import ok, err
from .permissions import IsAppUser
from .serializers import KnowledgeTopicSerializer, KnowledgeContentSerializer


class KnowContentView(APIView):
    permission_classes = [IsAppUser]

    def get(self, request):
        topics = KnowledgeTopic.objects.filter(status='active').prefetch_related(
            'knowledgecontent_set',
        )
        return ok(KnowledgeTopicSerializer(topics, many=True).data)
