aboutsummaryrefslogtreecommitdiffstats
path: root/backend/models/discord_user.py
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2022-02-05 16:50:11 +0400
committerGravatar Hassan Abouelela <[email protected]>2022-02-05 17:20:40 +0400
commit134b2f70e4cf947744f1b061766bb37fe616ad65 (patch)
treeef6b95bc5a78528d91ae969f3cfd00bc8e5be8ed /backend/models/discord_user.py
parentAdd Helper Functions For Managing Roles (diff)
Overhaul Scope System
Adds discord role support to the pre-existing scopes system to power more complex access permissions. Signed-off-by: Hassan Abouelela <[email protected]>
Diffstat (limited to 'backend/models/discord_user.py')
-rw-r--r--backend/models/discord_user.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/backend/models/discord_user.py b/backend/models/discord_user.py
index 3f4209d..0eca15b 100644
--- a/backend/models/discord_user.py
+++ b/backend/models/discord_user.py
@@ -43,3 +43,12 @@ class DiscordMember(BaseModel):
pending: t.Optional[bool]
permissions: t.Optional[str]
communication_disabled_until: t.Optional[datetime.datetime]
+
+ def dict(self, *args, **kwargs) -> dict[str, t.Any]:
+ """Convert the model to a python dict, and encode timestamps in a serializable format."""
+ data = super().dict(*args, **kwargs)
+ for field, value in data.items():
+ if isinstance(value, datetime.datetime):
+ data[field] = value.isoformat()
+
+ return data