diff options
author | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-10-18 15:00:26 +0700 |
---|---|---|
committer | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-10-19 13:02:44 +0700 |
commit | 61d03bffcb6000268bb600d5336fb490056837f9 (patch) | |
tree | dbad0340d28dbe5835c80cf75f93d142a5327578 /src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats | |
parent | 0c8a7c3f1920e38a0606de91be5793c4f2a1d40a (diff) | |
download | rest-query-61d03bffcb6000268bb600d5336fb490056837f9.tar.gz rest-query-61d03bffcb6000268bb600d5336fb490056837f9.tar.bz2 rest-query-61d03bffcb6000268bb600d5336fb490056837f9.zip |
Created list response for each entity
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats')
-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 |
1 files changed, 4 insertions, 21 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 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) |