Currently the reading status & leaf are set on a global level (issue), and it would be nice to have that be a per-user basis instead.
It would entail adding a new model like this (for example) and removing the corresponding Issue model fields:
class ReadStatus(models.Model):
STATUS_CHOICES = (
(0, 'Unread'),
(1, 'Partially Read'),
(2, 'Read'),
)
user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, on_delete=models.CASCADE)
issue = models.ForeignKey(Issue, blank=True, null=True, on_delete=models.CASCADE)
leaf = models.PositiveSmallIntegerField(editable=False, default=0, blank=True)
status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, default=0, blank=True)
class Meta:
unique_together = ['user', 'issue']
And then would need to modify the serializers & views for the change. On the frontend, we would need to rework the code a bit (primarily in the Reader).