aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/error/ErrorCode.scala
blob: 5574c016489597875a9d973fd695bd90eb3172f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package xyz.driver.pdsuicommon.error

import play.api.libs.functional.syntax._
import play.api.libs.json.{Format, Reads, Writes}

@SuppressWarnings(Array("org.wartremover.warts.Enumeration"))
object ErrorCode extends Enumeration {

  type ErrorCode = Value
  val Unspecified = Value(1)

  private val fromJsonReads: Reads[ErrorCode] = Reads.of[Int].map(ErrorCode.apply)
  private val toJsonWrites: Writes[ErrorCode] = Writes.of[Int].contramap(_.id)

  implicit val jsonFormat: Format[ErrorCode] = Format(fromJsonReads, toJsonWrites)

}