aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala64
1 files changed, 29 insertions, 35 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala
index 20cf6af..baf1b4e 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/document.scala
@@ -39,41 +39,35 @@ object document {
.get("physician")
.map(_.convertTo[String])
- val typeId = if (fields.contains("typeId")) {
- fields
- .get("typeId")
- .map(_.convertTo[LongId[DocumentType]])
- } else orig.typeId
-
- val provider = if (fields.contains("provider")) {
- fields
- .get("provider")
- .map(_.convertTo[String])
- } else orig.providerName
-
- val providerTypeId = if (fields.contains("providerTypeId")) {
- fields
- .get("providerTypeId")
- .map(_.convertTo[LongId[ProviderType]])
- } else orig.providerTypeId
-
- val meta = if (fields.contains("meta")) {
- fields
- .get("meta")
- .map(_.convertTo[TextJson[Meta]])
- } else orig.meta
-
- val startDate = if (fields.contains("startDate")) {
- fields
- .get("startDate")
- .map(_.convertTo[LocalDate])
- } else orig.startDate
-
- val endDate = if (fields.contains("endDate")) {
- fields
- .get("endDate")
- .map(_.convertTo[LocalDate])
- } else orig.endDate
+ val typeId = fields
+ .get("typeId")
+ .map(_.convertTo[Option[LongId[DocumentType]]])
+ .getOrElse(orig.typeId)
+
+ val provider = fields
+ .get("provider")
+ .map(_.convertTo[Option[String]])
+ .getOrElse(orig.providerName)
+
+ val providerTypeId = fields
+ .get("providerTypeId")
+ .map(_.convertTo[Option[LongId[ProviderType]]])
+ .getOrElse(orig.providerTypeId)
+
+ val meta = fields
+ .get("meta")
+ .map(_.convertTo[Option[TextJson[Meta]]])
+ .getOrElse(orig.meta)
+
+ val startDate = fields
+ .get("startDate")
+ .map(_.convertTo[Option[LocalDate]])
+ .getOrElse(orig.startDate)
+
+ val endDate = fields
+ .get("endDate")
+ .map(_.convertTo[Option[LocalDate]])
+ .getOrElse(orig.endDate)
orig.copy(
physician = physician.orElse(orig.physician),