555 lines
21 KiB
Scala
555 lines
21 KiB
Scala
package com.twitter.visibility.models
|
|
|
|
import com.twitter.visibility.models.SafetyLevel.AccessInternalPromotedContent
|
|
import com.twitter.visibility.models.SafetyLevel.AdsBusinessSettings
|
|
import com.twitter.visibility.models.SafetyLevel.AdsCampaign
|
|
import com.twitter.visibility.models.SafetyLevel.AdsManager
|
|
import com.twitter.visibility.models.SafetyLevel.AdsReportingDashboard
|
|
import com.twitter.visibility.models.SafetyLevel.AllSubscribedLists
|
|
import com.twitter.visibility.models.SafetyLevel.Appeals
|
|
import com.twitter.visibility.models.SafetyLevel.ArticleTweetTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.BaseQig
|
|
import com.twitter.visibility.models.SafetyLevel.BirdwatchNeedsYourHelpNotifications
|
|
import com.twitter.visibility.models.SafetyLevel.BirdwatchNoteAuthor
|
|
import com.twitter.visibility.models.SafetyLevel.BirdwatchNoteTweetsTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.BlockMuteUsersTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.BrandSafety
|
|
import com.twitter.visibility.models.SafetyLevel.CardPollVoting
|
|
import com.twitter.visibility.models.SafetyLevel.CardsService
|
|
import com.twitter.visibility.models.SafetyLevel.ContentControlToolInstall
|
|
import com.twitter.visibility.models.SafetyLevel.ConversationFocalPrehydration
|
|
import com.twitter.visibility.models.SafetyLevel.ConversationFocalTweet
|
|
import com.twitter.visibility.models.SafetyLevel.ConversationInjectedTweet
|
|
import com.twitter.visibility.models.SafetyLevel.ConversationReply
|
|
import com.twitter.visibility.models.SafetyLevel.CuratedTrendsRepresentativeTweet
|
|
import com.twitter.visibility.models.SafetyLevel.CurationPolicyViolations
|
|
import com.twitter.visibility.models.SafetyLevel.DesFollowingAndFollowersUserList
|
|
import com.twitter.visibility.models.SafetyLevel.DesHomeTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.DesQuoteTweetTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.DesRealtime
|
|
import com.twitter.visibility.models.SafetyLevel.DesRealtimeSpamEnrichment
|
|
import com.twitter.visibility.models.SafetyLevel.DesRealtimeTweetFilter
|
|
import com.twitter.visibility.models.SafetyLevel.DesRetweetingUsers
|
|
import com.twitter.visibility.models.SafetyLevel.DesTweetDetail
|
|
import com.twitter.visibility.models.SafetyLevel.DesTweetLikingUsers
|
|
import com.twitter.visibility.models.SafetyLevel.DesUserBookmarks
|
|
import com.twitter.visibility.models.SafetyLevel.DesUserLikedTweets
|
|
import com.twitter.visibility.models.SafetyLevel.DesUserMentions
|
|
import com.twitter.visibility.models.SafetyLevel.DesUserTweets
|
|
import com.twitter.visibility.models.SafetyLevel.DevPlatformComplianceStream
|
|
import com.twitter.visibility.models.SafetyLevel.DevPlatformGetListTweets
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessages
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesConversationList
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesConversationTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesInbox
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesMutedUsers
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesPinned
|
|
import com.twitter.visibility.models.SafetyLevel.DirectMessagesSearch
|
|
import com.twitter.visibility.models.SafetyLevel.EditHistoryTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.ElevatedQuoteTweetTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.EmbedTweetMarkup
|
|
import com.twitter.visibility.models.SafetyLevel.EmbeddedTweet
|
|
import com.twitter.visibility.models.SafetyLevel.EmbedsPublicInterestNotice
|
|
import com.twitter.visibility.models.SafetyLevel.ExploreRecommendations
|
|
import com.twitter.visibility.models.SafetyLevel.FilterAll
|
|
import com.twitter.visibility.models.SafetyLevel.FilterAllPlaceholder
|
|
import com.twitter.visibility.models.SafetyLevel.FilterDefault
|
|
import com.twitter.visibility.models.SafetyLevel.FilterNone
|
|
import com.twitter.visibility.models.SafetyLevel.FollowedTopicsTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.FollowerConnections
|
|
import com.twitter.visibility.models.SafetyLevel.FollowingAndFollowersUserList
|
|
import com.twitter.visibility.models.SafetyLevel.ForDevelopmentOnly
|
|
import com.twitter.visibility.models.SafetyLevel.FriendsFollowingList
|
|
import com.twitter.visibility.models.SafetyLevel.GraphqlDefault
|
|
import com.twitter.visibility.models.SafetyLevel.GryphonDecksAndColumns
|
|
import com.twitter.visibility.models.SafetyLevel.HumanizationNudge
|
|
import com.twitter.visibility.models.SafetyLevel.KitchenSinkDevelopment
|
|
import com.twitter.visibility.models.SafetyLevel.ListHeader
|
|
import com.twitter.visibility.models.SafetyLevel.ListMemberships
|
|
import com.twitter.visibility.models.SafetyLevel.ListOwnerships
|
|
import com.twitter.visibility.models.SafetyLevel.ListRecommendations
|
|
import com.twitter.visibility.models.SafetyLevel.ListSearch
|
|
import com.twitter.visibility.models.SafetyLevel.ListSubscriptions
|
|
import com.twitter.visibility.models.SafetyLevel.LivePipelineEngagementCounts
|
|
import com.twitter.visibility.models.SafetyLevel.LiveVideoTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.MagicRecs
|
|
import com.twitter.visibility.models.SafetyLevel.MagicRecsAggressive
|
|
import com.twitter.visibility.models.SafetyLevel.MagicRecsAggressiveV2
|
|
import com.twitter.visibility.models.SafetyLevel.MagicRecsV2
|
|
import com.twitter.visibility.models.SafetyLevel.Minimal
|
|
import com.twitter.visibility.models.SafetyLevel.ModeratedTweetsTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.Moments
|
|
import com.twitter.visibility.models.SafetyLevel.NearbyTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.NewUserExperience
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsIbis
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsPlatform
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsPlatformPush
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsQig
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsRead
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsTimelineDeviceFollow
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsWrite
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsWriterTweetHydrator
|
|
import com.twitter.visibility.models.SafetyLevel.NotificationsWriterV2
|
|
import com.twitter.visibility.models.SafetyLevel.ProfileMixerFavorites
|
|
import com.twitter.visibility.models.SafetyLevel.ProfileMixerMedia
|
|
import com.twitter.visibility.models.SafetyLevel.QuickPromoteTweetEligibility
|
|
import com.twitter.visibility.models.SafetyLevel.QuoteTweetTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.QuotedTweetRules
|
|
import com.twitter.visibility.models.SafetyLevel.RecosVideo
|
|
import com.twitter.visibility.models.SafetyLevel.RecosWritePath
|
|
import com.twitter.visibility.models.SafetyLevel.RepliesGrouping
|
|
import com.twitter.visibility.models.SafetyLevel.ReportCenter
|
|
import com.twitter.visibility.models.SafetyLevel.ReturningUserExperienceFocalTweet
|
|
import com.twitter.visibility.models.SafetyLevel.Revenue
|
|
import com.twitter.visibility.models.SafetyLevel.SafeSearchMinimal
|
|
import com.twitter.visibility.models.SafetyLevel.SafeSearchStrict
|
|
import com.twitter.visibility.models.SafetyLevel.SearchBlenderUserRules
|
|
import com.twitter.visibility.models.SafetyLevel.SearchHydration
|
|
import com.twitter.visibility.models.SafetyLevel.SearchLatest
|
|
import com.twitter.visibility.models.SafetyLevel.SearchLatestUserRules
|
|
import com.twitter.visibility.models.SafetyLevel.SearchMixerSrpMinimal
|
|
import com.twitter.visibility.models.SafetyLevel.SearchMixerSrpStrict
|
|
import com.twitter.visibility.models.SafetyLevel.SearchPeopleSrp
|
|
import com.twitter.visibility.models.SafetyLevel.SearchPeopleTypeahead
|
|
import com.twitter.visibility.models.SafetyLevel.SearchPhoto
|
|
import com.twitter.visibility.models.SafetyLevel.SearchTop
|
|
import com.twitter.visibility.models.SafetyLevel.SearchTopQig
|
|
import com.twitter.visibility.models.SafetyLevel.SearchTrendTakeoverPromotedTweet
|
|
import com.twitter.visibility.models.SafetyLevel.SearchVideo
|
|
import com.twitter.visibility.models.SafetyLevel.ShoppingManagerSpyMode
|
|
import com.twitter.visibility.models.SafetyLevel.SignalsReactions
|
|
import com.twitter.visibility.models.SafetyLevel.SignalsTweetReactingUsers
|
|
import com.twitter.visibility.models.SafetyLevel.SoftInterventionPivot
|
|
import com.twitter.visibility.models.SafetyLevel.SpaceFleetline
|
|
import com.twitter.visibility.models.SafetyLevel.SpaceHomeTimelineUpranking
|
|
import com.twitter.visibility.models.SafetyLevel.SpaceJoinScreen
|
|
import com.twitter.visibility.models.SafetyLevel.SpaceNotifications
|
|
import com.twitter.visibility.models.SafetyLevel.SpaceTweetAvatarHomeTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.SpacesParticipants
|
|
import com.twitter.visibility.models.SafetyLevel.SpacesSellerApplicationStatus
|
|
import com.twitter.visibility.models.SafetyLevel.SpacesSharing
|
|
import com.twitter.visibility.models.SafetyLevel.StickersTimeline
|
|
import com.twitter.visibility.models.SafetyLevel.StratoExtLimitedEngagements
|
|
import com.twitter.visibility.models.SafetyLevel.StreamServices
|
|
import com.twitter.visibility.models.SafetyLevel.SuperFollowerConnections
|
|
import com.twitter.visibility.models.SafetyLevel.SuperLike
|
|
import com.twitter.visibility.models.SafetyLevel.Test
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineBookmark
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineContentControls
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineConversations
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineConversationsDownranking
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineConversationsDownrankingMinimal
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineFavorites
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineFavoritesSelfView
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineFocalTweet
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineFollowingActivity
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomeCommunities
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomeHydration
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomeLatest
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomePromotedHydration
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomeRecommendations
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineHomeTopicFollowRecommendations
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineInjection
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineLikedBy
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineLists
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineMedia
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineMentions
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineModeratedTweetsHydration
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineProfileAll
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineProfileSpaces
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineProfileSuperFollows
|
|
import com.twitter.visibility.models.SafetyLevel.TimelineScorer
|
|
import com.twitter.visibility.models.SafetyLevel.Tombstoning
|
|
import com.twitter.visibility.models.SafetyLevel.TopicsLandingPageTopicRecommendations
|
|
import com.twitter.visibility.models.SafetyLevel.TrendsRepresentativeTweet
|
|
import com.twitter.visibility.models.SafetyLevel.TrustedFriendsUserList
|
|
import com.twitter.visibility.models.SafetyLevel.TweetDetail
|
|
import com.twitter.visibility.models.SafetyLevel.TweetDetailNonToo
|
|
import com.twitter.visibility.models.SafetyLevel.TweetDetailWithInjectionsHydration
|
|
import com.twitter.visibility.models.SafetyLevel.TweetEngagers
|
|
import com.twitter.visibility.models.SafetyLevel.TweetReplyNudge
|
|
import com.twitter.visibility.models.SafetyLevel.TweetWritesApi
|
|
import com.twitter.visibility.models.SafetyLevel.TwitterArticleCompose
|
|
import com.twitter.visibility.models.SafetyLevel.TwitterArticleProfileTab
|
|
import com.twitter.visibility.models.SafetyLevel.TwitterArticleRead
|
|
import com.twitter.visibility.models.SafetyLevel.UserMilestoneRecommendation
|
|
import com.twitter.visibility.models.SafetyLevel.UserProfileHeader
|
|
import com.twitter.visibility.models.SafetyLevel.UserSelfViewOnly
|
|
import com.twitter.visibility.models.SafetyLevel.UserSettings
|
|
import com.twitter.visibility.models.SafetyLevel.VideoAds
|
|
import com.twitter.visibility.models.SafetyLevel.WritePathLimitedActionsEnforcement
|
|
import com.twitter.visibility.models.SafetyLevel.ZipbirdConsumerArchives
|
|
|
|
sealed trait SafetyLevelGroup { val levels: Set[SafetyLevel] }
|
|
|
|
object SafetyLevelGroup {
|
|
case object Ads extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
AdsBusinessSettings,
|
|
AdsCampaign,
|
|
AdsManager,
|
|
AdsReportingDashboard,
|
|
BrandSafety,
|
|
VideoAds,
|
|
QuickPromoteTweetEligibility
|
|
)
|
|
}
|
|
|
|
case object ArticleTimeline extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
ArticleTweetTimeline,
|
|
)
|
|
}
|
|
|
|
case object ArticleTweets extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
TwitterArticleCompose,
|
|
TwitterArticleProfileTab,
|
|
TwitterArticleRead,
|
|
)
|
|
}
|
|
|
|
case object Birdwatch extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
BirdwatchNoteAuthor,
|
|
BirdwatchNoteTweetsTimeline,
|
|
BirdwatchNeedsYourHelpNotifications,
|
|
)
|
|
}
|
|
|
|
case object Cards extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
CardPollVoting,
|
|
CardsService,
|
|
)
|
|
}
|
|
|
|
case object Communities extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.Communities
|
|
)
|
|
}
|
|
|
|
case object Conversation extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
ConversationFocalPrehydration,
|
|
ConversationFocalTweet,
|
|
ConversationInjectedTweet,
|
|
ConversationReply,
|
|
Tombstoning,
|
|
)
|
|
}
|
|
|
|
case object CreativeContainerService extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
AccessInternalPromotedContent
|
|
)
|
|
}
|
|
|
|
case object Des extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
DevPlatformGetListTweets,
|
|
DesFollowingAndFollowersUserList,
|
|
DesHomeTimeline,
|
|
DesQuoteTweetTimeline,
|
|
DesRetweetingUsers,
|
|
DesTweetDetail,
|
|
DesTweetLikingUsers,
|
|
DesUserBookmarks,
|
|
DesUserLikedTweets,
|
|
DesUserMentions,
|
|
DesUserTweets,
|
|
DevPlatformComplianceStream,
|
|
)
|
|
}
|
|
|
|
case object DesStream extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
DesRealtime,
|
|
DesRealtimeSpamEnrichment,
|
|
DesRealtimeTweetFilter,
|
|
)
|
|
}
|
|
|
|
case object Dm extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
DirectMessages,
|
|
DirectMessagesConversationList,
|
|
DirectMessagesConversationTimeline,
|
|
DirectMessagesInbox,
|
|
DirectMessagesMutedUsers,
|
|
DirectMessagesPinned,
|
|
DirectMessagesSearch,
|
|
)
|
|
}
|
|
|
|
case object Followers extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
FollowedTopicsTimeline,
|
|
FollowerConnections,
|
|
FollowingAndFollowersUserList,
|
|
FriendsFollowingList,
|
|
)
|
|
}
|
|
|
|
case object Graphql extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
FilterDefault,
|
|
GraphqlDefault,
|
|
SoftInterventionPivot,
|
|
)
|
|
}
|
|
|
|
case object Jiminy extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
HumanizationNudge,
|
|
TweetReplyNudge,
|
|
)
|
|
}
|
|
|
|
case object Lists extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
AllSubscribedLists,
|
|
ListHeader,
|
|
ListMemberships,
|
|
ListOwnerships,
|
|
ListRecommendations,
|
|
ListSearch,
|
|
ListSubscriptions,
|
|
)
|
|
}
|
|
|
|
case object Notifications extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
NotificationsIbis,
|
|
NotificationsPlatform,
|
|
NotificationsPlatformPush,
|
|
NotificationsQig,
|
|
NotificationsRead,
|
|
NotificationsTimelineDeviceFollow,
|
|
NotificationsWrite,
|
|
NotificationsWriterTweetHydrator,
|
|
NotificationsWriterV2,
|
|
)
|
|
}
|
|
|
|
case object Other extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
CuratedTrendsRepresentativeTweet,
|
|
CurationPolicyViolations,
|
|
BaseQig,
|
|
Appeals,
|
|
ContentControlToolInstall,
|
|
EditHistoryTimeline,
|
|
ElevatedQuoteTweetTimeline,
|
|
EmbeddedTweet,
|
|
EmbedsPublicInterestNotice,
|
|
EmbedTweetMarkup,
|
|
ExploreRecommendations,
|
|
WritePathLimitedActionsEnforcement,
|
|
LiveVideoTimeline,
|
|
LivePipelineEngagementCounts,
|
|
Minimal,
|
|
Moments,
|
|
NearbyTimeline,
|
|
NewUserExperience,
|
|
QuoteTweetTimeline,
|
|
QuotedTweetRules,
|
|
ReportCenter,
|
|
Revenue,
|
|
ShoppingManagerSpyMode,
|
|
StickersTimeline,
|
|
SuperLike,
|
|
TrendsRepresentativeTweet,
|
|
TrustedFriendsUserList,
|
|
GryphonDecksAndColumns,
|
|
TweetEngagers,
|
|
TweetWritesApi,
|
|
UserMilestoneRecommendation,
|
|
StreamServices,
|
|
ZipbirdConsumerArchives
|
|
)
|
|
}
|
|
|
|
case object Profile extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
UserProfileHeader,
|
|
UserSelfViewOnly,
|
|
UserSettings,
|
|
)
|
|
}
|
|
|
|
case object Reactions extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SignalsReactions,
|
|
SignalsTweetReactingUsers,
|
|
)
|
|
}
|
|
|
|
case object Recommendations extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
MagicRecs,
|
|
MagicRecsV2,
|
|
MagicRecsAggressive,
|
|
MagicRecsAggressiveV2,
|
|
SafetyLevel.Recommendations,
|
|
RecosVideo,
|
|
RecosWritePath,
|
|
)
|
|
}
|
|
|
|
case object ReturningUserExperience extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.ReturningUserExperience,
|
|
ReturningUserExperienceFocalTweet,
|
|
)
|
|
}
|
|
|
|
case object SafeSearch extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafeSearchMinimal,
|
|
SafeSearchStrict,
|
|
)
|
|
}
|
|
|
|
case object Search extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SearchHydration,
|
|
SearchLatest,
|
|
SearchTop,
|
|
SearchTopQig,
|
|
SearchPeopleSrp,
|
|
SearchPeopleTypeahead,
|
|
SearchPhoto,
|
|
SearchTrendTakeoverPromotedTweet,
|
|
SearchVideo,
|
|
SearchBlenderUserRules,
|
|
SearchLatestUserRules,
|
|
)
|
|
}
|
|
|
|
case object SearchMixer extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SearchMixerSrpMinimal,
|
|
SearchMixerSrpStrict,
|
|
)
|
|
}
|
|
|
|
case object Socialproof extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.SocialProof
|
|
)
|
|
}
|
|
|
|
case object Spaces extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SpaceFleetline,
|
|
SpaceHomeTimelineUpranking,
|
|
SpaceJoinScreen,
|
|
SpaceNotifications,
|
|
SafetyLevel.Spaces,
|
|
SpacesParticipants,
|
|
SpacesSellerApplicationStatus,
|
|
SpacesSharing,
|
|
SpaceTweetAvatarHomeTimeline,
|
|
)
|
|
}
|
|
|
|
case object Strato extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
StratoExtLimitedEngagements
|
|
)
|
|
}
|
|
|
|
case object Superfollows extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SuperFollowerConnections,
|
|
TimelineProfileSuperFollows,
|
|
)
|
|
}
|
|
|
|
case object Testing extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
ForDevelopmentOnly,
|
|
KitchenSinkDevelopment,
|
|
Test,
|
|
)
|
|
}
|
|
|
|
case object Timeline extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
BlockMuteUsersTimeline,
|
|
TimelineBookmark,
|
|
TimelineContentControls,
|
|
TimelineConversationsDownranking,
|
|
TimelineConversationsDownrankingMinimal,
|
|
TimelineFavorites,
|
|
TimelineFavoritesSelfView,
|
|
TimelineFollowingActivity,
|
|
TimelineScorer,
|
|
TimelineInjection,
|
|
TimelineLikedBy,
|
|
TimelineLists,
|
|
TimelineMedia,
|
|
TimelineMentions,
|
|
ModeratedTweetsTimeline,
|
|
TimelineModeratedTweetsHydration,
|
|
)
|
|
}
|
|
|
|
case object TopicRecommendations extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.TopicRecommendations,
|
|
TopicsLandingPageTopicRecommendations,
|
|
)
|
|
}
|
|
|
|
case object TimelineProfile extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.TimelineProfile,
|
|
TimelineProfileAll,
|
|
TimelineProfileSpaces,
|
|
TimelineMedia,
|
|
ProfileMixerMedia,
|
|
TimelineFavorites,
|
|
ProfileMixerFavorites
|
|
)
|
|
}
|
|
|
|
case object TimelineHome extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
SafetyLevel.TimelineHome,
|
|
TimelineHomeCommunities,
|
|
TimelineHomeHydration,
|
|
TimelineHomeLatest,
|
|
TimelineHomePromotedHydration,
|
|
TimelineHomeRecommendations,
|
|
TimelineHomeTopicFollowRecommendations,
|
|
)
|
|
}
|
|
|
|
case object TlsApi extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
TimelineConversations,
|
|
TimelineFocalTweet,
|
|
)
|
|
}
|
|
|
|
case object TweetDetails extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
TweetDetail,
|
|
TweetDetailNonToo,
|
|
TweetDetailWithInjectionsHydration,
|
|
RepliesGrouping,
|
|
)
|
|
}
|
|
|
|
case object Special extends SafetyLevelGroup {
|
|
override val levels: Set[SafetyLevel] = Set(
|
|
FilterAll,
|
|
FilterAllPlaceholder,
|
|
FilterNone,
|
|
)
|
|
}
|
|
}
|