[docx] split commit for file 3000

Signed-off-by: Ari Archer <ari.web.xyz@gmail.com>
This commit is contained in:
Ari Archer 2024-01-23 19:11:50 +02:00
parent af50481590
commit 23cec12533
No known key found for this signature in database
GPG Key ID: A50D5B4B599AF8A2
400 changed files with 0 additions and 3729 deletions

View File

@ -1,9 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.util.Time
trait HasExpirationTime {
def expirationTime: Option[Time] = None
final def expirationTimeInMillis: Option[Long] = expirationTime.map(_.inMillis)
}

View File

@ -1,7 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
trait HasSortIndex { timelineEntry: TimelineEntry =>
def sortIndex: Option[Long]
def withSortIndex(sortIndex: Long): TimelineEntry
}

View File

@ -1,9 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleDisplayType
case class ModuleItemTreeDisplay(
parentModuleEntryItemId: Option[String],
indentFromParent: Option[Boolean],
displayType: Option[ModuleDisplayType],
isAnchorChild: Option[Boolean])

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import metadata.Url
case class ReaderModeConfig(isReaderModeAvailable: Boolean, landingUrl: Url)

View File

@ -1,46 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.product_mixer.core.model.marshalling.response.urt.ShowAlert.ShowAlertEntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.alert.ShowAlertColorConfiguration
import com.twitter.product_mixer.core.model.marshalling.response.urt.alert.ShowAlertDisplayLocation
import com.twitter.product_mixer.core.model.marshalling.response.urt.alert.ShowAlertIconDisplayInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.alert.ShowAlertNavigationMetadata
import com.twitter.product_mixer.core.model.marshalling.response.urt.alert.ShowAlertType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.richtext.RichText
import com.twitter.util.Duration
/**
* Domain model for the URT ShowAlert [[https://docbird.twitter.biz/unified_rich_timelines_urt/gen/com/twitter/timelines/render/thriftscala/ShowAlert.html]]
*
* @note the text field (id: 2) has been deliberately excluded as it's been deprecated since 2018. Use RichText instead.
*/
case class ShowAlert(
override val id: String,
override val sortIndex: Option[Long],
alertType: ShowAlertType,
triggerDelay: Option[Duration],
displayDuration: Option[Duration],
clientEventInfo: Option[ClientEventInfo],
collapseDelay: Option[Duration],
userIds: Option[Seq[Long]],
richText: Option[RichText],
iconDisplayInfo: Option[ShowAlertIconDisplayInfo],
colorConfig: ShowAlertColorConfiguration,
displayLocation: ShowAlertDisplayLocation,
navigationMetadata: Option[ShowAlertNavigationMetadata],
) extends TimelineItem {
override val entryNamespace: EntryNamespace = ShowAlertEntryNamespace
// Note that sort index is not used for ShowAlerts, as they are not TimelineEntry and do not have entryId
override def withSortIndex(newSortIndex: Long): TimelineEntry =
copy(sortIndex = Some(newSortIndex))
// Not used for ShowAlerts
override def feedbackActionInfo: Option[FeedbackActionInfo] = None
}
object ShowAlert {
val ShowAlertEntryNamespace: EntryNamespace = EntryNamespace("show-alert")
}

View File

@ -1,10 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.product_mixer.core.model.marshalling.HasMarshalling
case class Timeline(
id: String,
instructions: Seq[TimelineInstruction],
// responseObjects::feedbackActions actions are populated implicitly, see UrtTransportMarshaller
metadata: Option[TimelineMetadata] = None)
extends HasMarshalling

View File

