aboutsummaryrefslogtreecommitdiff
path: root/gn3/errors.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-01-04 11:20:30 +0300
committerFrederick Muriuki Muriithi2023-01-04 11:20:30 +0300
commit3752c663fa9ded1801680aa2342947b7676d8ce9 (patch)
tree6e221e5b003a634e585833cfe19a8d73aee1f36c /gn3/errors.py
parent7ea2f83c505c792a36d17cc0fc13301a885fb732 (diff)
downloadgenenetwork3-3752c663fa9ded1801680aa2342947b7676d8ce9.tar.gz
auth: Add `/register-user` endpoint
* gn3/app.py: register top-level error handlers. reorganise oauth2 blueprint. * gn3/auth/__init__.py: reorganise oaut2 blueprint. * gn3/auth/authentication/oauth2/views.py: reorganise oauth2 blueprint. * gn3/auth/authorisation/exceptions.py -> gn3/auth/authorisation/errors.py * gn3/auth/authorisation/groups.py: rename file/module * gn3/auth/authorisation/resources.py: rename file/module * gn3/auth/authorisation/views.py: Add `/register-user` endpoint * gn3/auth/blueprint.py: reorganise oauth2 blueprint. * gn3/errors.py: register top-level error handlers.
Diffstat (limited to 'gn3/errors.py')
-rw-r--r--gn3/errors.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/gn3/errors.py b/gn3/errors.py
new file mode 100644
index 0000000..01f917e
--- /dev/null
+++ b/gn3/errors.py
@@ -0,0 +1,15 @@
+"""Handle application level errors."""
+from flask import Flask, jsonify
+
+from gn3.auth.authorisation.errors import AuthorisationError
+
+def handle_authorisation_error(exc: AuthorisationError):
+ """Handle AuthorisationError if not handled anywhere else."""
+ return jsonify({
+ "error": type(exc).__name__,
+ "error_description": " :: ".join(exc.args)
+ }), 500
+
+def register_error_handlers(app: Flask):
+ """Register application-level error handlers."""
+ app.register_error_handler(AuthorisationError, handle_authorisation_error)