implicit object UserFormat extends Format[User] {
def reads(json: JsValue): User = User(
(json \ "id").asInstanceOf[Pk[Long]],
(json \ "email").as[String])
def writes(u: User): JsValue = JsObject(List(
"id" -> JsInteger(u.id.get),
"email" -> JsString(u.email)
))
}
implicit object GroupFormat extends Format[UserGroup] {
def reads(json: JsValue): UserGroup = UserGroup(
(json \ "userId").as[Long],
(json \ "groupId").as[Long],
(json \ "groupName").as[String]
)
def writes(ug: UserGroup): JsValue = JsObject(List(
"userId" -> JsInteger(ug.userId),
"groupId" -> JsNumber(ug.groupId),
"groupName" -> JsBoolean(ug.groupNamel)
))
}