34 lines
935 B
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]
|
|
}
|