aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-12 11:21:15 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-12 11:21:15 +0700
commitf49ba1bd0b14073dd263b5cce499250c8a4419b2 (patch)
tree85fb9ffaeb8001469be476d32781938ad73e2031
parent18b5979ae51ead407e7ebda12d6346031c0dde9d (diff)
downloadrest-query-f49ba1bd0b14073dd263b5cce499250c8a4419b2.tar.gz
rest-query-f49ba1bd0b14073dd263b5cce499250c8a4419b2.tar.bz2
rest-query-f49ba1bd0b14073dd263b5cce499250c8a4419b2.zip
Code is formatted
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala
index 34cb7f1..4afe0ee 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala
@@ -7,12 +7,11 @@ import spray.json.DefaultJsonProtocol._
import xyz.driver.pdsuicommon.db.Pagination
import xyz.driver.pdsuidomain.formats.json.sprayformats.common._
-
final case class ListResponse[+T](items: Seq[T], meta: ListResponse.Meta)
object ListResponse {
private val itemsField = "items"
- private val metaField = "meta"
+ private val metaField = "meta"
final case class Meta(itemsCount: Int, pageNumber: Int, pageSize: Int, lastUpdate: Option[LocalDateTime])
@@ -34,21 +33,20 @@ object ListResponse {
override def write(listResponse: ListResponse[T]): JsValue = {
JsObject(
itemsField -> listResponse.items.map(_.toJson).toJson,
- metaField -> listResponse.meta.toJson
+ metaField -> listResponse.meta.toJson
)
}
}
-
implicit def listResponseReader[T: JsonReader]: RootJsonReader[ListResponse[T]] =
new RootJsonReader[ListResponse[T]] {
override def read(json: JsValue): ListResponse[T] = json match {
case JsObject(fields) =>
val items = fields
.get(itemsField)
- .map{
+ .map {
case JsArray(elements) => elements.map(_.convertTo[T])(collection.breakOut)
- case x => deserializationError(s"Expected Array as JsArray, but got $x")
+ case x => deserializationError(s"Expected Array as JsArray, but got $x")
}
.getOrElse(deserializationError(s"ListResponse json object does not contain `$itemsField` field: $json"))