object QuestionTypes extends {
type Status = Status.Value
object Status extends Enumeration {
type Status = Value
val Draft = Value("draft")
val Open = Value("open")
val Closed = Value("closed")
}
}
case class Question(id: Int, status: QuestionTypes.Status)
object EnumProtocol extends DefaultJsonProtocol {
abstract class EnumJsonFormat[T <: Enumeration](val enum: T) extends JsonFormat[T] {
def write(enum: T): JsString = JsString(enum.toString)
def read(json: JsValue): enum.Value = json match {
case JsString(value) => enum.withName(value)
case _ => deserializationError("Enumeration expected")
}
}
implicit object QuestionTypesStatusJsonFormat extends EnumJsonFormat(QuestionTypes.Status)
}
object QuestionProtocol extends DefaultJsonProtocol {
import EnumProtocol._
implicit val questionFormat = jsonFormat2(Question)
}
```could not find implicit value for evidence parameter of type com.starmind.commons.model.json.QuestionProtocol.JF[com.starmind.commons.model.json.QuestionTypes.Status]```