From d77dcf62b4005a0f36ef2fa7ba6d3651d2ef38d7 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sat, 5 Nov 2022 14:17:27 -0600 Subject: Initial commit (users and statuses) --- statuses/models/__init__.py | 1 + statuses/models/status.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 statuses/models/__init__.py create mode 100644 statuses/models/status.py (limited to 'statuses/models') diff --git a/statuses/models/__init__.py b/statuses/models/__init__.py new file mode 100644 index 0000000..84098eb --- /dev/null +++ b/statuses/models/__init__.py @@ -0,0 +1 @@ +from .status import Status # noqa diff --git a/statuses/models/status.py b/statuses/models/status.py new file mode 100644 index 0000000..2e17a19 --- /dev/null +++ b/statuses/models/status.py @@ -0,0 +1,35 @@ +from django.db import models + + +class Status(models.Model): + class StatusVisibility(models.IntegerChoices): + public = 0 + unlisted = 1 + followers = 2 + mentioned = 3 + + identity = models.ForeignKey( + "users.Identity", + on_delete=models.PROTECT, + related_name="statuses", + ) + + local = models.BooleanField() + uri = models.CharField(max_length=500, blank=True, null=True) + visibility = models.IntegerField( + choices=StatusVisibility.choices, + default=StatusVisibility.public, + ) + text = models.TextField() + + created = models.DateTimeField(auto_now_add=True) + updated = models.DateTimeField(auto_now=True) + deleted = models.DateTimeField(null=True, blank=True) + + @classmethod + def create_local(cls, identity, text: str): + return cls.objects.create( + identity=identity, + text=text, + local=True, + ) -- cgit v1.2.3