membership-attribute-service/app/models/Features.scala (25 lines of code) (raw):

package models import org.joda.time.LocalDate import play.api.libs.json.{Json} import play.api.mvc.Result import play.api.mvc.Results.Ok import json.localDateWrites import scala.language.implicitConversions object Features { implicit val jsWrite = Json.writes[Features] implicit def toResult(attrs: Features): Result = Ok(Json.toJson(attrs)) def fromAttributes(attributes: Attributes) = { Features( userId = Some(attributes.UserId), adblockMessage = !attributes.isPaidTier, membershipJoinDate = attributes.MembershipJoinDate, ) } val unauthenticated = Features(None, adblockMessage = true, None) } case class Features( userId: Option[String], adblockMessage: Boolean, membershipJoinDate: Option[LocalDate], )