aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/json.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/json.scala')
-rw-r--r--src/main/scala/xyz/driver/core/json.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/json.scala b/src/main/scala/xyz/driver/core/json.scala
index de1df31..959239e 100644
--- a/src/main/scala/xyz/driver/core/json.scala
+++ b/src/main/scala/xyz/driver/core/json.scala
@@ -186,7 +186,13 @@ object json {
}
}
- implicit val phoneNumberFormat = jsonFormat2(PhoneNumber.apply)
+ implicit object phoneNumberFormat extends RootJsonFormat[PhoneNumber] {
+ private val basicFormat = jsonFormat2(PhoneNumber.apply)
+ override def write(obj: PhoneNumber): JsValue = basicFormat.write(obj)
+ override def read(json: JsValue): PhoneNumber = {
+ PhoneNumber.parse(basicFormat.read(json).toString).getOrElse(deserializationError("Invalid phone number"))
+ }
+ }
implicit val authCredentialsFormat = new RootJsonFormat[AuthCredentials] {
override def read(json: JsValue): AuthCredentials = {