@ -1,56 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ContainsFeedbackActionInfos
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.HasClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.HasFeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.PinnableEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ReplaceableEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.MarkUnreadableEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleDisplayType
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleFooter
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleHeader
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleMetadata
import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.ModuleShowMoreBehavior
sealed trait TimelineEntry
extends HasEntryIdentifier
with HasSortIndex
with HasExpirationTime
with PinnableEntry
with ReplaceableEntry
with MarkUnreadableEntry
trait TimelineItem extends TimelineEntry with HasClientEventInfo with HasFeedbackActionInfo
case class ModuleItem(
item: TimelineItem,
dispensable: Option[Boolean],
treeDisplay: Option[ModuleItemTreeDisplay])
case class TimelineModule(
override val id: Long,
override val sortIndex: Option[Long],
override val entryNamespace: EntryNamespace,
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo],
override val isPinned: Option[Boolean],
items: Seq[ModuleItem],
displayType: ModuleDisplayType,
header: Option[ModuleHeader],
footer: Option[ModuleFooter],
metadata: Option[ModuleMetadata],
showMoreBehavior: Option[ModuleShowMoreBehavior])
extends TimelineEntry
with HasClientEventInfo
with HasFeedbackActionInfo
with ContainsFeedbackActionInfos {
override def feedbackActionInfos: Seq[Option[FeedbackActionInfo]] = {
items.map(_.item.feedbackActionInfo) :+ feedbackActionInfo
}
override def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}
trait TimelineOperation extends TimelineEntry

View File

@ -1,65 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ContainsFeedbackActionInfos
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.HasFeedbackActionInfo
sealed trait TimelineInstruction
case class AddEntriesTimelineInstruction(entries: Seq[TimelineEntry])
extends TimelineInstruction
with ContainsFeedbackActionInfos {
override def feedbackActionInfos: Seq[Option[FeedbackActionInfo]] =
entries.flatMap {
// Order is important, as entries that implement both ContainsFeedbackActionInfos and
// HasFeedbackActionInfo are expected to include both when implementing ContainsFeedbackActionInfos
case containsFeedbackActionInfos: ContainsFeedbackActionInfos =>
containsFeedbackActionInfos.feedbackActionInfos
case hasFeedbackActionInfo: HasFeedbackActionInfo =>
Seq(hasFeedbackActionInfo.feedbackActionInfo)
case _ => Seq.empty
}
}
case class ReplaceEntryTimelineInstruction(entry: TimelineEntry)
extends TimelineInstruction
with ContainsFeedbackActionInfos {
override def feedbackActionInfos: Seq[Option[FeedbackActionInfo]] =
entry match {
// Order is important, as entries that implement both ContainsFeedbackActionInfos and
// HasFeedbackActionInfo are expected to include both when implementing ContainsFeedbackActionInfos
case containsFeedbackActionInfos: ContainsFeedbackActionInfos =>
containsFeedbackActionInfos.feedbackActionInfos
case hasFeedbackActionInfo: HasFeedbackActionInfo =>
Seq(hasFeedbackActionInfo.feedbackActionInfo)
case _ => Seq.empty
}
}
case class AddToModuleTimelineInstruction(
moduleItems: Seq[ModuleItem],
moduleEntryId: String,
moduleItemEntryId: Option[String],
prepend: Option[Boolean])
extends TimelineInstruction
with ContainsFeedbackActionInfos {
override def feedbackActionInfos: Seq[Option[FeedbackActionInfo]] =
moduleItems.map(_.item.feedbackActionInfo)
}
case class PinEntryTimelineInstruction(entry: TimelineEntry) extends TimelineInstruction
case class MarkEntriesUnreadInstruction(entryIds: Seq[String]) extends TimelineInstruction
case class ClearCacheTimelineInstruction() extends TimelineInstruction
sealed trait TimelineTerminationDirection
case object TopTermination extends TimelineTerminationDirection
case object BottomTermination extends TimelineTerminationDirection
case object TopAndBottomTermination extends TimelineTerminationDirection
case class TerminateTimelineInstruction(terminateTimelineDirection: TimelineTerminationDirection)
extends TimelineInstruction
case class ShowCoverInstruction(cover: Cover) extends TimelineInstruction
case class ShowAlertInstruction(showAlert: ShowAlert) extends TimelineInstruction

