aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/errors
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/errors')
-rw-r--r--src/main/scala/xyz/driver/core/rest/errors/APIError.scala40
-rw-r--r--src/main/scala/xyz/driver/core/rest/errors/serviceException.scala41
2 files changed, 41 insertions, 40 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/errors/APIError.scala b/src/main/scala/xyz/driver/core/rest/errors/APIError.scala
deleted file mode 100644
index e0400fb..0000000
--- a/src/main/scala/xyz/driver/core/rest/errors/APIError.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-package xyz.driver.core.rest.errors
-
-import akka.http.scaladsl.model.{StatusCode, StatusCodes}
-
-abstract class APIError extends Throwable {
- def isPatientSensitive: Boolean = false
-
- def statusCode: StatusCode
- def message: String
-}
-
-final case class InvalidInputError(override val message: String = "Invalid input",
- override val isPatientSensitive: Boolean = false)
- extends APIError {
- override def statusCode: StatusCode = StatusCodes.BadRequest
-}
-
-final case class InvalidActionError(override val message: String = "This action is not allowed",
- override val isPatientSensitive: Boolean = false)
- extends APIError {
- override def statusCode: StatusCode = StatusCodes.Forbidden
-}
-
-final case class ResourceNotFoundError(override val message: String = "Resource not found",
- override val isPatientSensitive: Boolean = false)
- extends APIError {
- override def statusCode: StatusCode = StatusCodes.NotFound
-}
-
-final case class ExternalServiceTimeoutError(override val message: String = "Another service took too long to respond",
- override val isPatientSensitive: Boolean = false)
- extends APIError {
- override def statusCode: StatusCode = StatusCodes.GatewayTimeout
-}
-
-final case class DatabaseError(override val message: String = "Database access error",
- override val isPatientSensitive: Boolean = false)
- extends APIError {
- override def statusCode: StatusCode = StatusCodes.InternalServerError
-}
diff --git a/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala b/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala
new file mode 100644
index 0000000..94f9734
--- /dev/null
+++ b/src/main/scala/xyz/driver/core/rest/errors/serviceException.scala
@@ -0,0 +1,41 @@
+package xyz.driver.core.rest.errors
+
+import akka.http.scaladsl.model.{StatusCode, StatusCodes}
+
+abstract class ServiceException extends Exception {
+ def isPatientSensitive: Boolean = false
+
+ def statusCode: StatusCode
+ def message: String
+}
+
+final case class InvalidInputException(override val message: String = "Invalid input",
+ override val isPatientSensitive: Boolean = false)
+ extends ServiceException {
+ override def statusCode: StatusCode = StatusCodes.BadRequest
+}
+
+final case class InvalidActionException(override val message: String = "This action is not allowed",
+ override val isPatientSensitive: Boolean = false)
+ extends ServiceException {
+ override def statusCode: StatusCode = StatusCodes.Forbidden
+}
+
+final case class ResourceNotFoundException(override val message: String = "Resource not found",
+ override val isPatientSensitive: Boolean = false)
+ extends ServiceException {
+ override def statusCode: StatusCode = StatusCodes.NotFound
+}
+
+final case class ExternalServiceTimeoutException(override val message: String =
+ "Another service took too long to respond",
+ override val isPatientSensitive: Boolean = false)
+ extends ServiceException {
+ override def statusCode: StatusCode = StatusCodes.GatewayTimeout
+}
+
+final case class DatabaseException(override val message: String = "Database access error",
+ override val isPatientSensitive: Boolean = false)
+ extends ServiceException {
+ override def statusCode: StatusCode = StatusCodes.InternalServerError
+}