from rest_framework import serializers
from .models import Exercise


class ExerciseListSerializer(serializers.ModelSerializer):
    class Meta:
        model = Exercise
        fields = ['title', 'publicIdentifier', 'difficulty', 'mastered']


class ExerciseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Exercise
        fields = ['title', 'instructions', 'correctAnswer', 'visibleAnswer', 'mastered', 'numberOfAnswers', 'difficulty', 'publicIdentifier', 'course', 'user']


class PublicExerciseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Exercise
        fields = ['title', 'instructions', 'correctAnswer', 'visibleAnswer', 'difficulty']



# Une vue qui génère un exercice et sa correction (avec une certaine difficultée, ect...)
# Une vue pour la correction de l'exercice
# Une vue pour la liste des exercices d'une flashcard (d'une notion) -> Doit servir pour la vue administrateur surtout, lorsque le professeur rend un cours public
# Il faudra alors que le professeur puisse accéder à la liste des exercices et des flashcards présents dans le cours, et puisse les modifier
# Idée : faire en sorte que quelqu'un veut rendre un cours accessible à d'autres personnes, il y ait tout une procedure à faire en indiquant d'abord une liste d'adresse email (ou en indiquant que le cours doit être accessible pour tout le monde). Il y a ensuite une fenètre qui s'affiche et qui doit montrer la liste des flashcards.
# Enfin, il y a une fenètre qui montre la liste des exercices qui vont être partagés. 
# Si l'utilisateur confirme tout, alors le cours est partagé avec l'ensemble des flashcards et des exercices.
# Si l'utilisateur clic sur un élément à un moment, il s'affiche une fenètre qui lui permet de modifier une flashcard ou un exercice.