View File

@ -1,6 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
case class TimelineMetadata(
title: Option[String],
scribeConfig: Option[TimelineScribeConfig],
readerModeConfig: Option[ReaderModeConfig] = None)

View File

@ -1,6 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt
case class TimelineScribeConfig(
page: Option[String],
section: Option[String],
entityToken: Option[String])

View File

@ -1,19 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/color",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/richtext",
"util/util-core:scala",
],
exports = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/color",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/richtext",
"util/util-core:scala",
],
)

View File

@ -1,9 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
import com.twitter.product_mixer.core.model.marshalling.response.urt.color.RosettaColor
case class ShowAlertColorConfiguration(
background: RosettaColor,
text: RosettaColor,
border: Option[RosettaColor],
)

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
sealed trait ShowAlertDisplayLocation
case object Top extends ShowAlertDisplayLocation
case object Bottom extends ShowAlertDisplayLocation

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
sealed trait ShowAlertIcon
case object UpArrow extends ShowAlertIcon
case object DownArrow extends ShowAlertIcon

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
import com.twitter.product_mixer.core.model.marshalling.response.urt.color.RosettaColor
case class ShowAlertIconDisplayInfo(icon: ShowAlertIcon, tint: RosettaColor)

View File

@ -1,3 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
case class ShowAlertNavigationMetadata(navigateToEntryId: String)

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.alert
sealed trait ShowAlertType
case object NewTweets extends ShowAlertType
case object Navigate extends ShowAlertType

View File

@ -1,15 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/icon",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
],
exports = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/icon",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
],
)

View File

@ -1,12 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.button
sealed trait ButtonStyle
case object Default extends ButtonStyle
case object Primary extends ButtonStyle
case object Secondary extends ButtonStyle
case object Text extends ButtonStyle
case object Destructive extends ButtonStyle
case object Neutral extends ButtonStyle
case object DestructiveSecondary extends ButtonStyle
case object DestructiveText extends ButtonStyle

View File

@ -1,11 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.button
import com.twitter.product_mixer.core.model.marshalling.response.urt.icon.HorizonIcon
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.Url
sealed trait CtaButton
case class TextCtaButton(buttonText: String, url: Url) extends CtaButton
case class IconCtaButton(buttonIcon: HorizonIcon, accessibilityLabel: String, url: Url)
extends CtaButton

View File

@ -1,8 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [],
)

View File

@ -1,7 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.color
case class Color(
red: Short,
green: Short,
blue: Short,
opacity: Option[Short])

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.color
case class ColorPalette(
rgb: Color,
percentage: Double)

View File

@ -1,47 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.color
sealed trait RosettaColor
case object WhiteRosettaColor extends RosettaColor
case object BlackRosettaColor extends RosettaColor
case object ClearRosettaColor extends RosettaColor
case object TextBlackRosettaColor extends RosettaColor
case object TextBlueRosettaColor extends RosettaColor
case object DeepGrayRosettaColor extends RosettaColor
case object MediumGrayRosettaColor extends RosettaColor
case object LightGrayRosettaColor extends RosettaColor
case object FadedGrayRosettaColor extends RosettaColor
case object FaintGrayRosettaColor extends RosettaColor
case object DeepOrangeRosettaColor extends RosettaColor
case object MediumOrangeRosettaColor extends RosettaColor
case object LightOrangeRosettaColor extends RosettaColor
case object FadedOrangeRosettaColor extends RosettaColor
case object DeepYellowRosettaColor extends RosettaColor
case object MediumYellowRosettaColor extends RosettaColor
case object LightYellowRosettaColor extends RosettaColor
case object FadedYellowRosettaColor extends RosettaColor
case object DeepGreenRosettaColor extends RosettaColor
case object MediumGreenRosettaColor extends RosettaColor
case object LightGreenRosettaColor extends RosettaColor
case object FadedGreenRosettaColor extends RosettaColor
case object DeepBlueRosettaColor extends RosettaColor
case object TwitterBlueRosettaColor extends RosettaColor
case object LightBlueRosettaColor extends RosettaColor
case object FadedBlueRosettaColor extends RosettaColor
case object FaintBlueRosettaColor extends RosettaColor
case object DeepPurpleRosettaColor extends RosettaColor
case object MediumPurpleRosettaColor extends RosettaColor
case object LightPurpleRosettaColor extends RosettaColor
case object FadedPurpleRosettaColor extends RosettaColor
case object DeepRedRosettaColor extends RosettaColor
case object MediumRedRosettaColor extends RosettaColor
case object LightRedRosettaColor extends RosettaColor
case object FadedRedRosettaColor extends RosettaColor

