the-algorithm/pushservice/src/main/scala/com/twitter/frigate/pushservice/model/ibis/MagicFanoutCreatorEventIbis...

30 lines
1.0 KiB
Scala

package com.twitter.frigate.pushservice.model.ibis
import com.twitter.frigate.magic_events.thriftscala.CreatorFanoutType
import com.twitter.frigate.pushservice.model.PushTypes.PushCandidate
import com.twitter.frigate.pushservice.model.MagicFanoutCreatorEventPushCandidate
import com.twitter.frigate.pushservice.util.PushIbisUtil.mergeModelValues
import com.twitter.util.Future
trait MagicFanoutCreatorEventIbis2Hydrator
extends CustomConfigurationMapForIbis
with Ibis2HydratorForCandidate {
self: PushCandidate with MagicFanoutCreatorEventPushCandidate =>
val userMap = Map(
"handle" -> userProfile.screenName,
"display_name" -> userProfile.name
)
override val senderId = hydratedCreator.map(_.id)
override lazy val modelValues: Future[Map[String, String]] =
mergeModelValues(super.modelValues, userMap)
override val ibis2Request = creatorFanoutType match {
case CreatorFanoutType.UserSubscription => Future.None
case CreatorFanoutType.NewCreator => super.ibis2Request
case _ => super.ibis2Request
}
}