aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Smith <zach@driver.xyz>2017-10-17 14:57:31 -0700
committerZach Smith <zach@driver.xyz>2017-10-31 09:17:49 -0700
commite5911d0f0fa382f37a22978a5bae1d6c4b47963f (patch)
tree7679e6881a70a2e8576060683385bb81f676634f
parent4715cdab47febe8bb75c81d45d9619fc224477bc (diff)
downloaddriver-core-e5911d0f0fa382f37a22978a5bae1d6c4b47963f.tar.gz
driver-core-e5911d0f0fa382f37a22978a5bae1d6c4b47963f.tar.bz2
driver-core-e5911d0f0fa382f37a22978a5bae1d6c4b47963f.zip
Rename APIError -> ServiceException and subclasses
-rw-r--r--src/main/scala/xyz/driver/core/rest/DriverRoute.scala6
-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
3 files changed, 44 insertions, 43 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
index 20cc556..f3260d0 100644
--- a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
+++ b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala
@@ -10,7 +10,7 @@ import akka.http.scaladsl.server.{ExceptionHandler, RequestContext, Route}
import com.typesafe.scalalogging.Logger
import org.slf4j.MDC
import xyz.driver.core.rest
-import xyz.driver.core.rest.errors.APIError
+import xyz.driver.core.rest.errors.ServiceException
import scala.compat.Platform.ConcurrentModificationException
@@ -29,12 +29,12 @@ trait DriverRoute {
* @return Exception handling route for exception type
*/
protected def exceptionHandler: PartialFunction[Throwable, Route] = {
- case api: APIError if api.isPatientSensitive =>
+ case api: ServiceException if api.isPatientSensitive =>
ctx =>
log.info("PHI Sensitive error")
errorResponse(ctx, InternalServerError, "Server error", api)(ctx)
- case api: APIError =>
+ case api: ServiceException =>
ctx =>
log.info("API Error")
errorResponse(ctx, api.statusCode, api.message, api)(ctx)
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
+}