the-algorithm/home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines/TimelineServiceCursorMarshaller.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

22 lines
923 B
Scala

package com.twitter.home_mixer.marshaller.timelines
import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.GapCursor
import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor
import com.twitter.timelineservice.{thriftscala => t}
object TimelineServiceCursorMarshaller {
def apply(cursor: UrtOrderedCursor): Option[t.Cursor2] = {
val id = cursor.id.map(_.toString)
val gapBoundaryId = cursor.gapBoundaryId.map(_.toString)
cursor.cursorType match {
case Some(TopCursor) => Some(t.Cursor2(bottom = id))
case Some(BottomCursor) => Some(t.Cursor2(top = id))
case Some(GapCursor) => Some(t.Cursor2(top = id, bottom = gapBoundaryId))
case _ => None
}
}
}