diff options
author | 2018-09-01 22:07:28 +0200 | |
---|---|---|
committer | 2018-09-01 22:10:23 +0200 | |
commit | 1f92f9c09ab6f56fd5d066f6ad457324f3251076 (patch) | |
tree | 2c416be1e09db33a1ffea2df4e467f64225df37d /api/models.py | |
parent | Add the `Role` model. (diff) |
Add the `Member` model.
Diffstat (limited to 'api/models.py')
-rw-r--r-- | api/models.py | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/api/models.py b/api/models.py index 6d7af764..d3986ba5 100644 --- a/api/models.py +++ b/api/models.py @@ -36,11 +36,11 @@ class Role(models.Model): message="Role IDs cannot be negative." ), ), - help_text="The role's ID, taken from Discord." + help_text="The role ID, taken from Discord." ) name = models.CharField( max_length=100, - help_text="The role's name, taken from Discord." + help_text="The role name, taken from Discord." ) colour = models.IntegerField( validators=( @@ -64,3 +64,43 @@ class Role(models.Model): ), help_text="The integer value of the permission bitset of this role from Discord." ) + + +class Member(models.Model): + """A member of our Discord server.""" + + id = models.BigIntegerField( + primary_key=True, + validators=( + MinValueValidator( + limit_value=0, + message="User IDs cannot be negative." + ), + ), + help_text="The ID of this user, taken from Discord." + ) + name = models.CharField( + max_length=32, + help_text="The username, taken from Discord." + ) + discriminator = models.PositiveSmallIntegerField( + validators=( + MaxValueValidator( + limit_value=9999, + message="Discriminators may not exceed `9999`." + ), + ), + help_text="The discriminator of this user, taken from Discord." + ) + avatar_hash = models.CharField( + max_length=100, + help_text=( + "The user's avatar hash, taken from Discord. " + "Null if the user does not have any custom avatar." + ), + null=True + ) + roles = models.ManyToManyField( + Role, + help_text="Any roles this user has on our server." + ) |