aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2018-01-25 14:12:31 -0800
committervlad <vlad@driver.xyz>2018-01-25 14:12:31 -0800
commita0877d81ca2844d75dc361b5ce7c99afacd6e25f (patch)
tree8fe49f45cbcddbbb9a3d167099abe7aa2625e56b /src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala
parent46a22e9ab324a0068a85952cdc809800f360f445 (diff)
downloadrest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.tar.gz
rest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.tar.bz2
rest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.zip
Extracting query library
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala b/src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala
deleted file mode 100644
index a41f87a..0000000
--- a/src/main/scala/xyz/driver/pdsuicommon/validation/Validators.scala
+++ /dev/null
@@ -1,39 +0,0 @@
-package xyz.driver.pdsuicommon.validation
-
-import xyz.driver.pdsuicommon.json.JsonSerializer
-import xyz.driver.pdsuicommon.logging._
-
-import scala.util.control.NonFatal
-
-object Validators extends PhiLogging {
-
- type Validator[Input, Refined] = Input => Either[ValidationError, Refined]
-
- def generic[T, R](message: String)(f: PartialFunction[T, R]): Validator[T, R] = { value =>
- if (f.isDefinedAt(value)) Right(f(value))
- else Left(ValidationError(message))
- }
-
- def nonEmpty[T](field: String): Validator[Option[T], T] = generic(s"$field is empty") {
- case Some(x) => x
- }
-
- def nonEmptyString(field: String): Validator[String, String] = generic(s"$field is empty") {
- case x if x.nonEmpty => x
- }
-
- def deserializableTo[Refined](field: String)(value: String)(
- implicit m: Manifest[Refined]): Either[ValidationError, Refined] = {
- try {
- Right(JsonSerializer.deserialize[Refined](value))
- } catch {
- case NonFatal(e) =>
- logger.error(phi"Can not deserialize the ${Unsafe(field)}: $e")
- Left(ValidationError(s"$field is invalid"))
- }
- }
-
- def success[T](result: T): Either[Nothing, T] = Right(result)
-
- def fail(message: String): Either[ValidationError, Nothing] = Left(ValidationError(message))
-}