about summary refs log tree commit diff
path: root/gn_auth/auth/authorisation/errors.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-08-04 10:10:28 +0300
committerFrederick Muriuki Muriithi2023-08-04 10:20:09 +0300
commit8b7c598407a5fea9a3d78473e72df87606998cd4 (patch)
tree8526433a17eca6b511feb082a0574f9b15cb9469 /gn_auth/auth/authorisation/errors.py
parentf7fcbbcc014686ac597b783a8dcb38b43024b9d6 (diff)
downloadgn-auth-8b7c598407a5fea9a3d78473e72df87606998cd4.tar.gz
Copy over files from GN3 repository.
Diffstat (limited to 'gn_auth/auth/authorisation/errors.py')
-rw-r--r--gn_auth/auth/authorisation/errors.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/gn_auth/auth/authorisation/errors.py b/gn_auth/auth/authorisation/errors.py
new file mode 100644
index 0000000..3bc7a04
--- /dev/null
+++ b/gn_auth/auth/authorisation/errors.py
@@ -0,0 +1,42 @@
+"""Authorisation exceptions"""
+
+class AuthorisationError(Exception):
+    """
+    Top-level exception for the `gn3.auth.authorisation` package.
+
+    All exceptions in this package should inherit from this class.
+    """
+    error_code: int = 400
+
+class ForbiddenAccess(AuthorisationError):
+    """Raised for forbidden access."""
+    error_code: int = 403
+
+class UserRegistrationError(AuthorisationError):
+    """Raised whenever a user registration fails"""
+
+class NotFoundError(AuthorisationError):
+    """Raised whenever we try fetching (a/an) object(s) that do(es) not exist."""
+    error_code: int = 404
+
+class InvalidData(AuthorisationError):
+    """
+    Exception if user requests invalid data
+    """
+    error_code: int = 400
+
+class InconsistencyError(AuthorisationError):
+    """
+    Exception raised due to data inconsistencies
+    """
+    error_code: int = 500
+
+class PasswordError(AuthorisationError):
+    """
+    Raise in case of an error with passwords.
+    """
+
+class UsernameError(AuthorisationError):
+    """
+    Raise in case of an error with a user's name.
+    """