blob: d842c94dd8ee76bbb8eeeffd3c8242709e6bfc80 (
plain) (
tree)
|
|
package xyz.driver.core.rest.errors
sealed abstract class ServiceException extends Exception {
def message: String
}
final case class InvalidInputException(override val message: String = "Invalid input") extends ServiceException
final case class InvalidActionException(override val message: String = "This action is not allowed")
extends ServiceException
final case class ResourceNotFoundException(override val message: String = "Resource not found") extends ServiceException
final case class ExternalServiceException(serviceName: String, serviceMessage: String) extends ServiceException {
override def message = s"Error while calling '$serviceName': $serviceMessage"
}
final case class ExternalServiceTimeoutException(serviceName: String) extends ServiceException {
override def message = s"$serviceName took too long to respond"
}
final case class DatabaseException(override val message: String = "Database access error") extends ServiceException
|