aboutsummaryrefslogtreecommitdiffstats
path: root/backend/models/discord_user.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/models/discord_user.py')
-rw-r--r--backend/models/discord_user.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/backend/models/discord_user.py b/backend/models/discord_user.py
index 9f246ba..3f4209d 100644
--- a/backend/models/discord_user.py
+++ b/backend/models/discord_user.py
@@ -1,10 +1,11 @@
+import datetime
import typing as t
from pydantic import BaseModel
-class DiscordUser(BaseModel):
- """Schema model of Discord user for form response."""
+class _User(BaseModel):
+ """Base for discord users and members."""
# Discord default fields.
username: str
@@ -20,5 +21,25 @@ class DiscordUser(BaseModel):
premium_type: t.Optional[int]
public_flags: t.Optional[int]
+
+class DiscordUser(_User):
+ """Schema model of Discord user for form response."""
+
# Custom fields
admin: bool
+
+
+class DiscordMember(BaseModel):
+ """A discord guild member."""
+
+ user: _User
+ nick: t.Optional[str]
+ avatar: t.Optional[str]
+ roles: list[str]
+ joined_at: datetime.datetime
+ premium_since: t.Optional[datetime.datetime]
+ deaf: bool
+ mute: bool
+ pending: t.Optional[bool]
+ permissions: t.Optional[str]
+ communication_disabled_until: t.Optional[datetime.datetime]