From 8c6d71fa51c7c46e99b93850402d9691d171fe05 Mon Sep 17 00:00:00 2001 From: Alexis Hernandez Date: Wed, 11 Apr 2018 23:32:21 -0500 Subject: [PATCH] server: Add the PaginatedQuery model --- server/app/com/xsn/explorer/models/base/Limit.scala | 10 ++++++++++ server/app/com/xsn/explorer/models/base/Offset.scala | 10 ++++++++++ .../com/xsn/explorer/models/base/PaginatedQuery.scala | 3 +++ 3 files changed, 23 insertions(+) create mode 100644 server/app/com/xsn/explorer/models/base/Limit.scala create mode 100644 server/app/com/xsn/explorer/models/base/Offset.scala create mode 100644 server/app/com/xsn/explorer/models/base/PaginatedQuery.scala diff --git a/server/app/com/xsn/explorer/models/base/Limit.scala b/server/app/com/xsn/explorer/models/base/Limit.scala new file mode 100644 index 0000000..622d5b3 --- /dev/null +++ b/server/app/com/xsn/explorer/models/base/Limit.scala @@ -0,0 +1,10 @@ +package com.xsn.explorer.models.base + +import play.api.libs.json.{JsNumber, Writes} + +case class Limit(int: Int) extends AnyVal + +object Limit { + + implicit val writes: Writes[Limit] = Writes[Limit] { limit => JsNumber(limit.int) } +} diff --git a/server/app/com/xsn/explorer/models/base/Offset.scala b/server/app/com/xsn/explorer/models/base/Offset.scala new file mode 100644 index 0000000..bc35f74 --- /dev/null +++ b/server/app/com/xsn/explorer/models/base/Offset.scala @@ -0,0 +1,10 @@ +package com.xsn.explorer.models.base + +import play.api.libs.json.{JsNumber, Writes} + +case class Offset(int: Int) extends AnyVal + +object Offset { + + implicit val writes: Writes[Offset] = Writes[Offset] { offset => JsNumber(offset.int) } +} diff --git a/server/app/com/xsn/explorer/models/base/PaginatedQuery.scala b/server/app/com/xsn/explorer/models/base/PaginatedQuery.scala new file mode 100644 index 0000000..0ecbd17 --- /dev/null +++ b/server/app/com/xsn/explorer/models/base/PaginatedQuery.scala @@ -0,0 +1,3 @@ +package com.xsn.explorer.models.base + +case class PaginatedQuery(offset: Offset, limit: Limit)