From 3e786da5537cc243097b4bedb8e6b78ad1525f95 Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Sat, 22 Jan 2022 01:54:15 +0300 Subject: Add Helper Functions For Managing Roles Signed-off-by: Hassan Abouelela --- backend/models/discord_user.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'backend/models/discord_user.py') 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] -- cgit v1.2.3