mirror of
https://github.com/twitter/the-algorithm.git
synced 2024-06-13 06:38:52 +02:00
![twitter-team](/assets/img/avatar_default.png)
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.
32 lines
1.2 KiB
Scala
32 lines
1.2 KiB
Scala
package com.twitter.timelineranker.common
|
|
|
|
import com.twitter.servo.util.FutureArrow
|
|
import com.twitter.timelineranker.core.HydratedCandidatesAndFeaturesEnvelope
|
|
import com.twitter.timelines.earlybird.common.utils.EarlybirdFeaturesHydrator
|
|
import com.twitter.util.Future
|
|
|
|
object OutOfNetworkTweetsSearchFeaturesHydrationTransform
|
|
extends FutureArrow[
|
|
HydratedCandidatesAndFeaturesEnvelope,
|
|
HydratedCandidatesAndFeaturesEnvelope
|
|
] {
|
|
override def apply(
|
|
request: HydratedCandidatesAndFeaturesEnvelope
|
|
): Future[HydratedCandidatesAndFeaturesEnvelope] = {
|
|
val featuresByTweetId = EarlybirdFeaturesHydrator.hydrate(
|
|
searcherUserId = request.candidateEnvelope.query.userId,
|
|
searcherProfileInfo = request.userProfileInfo,
|
|
followedUserIds = Seq.empty,
|
|
mutuallyFollowingUserIds = Set.empty,
|
|
userLanguages = request.userLanguages,
|
|
uiLanguageCode = request.candidateEnvelope.query.deviceContext.flatMap(_.languageCode),
|
|
searchResults = request.candidateEnvelope.searchResults,
|
|
sourceTweetSearchResults = Seq.empty,
|
|
tweets = request.candidateEnvelope.hydratedTweets.outerTweets,
|
|
sourceTweets = Seq.empty
|
|
)
|
|
|
|
Future.value(request.copy(features = featuresByTweetId))
|
|
}
|
|
}
|