diff options
Diffstat (limited to 'girok/api/entity.py')
-rw-r--r-- | girok/api/entity.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/girok/api/entity.py b/girok/api/entity.py new file mode 100644 index 0000000..73adc54 --- /dev/null +++ b/girok/api/entity.py @@ -0,0 +1,18 @@ +from dataclasses import dataclass + + +@dataclass +class APIResponse: + is_success: bool + body: dict = None + error_message: str = None + + def __post_init__(self): + if self.is_success: + if self.error_message: + raise ValueError("Success response should not have an error message.") + else: + if not self.error_message: + raise ValueError("Failure response requires an error message.") + if self.body is not None: + raise ValueError("Failure response should not have a body.") |