aboutsummaryrefslogtreecommitdiff
path: root/common/shared/src/main/scala/ApiProtocol.scala
blob: 5d0e00a9254b3636c300df176a53473180f72632 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
package triad

import java.time.Instant
import spray.json.{DerivedJsonProtocol, JsNumber, JsValue, JsonFormat}

object ApiProtocol extends DerivedJsonProtocol {
  implicit val timestampFormat: JsonFormat[Instant] = new JsonFormat[Instant] {
    def read(js: JsValue) = Instant.ofEpochMilli(js.convertTo[Long])
    def write(i: Instant) = JsNumber(i.toEpochMilli)
  }
  implicit val messageFormat = jsonFormat[Message]
}