View File

@ -1,15 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/rtf/safety_level",
],
exports = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/rtf/safety_level",
],
)

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref
case class ContextualTweetRef(
id: Long,
hydrationContext: Option[TweetHydrationContext])

View File

@ -1,6 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref
sealed trait OuterTweetContext
case class QuoteTweetId(id: Long) extends OuterTweetContext
case class RetweetId(id: Long) extends OuterTweetContext

View File

@ -1,7 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref
import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.SafetyLevel
case class TweetHydrationContext(
safetyLevelOverride: Option[SafetyLevel],
outerTweetContext: Option[OuterTweetContext])

View File

@ -1,16 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/button",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
],
exports = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/button",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/metadata",
],
)

View File

@ -1,34 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.Callback
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.DismissInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ImageDisplayType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ImageVariant
import com.twitter.product_mixer.core.model.marshalling.response.urt.richtext.RichText
sealed trait CoverContent
case class FullCoverContent(
displayType: FullCoverDisplayType,
primaryText: RichText,
primaryCoverCta: CoverCta,
secondaryCoverCta: Option[CoverCta],
secondaryText: Option[RichText],
imageVariant: Option[ImageVariant],
details: Option[RichText],
dismissInfo: Option[DismissInfo],
imageDisplayType: Option[ImageDisplayType],
impressionCallbacks: Option[List[Callback]])
extends CoverContent
case class HalfCoverContent(
displayType: HalfCoverDisplayType,
primaryText: RichText,
primaryCoverCta: CoverCta,
secondaryCoverCta: Option[CoverCta],
secondaryText: Option[RichText],
impressionCallbacks: Option[List[Callback]],
dismissible: Option[Boolean],
coverImage: Option[CoverImage],
dismissInfo: Option[DismissInfo])
extends CoverContent

View File

@ -1,14 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.button.ButtonStyle
import com.twitter.product_mixer.core.model.marshalling.response.urt.icon.HorizonIcon
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.Callback
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
case class CoverCta(
text: String,
ctaBehavior: CoverCtaBehavior,
callbacks: Option[List[Callback]],
clientEventInfo: Option[ClientEventInfo],
icon: Option[HorizonIcon],
buttonStyle: Option[ButtonStyle])

View File

@ -1,9 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.Url
import com.twitter.product_mixer.core.model.marshalling.response.urt.richtext.RichText
sealed trait CoverCtaBehavior
case class CoverBehaviorNavigate(url: Url) extends CoverCtaBehavior
case class CoverBehaviorDismiss(feedbackMessage: Option[RichText]) extends CoverCtaBehavior

View File

@ -1,10 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ImageAnimationType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ImageDisplayType
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ImageVariant
case class CoverImage(
imageVariant: ImageVariant,
imageDisplayType: ImageDisplayType,
imageAnimationType: Option[ImageAnimationType])

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
sealed trait FullCoverDisplayType
case object CoverFullCoverDisplayType extends FullCoverDisplayType

View File

@ -1,6 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
sealed trait HalfCoverDisplayType
case object CoverHalfCoverDisplayType extends HalfCoverDisplayType
case object CenterCoverHalfCoverDisplayType extends HalfCoverDisplayType

