aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-20 14:07:09 +0700
committerGitHub <noreply@github.com>2017-10-20 14:07:09 +0700
commit6d6e732368e97e319653f00e498189afceeb4671 (patch)
tree39cb55a90f262a1065df750b8c5692c91aa0800e /src/main/scala/xyz/driver/pdsuidomain/formats/json
parent9ca0cae09bc880ce083c2a49ae3804889cc9d4c4 (diff)
parent14a6927aad61d13e7cec5be8a0da1194e7fba026 (diff)
downloadrest-query-6d6e732368e97e319653f00e498189afceeb4671.tar.gz
rest-query-6d6e732368e97e319653f00e498189afceeb4671.tar.bz2
rest-query-6d6e732368e97e319653f00e498189afceeb4671.zip
Merge pull request #50 from drivergroup/entity-list-responsesv0.10.0
Created list response for each entity
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/arm.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/listresponse.scala (renamed from src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponse.scala)25
2 files changed, 5 insertions, 22 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/arm.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/arm.scala
index 39af1c3..e182b4b 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/arm.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/arm.scala
@@ -19,7 +19,7 @@ object arm {
case _ => deserializationError(s"Expected Json Object as partial Arm, but got $json")
}
- def armFormat: RootJsonFormat[Arm] = new RootJsonFormat[Arm] {
+ implicit val armFormat: RootJsonFormat[Arm] = new RootJsonFormat[Arm] {
override def write(obj: Arm): JsValue =
JsObject(
"id" -> obj.id.toJson,
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 4afe0ee..20644dc 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
@@ -1,32 +1,15 @@
package xyz.driver.pdsuidomain.formats.json.sprayformats
-import java.time.LocalDateTime
-
import spray.json._
import spray.json.DefaultJsonProtocol._
-import xyz.driver.pdsuicommon.db.Pagination
+import xyz.driver.pdsuidomain.ListResponse
import xyz.driver.pdsuidomain.formats.json.sprayformats.common._
-final case class ListResponse[+T](items: Seq[T], meta: ListResponse.Meta)
-
-object ListResponse {
+object listresponse {
private val itemsField = "items"
private val metaField = "meta"
- final case class Meta(itemsCount: Int, pageNumber: Int, pageSize: Int, lastUpdate: Option[LocalDateTime])
-
- object Meta {
- def apply(itemsCount: Int, pagination: Pagination, lastUpdate: Option[LocalDateTime]): Meta = {
- Meta(
- itemsCount,
- pagination.pageNumber,
- pagination.pageSize,
- lastUpdate
- )
- }
- }
-
- implicit val listResponseMetaFormat: RootJsonFormat[Meta] = jsonFormat4(Meta.apply)
+ implicit val listResponseMetaFormat: RootJsonFormat[ListResponse.Meta] = jsonFormat4(ListResponse.Meta.apply)
implicit def listResponseWriter[T: JsonWriter]: RootJsonWriter[ListResponse[T]] =
new RootJsonWriter[ListResponse[T]] {
@@ -52,7 +35,7 @@ object ListResponse {
val meta = fields
.get(metaField)
- .map(_.convertTo[Meta])
+ .map(_.convertTo[ListResponse.Meta])
.getOrElse(deserializationError(s"ListResponse json object does not contain `$metaField` field: $json"))
ListResponse(items, meta)