From d9755479681e6c46687a63b7b8c878ac86e918b2 Mon Sep 17 00:00:00 2001 From: thecosmos Date: Wed, 22 May 2019 23:52:17 +0530 Subject: [PATCH] Add base class. Make to_json available to all of the existing models. --- flask_discord/models/base.py | 15 +++++++++++++++ flask_discord/models/connections.py | 4 +++- flask_discord/models/guild.py | 4 +++- flask_discord/models/user.py | 14 +++----------- 4 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 flask_discord/models/base.py diff --git a/flask_discord/models/base.py b/flask_discord/models/base.py new file mode 100644 index 0000000..c40689e --- /dev/null +++ b/flask_discord/models/base.py @@ -0,0 +1,15 @@ +from abc import ABC + + +class DiscordModelsBase(ABC): + + def to_json(self): + """A utility method which returns raw payload object as it was received from discord. + + Returns + ------- + dict + A dict representing raw payload object received from discord. + + """ + return self._payload diff --git a/flask_discord/models/connections.py b/flask_discord/models/connections.py index 5a10284..17f4c6c 100644 --- a/flask_discord/models/connections.py +++ b/flask_discord/models/connections.py @@ -1,7 +1,9 @@ +from .base import DiscordModelsBase + from .user import User -class Integration(object): +class Integration(DiscordModelsBase): """"Class representing discord server integrations. Attributes diff --git a/flask_discord/models/guild.py b/flask_discord/models/guild.py index 1bbb319..f1b995e 100644 --- a/flask_discord/models/guild.py +++ b/flask_discord/models/guild.py @@ -1,7 +1,9 @@ +from .base import DiscordModelsBase + from .. import configs -class Guild(object): +class Guild(DiscordModelsBase): """Class representing discord Guild the user is part of. Attributes diff --git a/flask_discord/models/user.py b/flask_discord/models/user.py index 8f1f58a..bc061ed 100644 --- a/flask_discord/models/user.py +++ b/flask_discord/models/user.py @@ -1,7 +1,9 @@ +from .base import DiscordModelsBase + from .. import configs -class User(object): +class User(DiscordModelsBase): """Class representing Discord User. Attributes @@ -65,16 +67,6 @@ class User(object): """A boolean representing if avatar of user is animated. Meaning user has GIF avatar.""" return self.avatar_hash.startswith("a_") - def to_json(self): - """A utility method which returns raw user object as it was returned from discord. - - Returns - ------- - dict - A dict of user's document. - """ - return self._payload - class Bot(User): """Class representing the client user itself.