aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala b/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala
index 4bf90d1..fc8e474 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/error/DomainError.scala
@@ -28,3 +28,11 @@ object DomainError {
Unsafe(Utils.getClassSimpleName(x.getClass))
}
}
+
+/** Subclasses of this exception correspond to subclasses of DomainError. They
+ * are used in REST service implementations to fail futures rather than
+ * returning successful futures, completed with corresponding DomainErrors. */
+class DomainException(message: String) extends RuntimeException(message)
+class NotFoundException(message: String) extends DomainException(message) // 404
+class AuthenticationException(message: String) extends DomainException(message) // 401
+class AuthorizationException(message: String) extends DomainException(message) // 403