app/model/PaidContentInformation.scala (23 lines of code) (raw):
package model
import ai.x.play.json.Jsonx
import ai.x.play.json.Encoders.encoder
import com.gu.tagmanagement.{PaidContentInformation => ThriftPaidContentInformation}
import play.api.libs.json.OFormat
case class PaidContentInformation(paidContentType: String, campaignColour: Option[String] = None) {
def asThrift = ThriftPaidContentInformation(
paidContentType = paidContentType,
campaignColour = campaignColour
)
def asExportedXml = {
<paidContentType>{this.paidContentType}</paidContentType>
<campaignColour>{this.campaignColour.getOrElse("")}</campaignColour>
}
}
object PaidContentInformation {
implicit val paidContentInformationFormat: OFormat[PaidContentInformation] = Jsonx.formatCaseClass[PaidContentInformation]
def apply(thriftPaidContentInformation: ThriftPaidContentInformation): PaidContentInformation =
PaidContentInformation(
paidContentType = thriftPaidContentInformation.paidContentType,
campaignColour = thriftPaidContentInformation.campaignColour
)
}