the-algorithm/timelineranker/common/src/main/scala/com/twitter/timelineranker/model/RankedTimelineQueryOptions.scala
twitter-team ef4c5eb65e Twitter Recommendation Algorithm
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
2023-03-31 17:36:31 -05:00

30 lines
844 B
Scala

package com.twitter.timelineranker.model
import com.twitter.timelineranker.{thriftscala => thrift}
object RankedTimelineQueryOptions {
def fromThrift(options: thrift.RankedTimelineQueryOptions): RankedTimelineQueryOptions = {
RankedTimelineQueryOptions(
seenEntries = options.seenEntries.map(PriorSeenEntries.fromThrift)
)
}
}
case class RankedTimelineQueryOptions(seenEntries: Option[PriorSeenEntries])
extends TimelineQueryOptions {
throwIfInvalid()
def toThrift: thrift.RankedTimelineQueryOptions = {
thrift.RankedTimelineQueryOptions(seenEntries = seenEntries.map(_.toThrift))
}
def toTimelineQueryOptionsThrift: thrift.TimelineQueryOptions = {
thrift.TimelineQueryOptions.RankedTimelineQueryOptions(toThrift)
}
def throwIfInvalid(): Unit = {
seenEntries.foreach(_.throwIfInvalid)
}
}