app/models/errors/LightweightError.scala (15 lines of code) (raw):

package models.errors import io.circe.{Encoder, Json} import io.circe.generic.auto._ import io.circe.syntax._ trait LightweightError { def getMessage:String } object LightweightErrorEncoder { implicit def encode:Encoder[LightweightError] = new Encoder[LightweightError] { override def apply(a: LightweightError): Json = a match { case msg@GenericError(_)=>msg.asJson case msg@ConflictError(_,_)=>msg.asJson } } }