diff --git a/server/app/views.py b/server/app/views.py index e452a04..d47daad 100644 --- a/server/app/views.py +++ b/server/app/views.py @@ -10,12 +10,16 @@ from encryption import PrivateKey, PublicKey @route_post("users/new", args={'name': str, 'public_key': str}) def create_user(params): "Creates a new user" + try: + PublicKey.load(params['public_key']) + except (ValueError, FileNotFoundError): + raise NotAllowed("Invalid public key") try: new_user = User.from_dict(params) new_user.save() return new_user.to_dict() except: - raise NotAllowed("Username and public key must be unique.") + raise NotAllowed(f"Username {params['name']} is already in use.") @route_get("users", args={'name': str}) def get_user(params):