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

25 lines
947 B
Scala

package com.twitter.home_mixer.service
import com.twitter.home_mixer.{thriftscala => t}
import com.twitter.product_mixer.core.model.marshalling.request.Request
import com.twitter.product_mixer.core.pipeline.product.ProductPipelineRequest
import com.twitter.product_mixer.core.product.registry.ProductPipelineRegistry
import com.twitter.stitch.Stitch
import com.twitter.timelines.configapi.Params
import javax.inject.Inject
import javax.inject.Singleton
import scala.reflect.runtime.universe._
@Singleton
class ScoredTweetsService @Inject() (productPipelineRegistry: ProductPipelineRegistry) {
def getScoredTweetsResponse[RequestType <: Request](
request: RequestType,
params: Params
)(
implicit requestTypeTag: TypeTag[RequestType]
): Stitch[t.ScoredTweetsResponse] = productPipelineRegistry
.getProductPipeline[RequestType, t.ScoredTweetsResponse](request.product)
.process(ProductPipelineRequest(request, params))
}