Skip to content

Commit 481d60a

Browse files
Patrick GerbesPatrick Gerbes
Patrick Gerbes
authored and
Patrick Gerbes
committed
Add Farmer Profile class to storj models
1 parent 7b7dfd0 commit 481d60a

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package models.domain.storj
2+
3+
import play.api.libs.json._
4+
5+
case class FarmerProfile(created: String, farmerId: String, failureRate: Option[Double])
6+
7+
object FarmerProfile {
8+
implicit val FarmerProfileReads = new Reads[FarmerProfile] {
9+
def reads(json: JsValue): JsResult[FarmerProfile] = json match {
10+
case obj: JsObject => try {
11+
val created = (obj \ "created").as[String]
12+
val farmerId = (obj \ "farmerId").as[String]
13+
val failureRate = (obj \\ "failureRate").asOpt[Double]
14+
15+
JsSuccess(FarmerProfile(created, farmerId, failureRate))
16+
} catch {
17+
case err: Throwable => JsError(err.getMessage)
18+
}
19+
}
20+
}
21+
implicit val FarmerProfileWrites: OWrites[FarmerProfile] = Json.writes[FarmerProfile]
22+
}

0 commit comments

Comments
 (0)