from django.db import models
import uuid

def default_data():
    return {'ops': [{'insert': '\n'}]}

# Modèle qui gère l'enregistrement des cours en mémoire
class Knowledge(models.Model):
    title = models.CharField(max_length=255, default='', blank=True)
    content = models.JSONField(default=default_data)
    question = models.CharField(max_length=1023, default='', blank=True)
    comment = models.CharField(max_length=1023, default='', blank=True)
    creationDate = models.DateTimeField(auto_now_add=True)
    modificationDate = models.DateTimeField(auto_now=True)
    publicIdentifier = models.UUIDField(unique=True, default=uuid.uuid4)
    course = models.ForeignKey('course.Course', to_field='publicIdentifier', on_delete=models.CASCADE, related_name='knowledges')
    user = models.ForeignKey('user.User', to_field='publicIdentifier', on_delete=models.CASCADE, related_name='knowledges', blank=True, null=True)

    def save(self, *args, **kwargs):
        if not self.pk:  # Only set user on creation
            self.user = self.course.user
        super().save(*args, **kwargs)


# J'étais en train de checker toutes les vues pour vérifier que tout fonctionnait bien.abs
# Il y a un problème sur l'accès en get aux knowledges
# Il y a un problème sur les cours : certains se créent sans publicIdentifier
# Continuer sur toutes les vues pour corriger tout les problèmes, y compris pour les deletes
# (manger du poisson ?)