View File

@ -1,49 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.Cover
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.cover.FullCover.FullCoverEntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.cover.HalfCover.HalfCoverEntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
object HalfCover {
val HalfCoverEntryNamespace = EntryNamespace("half-cover")
}
case class HalfCover(
override val id: String,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
content: HalfCoverContent)
extends Cover {
override val entryNamespace: EntryNamespace = HalfCoverEntryNamespace
// Note that sort index is not used for Covers, as they are not TimelineEntry and do not have entryId
override def withSortIndex(newSortIndex: Long): TimelineEntry =
copy(sortIndex = Some(newSortIndex))
// Not used for covers
override def feedbackActionInfo: Option[FeedbackActionInfo] = None
}
object FullCover {
val FullCoverEntryNamespace = EntryNamespace("full-cover")
}
case class FullCover(
override val id: String,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
content: FullCoverContent)
extends Cover {
override val entryNamespace: EntryNamespace = FullCoverEntryNamespace
// Note that sort index is not used for Covers, as they are not TimelineEntry and do not have entryId
override def withSortIndex(newSortIndex: Long): TimelineEntry =
copy(sortIndex = Some(newSortIndex))
// Not used for covers
override def feedbackActionInfo: Option[FeedbackActionInfo] = None
}

View File

@ -1,9 +0,0 @@
scala_library(
sources = ["*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [],
exports = [],
)

View File

@ -1,43 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.icon
sealed trait HorizonIcon
case object Bookmark extends HorizonIcon
case object Moment extends HorizonIcon
case object Debug extends HorizonIcon
case object Error extends HorizonIcon
case object Follow extends HorizonIcon
case object Unfollow extends HorizonIcon
case object Smile extends HorizonIcon
case object Frown extends HorizonIcon
case object Help extends HorizonIcon
case object Link extends HorizonIcon
case object Message extends HorizonIcon
case object No extends HorizonIcon
case object Outgoing extends HorizonIcon
case object Pin extends HorizonIcon
case object Retweet extends HorizonIcon
case object Speaker extends HorizonIcon
case object Trashcan extends HorizonIcon
case object Feedback extends HorizonIcon
case object FeedbackClose extends HorizonIcon
case object EyeOff extends HorizonIcon
case object Moderation extends HorizonIcon
case object Topic extends HorizonIcon
case object TopicClose extends HorizonIcon
case object Flag extends HorizonIcon
case object TopicFilled extends HorizonIcon
case object NotificationsFollow extends HorizonIcon
case object Person extends HorizonIcon
case object BalloonStroke extends HorizonIcon
case object Calendar extends HorizonIcon
case object LocationStroke extends HorizonIcon
case object PersonStroke extends HorizonIcon
case object Safety extends HorizonIcon
case object Logo extends HorizonIcon
case object SparkleOn extends HorizonIcon
case object StarRising extends HorizonIcon
case object CameraVideo extends HorizonIcon
case object ShoppingClock extends HorizonIcon
case object ArrowRight extends HorizonIcon
case object SpeakerOff extends HorizonIcon

View File

@ -1,24 +0,0 @@
scala_library(
sources = ["**/*.scala"],
compiler_option_sets = ["fatal_warnings"],
platform = "java8",
strict_deps = True,
tags = ["bazel-compatible"],
dependencies = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/button",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/contextual_ref",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/media",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/promoted",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/reaction",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/richtext",
],
exports = [
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/button",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/contextual_ref",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/media",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/promoted",
"product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/reaction",
],
)

View File

@ -1,5 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.article
sealed trait ArticleDisplayType
case object Default extends ArticleDisplayType

View File

@ -1,26 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.article
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.SocialContext
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineItem
object ArticleItem {
val ArticleEntryNamespace = EntryNamespace("article")
}
case class ArticleItem(
override val id: Int,
articleSeedType: ArticleSeedType,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo],
displayType: Option[ArticleDisplayType],
socialContext: Option[SocialContext])
extends TimelineItem {
override val entryNamespace: EntryNamespace = ArticleItem.ArticleEntryNamespace
override def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}

