app/models/Destination.scala (22 lines of code) (raw):
package models
import org.joda.time.DateTime
import play.api.libs.json._
case class Destination(
systemId: String,
displayName: String,
stage: String,
stack: String,
composerPrefix: String,
isSecondary: Boolean,
changeDetails: Option[ChangeDetails],
lastModified: Option[DateTime],
available: Boolean
) {
def withApiStatus(changeDetails: Option[ChangeDetails], available: Boolean): Destination =
this.copy(changeDetails = changeDetails, available = available)
}
object Destination {
implicit val dateTimeWrites: Writes[DateTime] = JodaWrites.jodaDateWrites("yyyy-MM-dd'T'HH:mm:ssZ")
implicit val dateTimeReads: Reads[DateTime] = JodaReads.jodaDateReads("yyyy-MM-dd'T'HH:mm:ssZ")
implicit val formats: OFormat[Destination] = Json.format[Destination]
}