the-algorithm/pushservice/src/main/scala/com/twitter/frigate/pushservice/model/candidate/CopyInfo.scala

34 lines
935 B
Scala

package com.twitter.frigate.pushservice.model.candidate
import com.twitter.frigate.common.util.MRPushCopy
import com.twitter.frigate.common.util.MrPushCopyObjects
import com.twitter.frigate.pushservice.model.PushTypes.PushCandidate
import com.twitter.frigate.pushservice.util.CandidateUtil
case class CopyIds(
pushCopyId: Option[Int] = None,
ntabCopyId: Option[Int] = None,
aggregationId: Option[String] = None)
trait CopyInfo {
self: PushCandidate =>
import com.twitter.frigate.data_pipeline.common.FrigateNotificationUtil._
def getPushCopy: Option[MRPushCopy] =
pushCopyId match {
case Some(pushCopyId) => MrPushCopyObjects.getCopyFromId(pushCopyId)
case _ =>
crt2PushCopy(
commonRecType,
CandidateUtil.getSocialContextActionsFromCandidate(self).size
)
}
def pushCopyId: Option[Int]
def ntabCopyId: Option[Int]
def copyAggregationId: Option[String]
}