View File

@ -1,18 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.article
sealed trait ArticleSeedType
/**
* Seed UTEG with a user's following list (1st degree network)
*/
case object FollowingListSeed extends ArticleSeedType
/**
* Seed UTEG with a user's friends of friends (follow graph + 1) list
*/
case object FriendsOfFriendsSeed extends ArticleSeedType
/**
* Seed UTEG with a given lists' members
*/
case object ListIdSeed extends ArticleSeedType

View File

@ -1,22 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.audio_space
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineItem
object AudioSpaceItem {
val SpaceEntryNamespace = EntryNamespace("audiospace")
}
case class AudioSpaceItem(
override val id: String,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo])
extends TimelineItem {
override val entryNamespace: EntryNamespace = AudioSpaceItem.SpaceEntryNamespace
override def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}

View File

@ -1,7 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.card
sealed trait CardDisplayType
case object HeroDisplayType extends CardDisplayType
case object CellDisplayType extends CardDisplayType
case object TweetCardDisplayType extends CardDisplayType

View File

@ -1,28 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.card
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineItem
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.Url
object CardItem {
val CardEntryNamespace = EntryNamespace("card")
}
case class CardItem(
override val id: String,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo],
cardUrl: String,
text: Option[String],
subtext: Option[String],
url: Option[Url],
displayType: Option[CardDisplayType])
extends TimelineItem {
override val entryNamespace: EntryNamespace = CardItem.CardEntryNamespace
override def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}

View File

@ -1,23 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.commerce
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineItem
import com.twitter.product_mixer.core.model.marshalling.response.urt.item.commerce.CommerceProductGroupItem.CommerceProductGroupEntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
object CommerceProductGroupItem {
val CommerceProductGroupEntryNamespace: EntryNamespace = EntryNamespace("commerce-product-group")
}
case class CommerceProductGroupItem(
override val id: Long,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo])
extends TimelineItem {
val entryNamespace: EntryNamespace = CommerceProductGroupEntryNamespace
def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}

View File

@ -1,23 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.commerce
import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry
import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineItem
import com.twitter.product_mixer.core.model.marshalling.response.urt.item.commerce.CommerceProductItem.CommerceProductEntryNamespace
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.ClientEventInfo
import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.FeedbackActionInfo
object CommerceProductItem {
val CommerceProductEntryNamespace: EntryNamespace = EntryNamespace("commerce-product")
}
case class CommerceProductItem(
override val id: Long,
override val sortIndex: Option[Long],
override val clientEventInfo: Option[ClientEventInfo],
override val feedbackActionInfo: Option[FeedbackActionInfo])
extends TimelineItem {
val entryNamespace: EntryNamespace = CommerceProductEntryNamespace
def withSortIndex(sortIndex: Long): TimelineEntry = copy(sortIndex = Some(sortIndex))
}

View File

@ -1,8 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.conversation_annotation
import com.twitter.product_mixer.core.model.marshalling.response.urt.richtext.RichText
case class ConversationAnnotation(
conversationAnnotationType: ConversationAnnotationType,
header: Option[RichText],
description: Option[RichText])

View File

@ -1,6 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.conversation_annotation
sealed trait ConversationAnnotationType
case object Political extends ConversationAnnotationType
case object Large extends ConversationAnnotationType

View File

@ -1,7 +0,0 @@
package com.twitter.product_mixer.core.model.marshalling.response.urt.item.event
sealed trait EventSummaryDisplayType
case object CellEventSummaryDisplayType extends EventSummaryDisplayType
case object HeroEventSummaryDisplayType extends EventSummaryDisplayType
case object CellWithProminentSocialContextEventSummaryDisplayType extends EventSummaryDisplayType

Some files were not shown because too many files have changed in this diff Show More