diff options
author | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-09-27 16:41:04 +0700 |
---|---|---|
committer | Kseniya Tomskikh <ktomskih@datamonsters.co> | 2017-09-27 16:41:04 +0700 |
commit | 1fa90814e5930ad0bbe61ba5b082747781e1dc92 (patch) | |
tree | ae61966402b57425479bafd1d34ce680ca5cfe28 /src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala | |
parent | 3a9ba980e6ce08361f6f3cdaf6ab2a401101b35c (diff) | |
download | rest-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/json/sprayformats/intervention.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala | 17 |
1 files changed, 3 insertions, 14 deletions
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 ) - } } } |