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

23 lines
1.3 KiB
Scala

package com.twitter.home_mixer.marshaller.timelines
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.BasicTopicContextFunctionalityType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecWithEducationTopicContextFunctionalityType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecommendationTopicContextFunctionalityType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.TopicContextFunctionalityType
import com.twitter.timelines.render.{thriftscala => urt}
object TopicContextFunctionalityTypeUnmarshaller {
def apply(
topicContextFunctionalityType: urt.TopicContextFunctionalityType
): TopicContextFunctionalityType = topicContextFunctionalityType match {
case urt.TopicContextFunctionalityType.Basic => BasicTopicContextFunctionalityType
case urt.TopicContextFunctionalityType.Recommendation =>
RecommendationTopicContextFunctionalityType
case urt.TopicContextFunctionalityType.RecWithEducation =>
RecWithEducationTopicContextFunctionalityType
case urt.TopicContextFunctionalityType.EnumUnknownTopicContextFunctionalityType(field) =>
throw new UnsupportedOperationException(s"Unknown topic context functionality type: $field")
}
}