aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala')
-rw-r--r--src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala b/src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala
deleted file mode 100644
index 6c45d15..0000000
--- a/src/main/scala/xyz/driver/core/rest/directives/Unmarshallers.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-package xyz.driver.core
-package rest
-package directives
-
-import java.util.UUID
-
-import akka.http.scaladsl.marshalling.{Marshaller, Marshalling}
-import akka.http.scaladsl.unmarshalling.Unmarshaller
-import spray.json.{JsString, JsValue, JsonParser, JsonReader, JsonWriter}
-
-/** Akka-HTTP unmarshallers for custom core types. */
-trait Unmarshallers {
-
- implicit def idUnmarshaller[A]: Unmarshaller[String, Id[A]] =
- Unmarshaller.strict[String, Id[A]] { str =>
- Id[A](UUID.fromString(str).toString)
- }
-
- implicit def paramUnmarshaller[T](implicit reader: JsonReader[T]): Unmarshaller[String, T] =
- Unmarshaller.firstOf(
- Unmarshaller.strict((JsString(_: String)) andThen reader.read),
- stringToValueUnmarshaller[T]
- )
-
- implicit def revisionFromStringUnmarshaller[T]: Unmarshaller[String, Revision[T]] =
- Unmarshaller.strict[String, Revision[T]](Revision[T])
-
- val jsValueToStringMarshaller: Marshaller[JsValue, String] =
- Marshaller.strict[JsValue, String](value => Marshalling.Opaque[String](() => value.compactPrint))
-
- def valueToStringMarshaller[T](implicit jsonFormat: JsonWriter[T]): Marshaller[T, String] =
- jsValueToStringMarshaller.compose[T](jsonFormat.write)
-
- val stringToJsValueUnmarshaller: Unmarshaller[String, JsValue] =
- Unmarshaller.strict[String, JsValue](value => JsonParser(value))
-
- def stringToValueUnmarshaller[T](implicit jsonFormat: JsonReader[T]): Unmarshaller[String, T] =
- stringToJsValueUnmarshaller.map[T](jsonFormat.read)
-
-}