summaryrefslogtreecommitdiff
path: root/opendc/models/user.py
diff options
context:
space:
mode:
authorjc0b <j@jc0b.computer>2020-06-26 12:30:16 +0200
committerjc0b <j@jc0b.computer>2020-06-26 12:30:16 +0200
commitf1017676a150de60b13ff2b33ca83079d87aebfc (patch)
tree15c84fd426f65d54c70d405b9a2fc82b579c2812 /opendc/models/user.py
parent6f51282cd7c3945ddd0fac68407a7a7be57aa2ba (diff)
parent19bede4fc7f7320bb4eb16c3fe1a211b19ab4714 (diff)
Merged refactoring changes with upstream
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.'))