aboutsummaryrefslogtreecommitdiffstats
path: root/api/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/models.py')
-rw-r--r--api/models.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/api/models.py b/api/models.py
index 9990e266..3ba0ac5c 100644
--- a/api/models.py
+++ b/api/models.py
@@ -210,6 +210,37 @@ class Member(ModelReprMixin, models.Model):
return f"{self.name}#{self.discriminator}"
+class Message(ModelReprMixin, models.Model):
+ id = models.BigIntegerField(
+ primary_key=True,
+ help_text="The message ID as taken from Discord.",
+ validators=(
+ MinValueValidator(
+ limit_value=0,
+ message="Message IDs cannot be negative."
+ ),
+ )
+ )
+ author = models.ForeignKey(
+ Member,
+ on_delete=models.CASCADE,
+ help_text="The author of this message."
+ )
+ content = models.CharField(
+ max_length=2_000,
+ help_text="The content of this message, taken from Discord."
+ )
+ embeds = pgfields.ArrayField(
+ pgfields.JSONField(
+ validators=(validate_tag_embed,)
+ ),
+ help_text="Embeds attached to this message."
+ )
+
+ class Meta:
+ abstract = True
+
+
class Tag(ModelReprMixin, models.Model):
"""A tag providing (hopefully) useful information."""