summaryrefslogtreecommitdiff
path: root/opendc/models/user.py
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-06-26 12:27:51 +0200
committerGeorgios Andreadis <info@gandreadis.com>2020-06-26 12:27:51 +0200
commit19bede4fc7f7320bb4eb16c3fe1a211b19ab4714 (patch)
tree6a53629feb7bd8c7a9380d204287f3429ed2f378 /opendc/models/user.py
parent92b94b59ad80329a2c99471edbf5bbdc9af1e525 (diff)
Revamp error responses everywhere
Diffstat (limited to 'opendc/models/user.py')
-rw-r--r--opendc/models/user.py18
1 files changed, 5 insertions, 13 deletions
diff --git a/opendc/models/user.py b/opendc/models/user.py
index ea8b1f3f..cd314457 100644
--- a/opendc/models/user.py
+++ b/opendc/models/user.py
@@ -1,5 +1,6 @@
from opendc.models.model import Model
from opendc.util.database import DB
+from opendc.util.exceptions import ClientError
from opendc.util.rest import Response
@@ -14,21 +15,12 @@ class User(Model):
def from_google_id(cls, google_id):
return User(DB.fetch_one({'googleId': google_id}, User.collection_name))
- def validate(self, request_google_id=None):
- super_validation = super().validate(request_google_id)
-
- if super_validation is not None:
- return super_validation
-
+ def check_correct_user(self, request_google_id):
if request_google_id is not None and self.obj['googleId'] != request_google_id:
- return Response(403, f'Forbidden from editing user with ID {self.obj["_id"]}.')
+ raise ClientError(Response(403, f'Forbidden from editing user with ID {self.obj["_id"]}.'))
- return None
-
- def validate_insertion(self):
+ def check_already_exists(self):
existing_user = DB.fetch_one({'googleId': self.obj['googleId']}, self.collection_name)
if existing_user is not None:
- return Response(409, f'User already exists.')
-
- return None
+ raise ClientError(Response(409, 'User already exists.'))