aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-09-27 16:41:04 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-09-27 16:41:04 +0700
commit1fa90814e5930ad0bbe61ba5b082747781e1dc92 (patch)
treeae61966402b57425479bafd1d34ce680ca5cfe28 /src/main/scala/xyz/driver/pdsuidomain/formats
parent3a9ba980e6ce08361f6f3cdaf6ab2a401101b35c (diff)
downloadrest-query-1fa90814e5930ad0bbe61ba5b082747781e1dc92.tar.gz
rest-query-1fa90814e5930ad0bbe61ba5b082747781e1dc92.tar.bz2
rest-query-1fa90814e5930ad0bbe61ba5b082747781e1dc92.zip
PDSUI-2275 Review fixes
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiInterventionType.scala16
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala17
2 files changed, 9 insertions, 24 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiInterventionType.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiInterventionType.scala
index c28c5b4..3550437 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiInterventionType.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiInterventionType.scala
@@ -2,13 +2,12 @@ package xyz.driver.pdsuidomain.formats.json.intervention
import play.api.libs.functional.syntax._
import play.api.libs.json.{Format, JsPath}
-import xyz.driver.pdsuicommon.domain.LongId
import xyz.driver.pdsuidomain.entities.InterventionType
import xyz.driver.pdsuidomain.entities.InterventionType.DeliveryMethod
final case class ApiInterventionType(id: Long, name: String, deliveryMethods: List[String]) {
- def toDomain = InterventionType(id = LongId[InterventionType](id), name = name)
+ def toDomain = InterventionType.typeFromString(name)
}
object ApiInterventionType {
@@ -19,12 +18,9 @@ object ApiInterventionType {
(JsPath \ "deliveryMethods").format[List[String]]
)(ApiInterventionType.apply, unlift(ApiInterventionType.unapply))
- def fromDomain(interventionType: InterventionType) = {
- val typeMethods = InterventionType.deliveryMethodGroups.getOrElse(interventionType.id, Set.empty[DeliveryMethod])
- ApiInterventionType(
- id = interventionType.id.id,
- name = interventionType.name,
- deliveryMethods = typeMethods.map(DeliveryMethod.methodToString).toList
- )
- }
+ def fromDomain(interventionType: InterventionType) = ApiInterventionType(
+ id = interventionType.id.id,
+ name = interventionType.name,
+ deliveryMethods = interventionType.deliveryMethod.map(DeliveryMethod.methodToString).toList
+ )
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
index 4bd5bad..2bf1f2b 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala
@@ -123,33 +123,22 @@ object intervention {
implicit val interventionTypeFormat: JsonFormat[InterventionType] = new RootJsonFormat[InterventionType] {
override def read(json: JsValue) = json match {
case JsObject(fields) =>
- val id = fields
- .get("id")
- .map(_.convertTo[LongId[InterventionType]])
- .getOrElse(deserializationError(s"Intervention type json object does not contain `id` field: $json"))
-
val name = fields
.get("name")
.map(_.convertTo[String])
.getOrElse(deserializationError(s"Intervention type json object does not contain `name` field: $json"))
- InterventionType(id, name)
+ InterventionType.typeFromString(name)
case _ => deserializationError(s"Expected Json Object as Intervention type, but got $json")
}
- override def write(obj: InterventionType) = {
- val typeMethods = InterventionType.deliveryMethodGroups
- .getOrElse(obj.id, Set.empty[DeliveryMethod])
- .map(DeliveryMethod.methodToString)
- .toList
-
+ override def write(obj: InterventionType) =
JsObject(
"id" -> obj.id.toJson,
"name" -> obj.name.toJson,
- "deliveryMethods" -> typeMethods.toJson
+ "deliveryMethods" -> obj.deliveryMethod.map(DeliveryMethod.methodToString).toJson
)
- }
}
}