from rest_framework import serializers
from .models import Knowledge
from user.models import User

class KnowledgeSerializer(serializers.ModelSerializer):
    user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all(), required=False)
    class Meta:
        model = Knowledge
        fields = ['title', 'content', 'question', 'comment', 'publicIdentifier', 'creationDate', 'modificationDate', 'user', 'course']

class KnowledgeDetailSerializer(serializers.ModelSerializer):
    class Meta:
        model = Knowledge
        fields = ['title', 'content', 'question', 'comment', 'publicIdentifier', 'creationDate', 'modificationDate', 'user', 'course']
        read_only_fields = ['publicIdentifier', 'creationDate', 'modificationDate', 'user', 'course']

class KnowledgeListSerializer(serializers.ModelSerializer):
    class Meta:
        model = Knowledge
        fields = ['title', 'publicIdentifier', 'course']

class PublicKnowledgeSerializer(serializers.ModelSerializer):
    class Meta:
        model = Knowledge
        fields = ['title', 'content', 'question', 'comment']

# Relier au front (vérifier que les modifications avec PATCH et autres + les deletes fonctionnent, puis mettre en place les créations/modifications/suppressions automatiques dans le front)
# !!! La structure de content a changée (on a content qui est séparé de question et comment). Faire les modifications dans le front pour qu'on aille modifier question et comment aux bons endroits (ou alors juste laisser comme ça pour l'instant, et on pourra toujours utiliser comment et question plus tard).
