summaryrefslogtreecommitdiffstats
path: root/girok/api/entity.py
diff options
context:
space:
mode:
Diffstat (limited to 'girok/api/entity.py')
-rw-r--r--girok/api/entity.py18
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.")