Documentation
¶
Index ¶
- Constants
- Variables
- func StreamAddFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamAuthorizeFollowRequestHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
- func StreamBlockHandler(repo BlocksStorer, userRepo BlockUserFetcher, nodeRepo PeerBlocklister) warpnet.WarpHandlerFunc
- func StreamBookmarkHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
- func StreamCreateChatHandler(repo ChatStorer, userRepo ChatUserFetcher, streamer ChatStreamer) warpnet.WarpHandlerFunc
- func StreamDeleteChatHandler(repo ChatStorer, authRepo ChatAuthStorer) warpnet.WarpHandlerFunc
- func StreamDeleteDeviceHandler(aliasesRepo DeviceStorer) warpnet.WarpHandlerFunc
- func StreamDeleteFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamDeleteFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamDeleteMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
- func StreamDeleteTweetHandler(broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, repo TweetsStorer, ...) warpnet.WarpHandlerFunc
- func StreamEditTweetHandler(repo TweetsStorer, timelineRepo TimelineUpdater) warpnet.WarpHandlerFunc
- func StreamFollowHandler(broadcaster FollowingBroadcaster, followRepo FollowingStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetBlocksHandler(repo BlocksStorer) warpnet.WarpHandlerFunc
- func StreamGetBookmarksHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
- func StreamGetChatImageHandler(streamer ChatMediaStreamer, mediaRepo ChatMediaStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetChatVideoHandler(streamer ChatMediaStreamer, mediaRepo ChatMediaStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetCopyBuyerHandler(auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamGetDevicesHandler(aliasesRepo DeviceStorer) warpnet.WarpHandlerFunc
- func StreamGetFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamGetFiltersHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamGetFollowRequestsHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
- func StreamGetFollowersHandler(authRepo FollowingAuthStorer, userRepo FollowingUserStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetFollowingsHandler(authRepo FollowingAuthStorer, userRepo FollowingUserStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetGatewaySettingsHandler(repo GatewaySettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetImageHandler(streamer MediaStreamer, mediaRepo MediaStorer, userRepo MediaUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetInfoHandler(i NodeInformer, discHandler discovery.DiscoveryHandler) warpnet.WarpHandlerFunc
- func StreamGetMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
- func StreamGetMessagesHandler(repo ChatStorer, _ OwnerChatsStorer) warpnet.WarpHandlerFunc
- func StreamGetMutesHandler(repo MutesStorer) warpnet.WarpHandlerFunc
- func StreamGetNotificationHandler(repo NotifierGetter, authRepo NotifierAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetNotificationSettingsHandler(repo SettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetNotificationsHandler(repo NotifierFetcher, authRepo NotifierAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetOrderQuoteHandler(auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamGetOwnRatingHandler(reader RatingReader) warpnet.WarpHandlerFunc
- func StreamGetOwnWalletAddressHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamGetPollHandler(repo PollVotesStorer, tweetRepo PollTweetFetcher, userRepo PollUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetPushesHandler(repo NotifierFetcher, authRepo NotifierAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetRateLimitSettingsHandler(repo RateLimitSettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetRatingHandler(reader RatingReader) warpnet.WarpHandlerFunc
- func StreamGetReactionsHandler(repo ReactedTweetsLister) warpnet.WarpHandlerFunc
- func StreamGetSponsoredImageHandler(streamer SponsoredMediaStreamer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamGetSponsoredSettingsHandler(repo SponsoredSettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetSponsoredTweetHandler(auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamGetSponsoredVideoHandler(streamer SponsoredMediaStreamer, mediaRepo SponsoredMediaFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetStatsHandler(i MetricsNodeInformer, db MetricsProvider) warpnet.WarpHandlerFunc
- func StreamGetTweetHandler(repo TweetsStorer, authRepo OwnerTweetStorer, userRepo TweetUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetTweetReactorsHandler(repo ReactorsLister, userRepo EngagementUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetTweetRetweetersHandler(repo RetweetersLister, userRepo EngagementUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetTweetStatsHandler(tweetRepo TweetsStorer, authRepo OwnerTweetStorer, ...) warpnet.WarpHandlerFunc
- func StreamGetTweetsHandler(repo TweetsStorer, userRepo TweetUserFetcher, streamer TweetStreamer, ...) warpnet.WarpHandlerFunc
- func StreamGetUserChatHandler(repo ChatStorer, authRepo ChatAuthStorer) warpnet.WarpHandlerFunc
- func StreamGetUserChatsHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
- func StreamGetUserHandler(tweetRepo UserTweetsCounter, followRepo UserFollowsCounter, repo UserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamGetUserStatusHandler(repo UserFetcher, authRepo UserAuthStorer, streamer UserStreamer) warpnet.WarpHandlerFunc
- func StreamGetUsersHandler(userRepo UserFetcher, streamer UserStreamer) warpnet.WarpHandlerFunc
- func StreamGetVideoHandler(streamer VideoStreamer, mediaRepo VideoStorer, userRepo VideoUserFetcher) warpnet.WarpHandlerFunc
- func StreamGetWalletAddressHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend, ...) warpnet.WarpHandlerFunc
- func StreamGetWalletContactsHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend, ...) warpnet.WarpHandlerFunc
- func StreamGetWalletHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamGetWalletHistoryHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamGetWalletKeyHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamGetWhoToFollowHandler(authRepo WhoToFollowAuthStorer, userRepo WhoToFollowUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamImportTweetHandler(info ImportNodeInformer, privKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamIsFollowerHandler(followRepo FollowingStorer, authRepo FollowingAuthStorer) warpnet.WarpHandlerFunc
- func StreamIsFollowingHandler(followRepo FollowingStorer, authRepo FollowingAuthStorer) warpnet.WarpHandlerFunc
- func StreamMarkAllNotificationsReadHandler(repo NotifierAllMarker, authRepo NotifierAuthStorer) warpnet.WarpHandlerFunc
- func StreamMarkNotificationReadHandler(repo NotifierMarker, authRepo NotifierAuthStorer) warpnet.WarpHandlerFunc
- func StreamModerationResultHandler(notifier ModerationNotifier, tweetRepo ModerationTweetUpdater, ...) warpnet.WarpHandlerFunc
- func StreamMuteHandler(repo MutesStorer) warpnet.WarpHandlerFunc
- func StreamNewFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamNewMessageHandler(repo ChatStorer, userRepo ChatUserFetcher, notifyRepo ChatNotifier, ...) warpnet.WarpHandlerFunc
- func StreamNewOrderHandler(auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamNewReTweetHandler(userRepo RetweetedUserFetcher, tweetRepo ReTweetsStorer, ...) warpnet.WarpHandlerFunc
- func StreamNewReplyHandler(tweetRepo TweetsStorer, userRepo TweetUserFetcher, notifyRepo TweetNotifier, ...) warpnet.WarpHandlerFunc
- func StreamNewSponsoredTweetHandler(broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, ...) warpnet.WarpHandlerFunc
- func StreamNewTweetHandler(broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, ...) warpnet.WarpHandlerFunc
- func StreamNodesPairingHandler(authRepo PairAuthStorer, aliasesRepo AliasStorer, n NodeAddresser) warpnet.WarpHandlerFunc
- func StreamPinTweetHandler(repo TweetsStorer, userRepo TweetUserFetcher) warpnet.WarpHandlerFunc
- func StreamPollVoteHandler(repo PollVotesStorer, tweetRepo PollTweetFetcher, userRepo PollUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamReactionHandler(repo ReactionsStorer, userRepo ReactedUserFetcher, notifyRepo ReactionNotifier, ...) warpnet.WarpHandlerFunc
- func StreamRejectFollowRequestHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
- func StreamReportHandler(publisher ReportPublisher, authRepo ReportOwnerStorer) warpnet.WarpHandlerFunc
- func StreamSearchUsersHandler(userRepo UserFetcher) warpnet.WarpHandlerFunc
- func StreamSubscribeUserHandler(repo SubscriptionStorer) warpnet.WarpHandlerFunc
- func StreamTimelineDeleteTweetHandler(authRepo TimelineAuthStorer, tweetRepo TimelineTweetStorer, ...) warpnet.WarpHandlerFunc
- func StreamTimelineHandler(repo TimelineFetcher) warpnet.WarpHandlerFunc
- func StreamTimelineNewTweetHandler(authRepo TimelineAuthStorer, tweetRepo TimelineTweetStorer, ...) warpnet.WarpHandlerFunc
- func StreamUnblockHandler(repo BlocksStorer, userRepo BlockUserFetcher, nodeRepo PeerBlocklister) warpnet.WarpHandlerFunc
- func StreamUnbookmarkHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
- func StreamUnfollowHandler(broadcaster FollowingBroadcaster, followRepo FollowingStorer, ...) warpnet.WarpHandlerFunc
- func StreamUnmuteHandler(repo MutesStorer) warpnet.WarpHandlerFunc
- func StreamUnpinTweetHandler(repo TweetsStorer, userRepo TweetUserFetcher) warpnet.WarpHandlerFunc
- func StreamUnreactionHandler(repo ReactionsStorer, userRepo ReactedUserFetcher, streamer ReactionStreamer) warpnet.WarpHandlerFunc
- func StreamUnretweetHandler(tweetRepo ReTweetsStorer, userRepo RetweetedUserFetcher, ...) warpnet.WarpHandlerFunc
- func StreamUnsubscribeUserHandler(repo SubscriptionStorer) warpnet.WarpHandlerFunc
- func StreamUpdateFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamUpdateFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
- func StreamUpdateGatewaySettingsHandler(repo GatewaySettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamUpdateNotificationSettingsHandler(repo SettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamUpdateProfileHandler(authRepo UserAuthStorer, userRepo UserFetcher) warpnet.WarpHandlerFunc
- func StreamUpdateRateLimitSettingsHandler(repo RateLimitSettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamUpdateSponsoredSettingsHandler(repo SponsoredSettingsStorer, authRepo SettingsAuthStorer) warpnet.WarpHandlerFunc
- func StreamUploadImageHandler(info MediaNodeInformer, privKey ed25519.PrivateKey, mediaRepo MediaStorer, ...) warpnet.WarpHandlerFunc
- func StreamUploadVideoHandler(info VideoNodeInformer, privKey ed25519.PrivateKey, mediaRepo VideoStorer, ...) warpnet.WarpHandlerFunc
- func StreamVerifyOrderHandler(auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, ...) warpnet.WarpHandlerFunc
- func StreamViewHandler(repo ViewsStorer, userRepo ViewUserFetcher, streamer ViewStreamer) warpnet.WarpHandlerFunc
- func StreamWalletSendHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamWalletStakeHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamWalletUnstakeHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- func StreamWalletWithdrawHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
- type AliasStorer
- type BlockUserFetcher
- type BlocksStorer
- type BookmarkStorer
- type CRDTReactionsCounter
- type CRDTRepliesCounter
- type CRDTRetweetsCounter
- type ChatAuthStorer
- type ChatMediaChatFetcher
- type ChatMediaStorer
- type ChatMediaStreamer
- type ChatMediaUserFetcher
- type ChatNotifier
- type ChatStorer
- type ChatStreamer
- type ChatUserFetcher
- type DeviceStorer
- type EngagementStreamer
- type EngagementUserFetcher
- type FilterStorer
- type FollowNodeStreamer
- type FollowNotifier
- type FollowingAuthStorer
- type FollowingBroadcaster
- type FollowingStorer
- type FollowingUserStorer
- type GatewaySettingsStorer
- type ImageHashLister
- type ImportMediaStorer
- type ImportNodeInformer
- type ImportTweetStorer
- type ImportUserFetcher
- type MediaNodeInformer
- type MediaStorer
- type MediaStreamer
- type MediaUserFetcher
- type MetricsNodeInformer
- type MetricsProvider
- type ModerationAuthStorer
- type ModerationNotifier
- type ModerationTimelelineDeleter
- type ModerationTweetUpdater
- type ModerationUserUpdater
- type MutesStorer
- type NodeAddresser
- type NodeInformer
- type NotifierAllMarker
- type NotifierAuthStorer
- type NotifierFetcher
- type NotifierGetter
- type NotifierMarker
- type OrderCounter
- type OrderSettingsFetcher
- type OrderStorer
- type OwnerChatsStorer
- type OwnerReTweetStorer
- type OwnerTweetStorer
- type PairAuthStorer
- type PeerBlocklister
- type PollStreamer
- type PollTweetFetcher
- type PollUserFetcher
- type PollVotesStorer
- type RateLimitSettingsStorer
- type RatingReader
- type ReTweetsStorer
- type ReactedTweetsLister
- type ReactedUserFetcher
- type ReactionNotifier
- type ReactionStreamer
- type ReactionTweetStorer
- type ReactionTweetsStorer
- type ReactionsStorer
- type ReactorsLister
- type RepliesTweetCounter
- type ReportOwnerStorer
- type ReportPublisher
- type RetweetNotifier
- type RetweetStreamer
- type RetweetTimelineUpdater
- type RetweetedUserFetcher
- type RetweetersLister
- type RetweetsTweetStorer
- type SettingsAuthStorer
- type SettingsStorer
- type SponsoredAuthStorer
- type SponsoredCopyLister
- type SponsoredCopyStorer
- type SponsoredMediaCopyStorer
- type SponsoredMediaFetcher
- type SponsoredMediaStorer
- type SponsoredMediaStreamer
- type SponsoredMediaUserFetcher
- type SponsoredNotifier
- type SponsoredSettingsStorer
- type SponsoredStreamer
- type SponsoredTweetFetcher
- type SponsoredUserFetcher
- type SponsoredWallet
- type SubscriptionStorer
- type TimelineAuthStorer
- type TimelineFetcher
- type TimelineFollowChecker
- type TimelineImageHashStorer
- type TimelinePeersRatings
- type TimelineStorer
- type TimelineTweetStorer
- type TimelineUpdater
- type TimelineUserFetcher
- type TweetBroadcaster
- type TweetFollowChecker
- type TweetImageFetcher
- type TweetImageHashStorer
- type TweetMediaDeleter
- type TweetNotifier
- type TweetPeersRatings
- type TweetStreamer
- type TweetUserFetcher
- type TweetsStorer
- type UserAuthStorer
- type UserFetcher
- type UserFollowsCounter
- type UserStreamer
- type UserTweetsCounter
- type VideoNodeInformer
- type VideoStorer
- type VideoStreamer
- type VideoUserFetcher
- type ViewStreamer
- type ViewUserFetcher
- type ViewsStorer
- type WalletAddressStorer
- type WalletBackend
- type WalletFollowLister
- type WalletOrderStorer
- type WalletOwnerStorer
- type WalletPeerFetcher
- type WalletSettingsFetcher
- type WalletStreamer
- type WalletUserFetcher
- type WhoToFollowAuthStorer
- type WhoToFollowFollowsLister
- type WhoToFollowUserFetcher
Constants ¶
const ( ErrEmptyChatImageKey warpnet.WarpError = "empty image key" ErrEmptyChatVideoKey warpnet.WarpError = "empty video key" )
const ( ErrEmptyImageKey warpnet.WarpError = "empty image key" ErrNoImagesProvided warpnet.WarpError = "at least one image must be provided" ErrSponsoredImage warpnet.WarpError = "the photo belongs to another author's sponsored tweet" )
const ( ErrNoObjectID warpnet.WarpError = "no object id found" ErrNoUserID warpnet.WarpError = "no user id found" ErrNoModeratorID warpnet.WarpError = "moderation result without valid moderator id" ErrBadModeratorSignature warpnet.WarpError = "moderation result signature invalid" )
const ( ErrEmptySponsoredImageKey warpnet.WarpError = "empty image key" ErrEmptySponsoredVideoKey warpnet.WarpError = "empty video key" )
const ( ErrPaymentUnknown warpnet.WarpError = "" /* 140-byte string literal not displayed */ ErrPaymentPending warpnet.WarpError = "order: the payment is on chain and its transaction is being looked up; try again in a minute" ErrPriceUnagreed warpnet.WarpError = "order: no price was agreed for this tweet; open it again to see what it costs" ErrPayerTaken warpnet.WarpError = "order: this wallet already paid for another buyer of this author" ErrPayerAddress warpnet.WarpError = "order: the paying wallet is not a TRON address in base58" )
const ( ErrNotAReply = warpnet.WarpError("reply: tweet has no parent") ErrForeignThread = warpnet.WarpError("reply: parent tweet does not live on this node") ErrForeignReply = warpnet.WarpError("reply: not the owner's reply or thread") )
const ( ErrTooLargeVideo warpnet.WarpError = "video is too large: 36 MiB is the maximum" ErrEmptyVideoKey warpnet.WarpError = "empty video key" ErrNoVideoProvided warpnet.WarpError = "a video must be provided" ErrUnsupportedVideo warpnet.WarpError = "unsupported video format: only MP4 and MOV (QuickTime) files are accepted" )
const ( ErrOrderLimit warpnet.WarpError = "order: one buyer gets at most 10 of an author's tweets an hour" ErrWalletPayerTaken warpnet.WarpError = "order: this wallet already paid for another buyer of this author" ErrWalletPayerAddress warpnet.WarpError = "order: the paying wallet is not a TRON address in base58" )
const MaxReportReasonLen = 256
Variables ¶
var ( ErrReportNoTargetUser = errors.New("report: empty target_user_id") ErrReportNoTargetNode = errors.New("report: empty target_node_id") ErrReportNoReason = errors.New("report: empty reason") ErrReportReasonLong = errors.New("report: reason too long") ErrReportNoObjectID = errors.New("report: empty object_id for tweet") ErrReportBadType = errors.New("report: unsupported moderation object type") )
Functions ¶
func StreamAddFilterKeywordHandler ¶ added in v0.7.26
func StreamAddFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamAuthorizeFollowRequestHandler ¶ added in v0.7.26
func StreamAuthorizeFollowRequestHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
func StreamBlockHandler ¶ added in v0.7.26
func StreamBlockHandler(repo BlocksStorer, userRepo BlockUserFetcher, nodeRepo PeerBlocklister) warpnet.WarpHandlerFunc
func StreamBookmarkHandler ¶ added in v0.7.26
func StreamBookmarkHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
func StreamCreateChatHandler ¶
func StreamCreateChatHandler( repo ChatStorer, userRepo ChatUserFetcher, streamer ChatStreamer, ) warpnet.WarpHandlerFunc
Handler for creating a new chat
func StreamDeleteChatHandler ¶
func StreamDeleteChatHandler(repo ChatStorer, authRepo ChatAuthStorer) warpnet.WarpHandlerFunc
func StreamDeleteDeviceHandler ¶ added in v0.8.77
func StreamDeleteDeviceHandler(aliasesRepo DeviceStorer) warpnet.WarpHandlerFunc
StreamDeleteDeviceHandler unpairs a device. The device keeps its copy of the pairing payload, but its peer id no longer authorizes anything on this node.
func StreamDeleteFilterHandler ¶ added in v0.7.26
func StreamDeleteFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamDeleteFilterKeywordHandler ¶ added in v0.7.26
func StreamDeleteFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamDeleteMessageHandler ¶
func StreamDeleteMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
Handler for deleting a message
func StreamDeleteTweetHandler ¶
func StreamDeleteTweetHandler( broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, repo TweetsStorer, timelineRepo TimelineUpdater, reactionRepo ReactionTweetStorer, mediaRepo TweetMediaDeleter, streamer TweetStreamer, ) warpnet.WarpHandlerFunc
func StreamEditTweetHandler ¶ added in v0.7.26
func StreamEditTweetHandler(repo TweetsStorer, timelineRepo TimelineUpdater) warpnet.WarpHandlerFunc
func StreamFollowHandler ¶
func StreamFollowHandler( broadcaster FollowingBroadcaster, followRepo FollowingStorer, authRepo FollowingAuthStorer, userRepo FollowingUserStorer, notifyRepo FollowNotifier, streamer FollowNodeStreamer, ) warpnet.WarpHandlerFunc
func StreamGetBlocksHandler ¶ added in v0.7.26
func StreamGetBlocksHandler(repo BlocksStorer) warpnet.WarpHandlerFunc
func StreamGetBookmarksHandler ¶ added in v0.7.26
func StreamGetBookmarksHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
func StreamGetChatImageHandler ¶ added in v0.8.77
func StreamGetChatImageHandler( streamer ChatMediaStreamer, mediaRepo ChatMediaStorer, chatRepo ChatMediaChatFetcher, userRepo ChatMediaUserFetcher, ) warpnet.WarpHandlerFunc
func StreamGetChatVideoHandler ¶ added in v0.8.77
func StreamGetChatVideoHandler( streamer ChatMediaStreamer, mediaRepo ChatMediaStorer, chatRepo ChatMediaChatFetcher, userRepo ChatMediaUserFetcher, ) warpnet.WarpHandlerFunc
func StreamGetCopyBuyerHandler ¶ added in v0.8.77
func StreamGetCopyBuyerHandler( auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, tweetRepo SponsoredTweetFetcher, orders OrderStorer, mediaRepo SponsoredMediaStorer, copyRepo SponsoredCopyLister, ) warpnet.WarpHandlerFunc
func StreamGetDevicesHandler ¶ added in v0.8.77
func StreamGetDevicesHandler(aliasesRepo DeviceStorer) warpnet.WarpHandlerFunc
StreamGetDevicesHandler answers with the devices paired to this node.
func StreamGetFilterHandler ¶ added in v0.7.26
func StreamGetFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamGetFiltersHandler ¶ added in v0.7.26
func StreamGetFiltersHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamGetFollowRequestsHandler ¶ added in v0.7.26
func StreamGetFollowRequestsHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
func StreamGetFollowersHandler ¶
func StreamGetFollowersHandler( authRepo FollowingAuthStorer, userRepo FollowingUserStorer, followRepo FollowingStorer, streamer FollowNodeStreamer, ) warpnet.WarpHandlerFunc
func StreamGetFollowingsHandler ¶ added in v0.5.83
func StreamGetFollowingsHandler( authRepo FollowingAuthStorer, userRepo FollowingUserStorer, followRepo FollowingStorer, streamer FollowNodeStreamer, ) warpnet.WarpHandlerFunc
func StreamGetGatewaySettingsHandler ¶ added in v0.8.77
func StreamGetGatewaySettingsHandler( repo GatewaySettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetImageHandler ¶
func StreamGetImageHandler( streamer MediaStreamer, mediaRepo MediaStorer, userRepo MediaUserFetcher, copyRepo ImageHashLister, ) warpnet.WarpHandlerFunc
func StreamGetInfoHandler ¶
func StreamGetInfoHandler( i NodeInformer, discHandler discovery.DiscoveryHandler, ) warpnet.WarpHandlerFunc
func StreamGetMessageHandler ¶
func StreamGetMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
StreamGetMessageHandler for retrieving a specific message
func StreamGetMessagesHandler ¶
func StreamGetMessagesHandler(repo ChatStorer, _ OwnerChatsStorer) warpnet.WarpHandlerFunc
Handler for getting messages in a chat
func StreamGetMutesHandler ¶ added in v0.7.26
func StreamGetMutesHandler(repo MutesStorer) warpnet.WarpHandlerFunc
func StreamGetNotificationHandler ¶ added in v0.7.26
func StreamGetNotificationHandler( repo NotifierGetter, authRepo NotifierAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetNotificationSettingsHandler ¶ added in v0.7.483
func StreamGetNotificationSettingsHandler( repo SettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetNotificationsHandler ¶ added in v0.5.30
func StreamGetNotificationsHandler( repo NotifierFetcher, authRepo NotifierAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetOrderQuoteHandler ¶ added in v0.8.77
func StreamGetOrderQuoteHandler( auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, backend SponsoredWallet, userRepo SponsoredUserFetcher, streamer SponsoredStreamer, ) warpnet.WarpHandlerFunc
func StreamGetOwnRatingHandler ¶ added in v0.8.77
func StreamGetOwnRatingHandler(reader RatingReader) warpnet.WarpHandlerFunc
StreamGetOwnRatingHandler answers with what the network says about this node. A node holds no opinion of itself, so all of it was written by others.
func StreamGetOwnWalletAddressHandler ¶ added in v0.8.77
func StreamGetOwnWalletAddressHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamGetPollHandler ¶ added in v0.8.77
func StreamGetPollHandler( repo PollVotesStorer, tweetRepo PollTweetFetcher, userRepo PollUserFetcher, streamer PollStreamer, ) warpnet.WarpHandlerFunc
StreamGetPollHandler serves the vote tallies for a tweet's poll. Reads are forwarded to the author's node — it sees every vote — while "did I vote" is answered from this node, which is where the local user's own vote is recorded even when the author is offline.
func StreamGetPushesHandler ¶ added in v0.7.362
func StreamGetPushesHandler( repo NotifierFetcher, authRepo NotifierAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetRateLimitSettingsHandler ¶ added in v0.8.77
func StreamGetRateLimitSettingsHandler( repo RateLimitSettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetRatingHandler ¶ added in v0.8.77
func StreamGetRatingHandler(reader RatingReader) warpnet.WarpHandlerFunc
StreamGetRatingHandler answers with this node's public view of a peer: the unweighted median of what its observers concluded, which is not the view this node enforces on.
func StreamGetReactionsHandler ¶ added in v0.8.77
func StreamGetReactionsHandler(repo ReactedTweetsLister) warpnet.WarpHandlerFunc
StreamGetReactionsHandler returns one page of the local user's "tweets I reacted to" index, newest first. Same reference-only wire shape as bookmarks: clients hydrate each tweet via PUBLIC_GET_TWEET using OwnerUserId.
func StreamGetSponsoredImageHandler ¶ added in v0.8.77
func StreamGetSponsoredImageHandler( streamer SponsoredMediaStreamer, identityKey ed25519.PrivateKey, mediaRepo SponsoredMediaFetcher, copyRepo SponsoredMediaCopyStorer, userRepo SponsoredMediaUserFetcher, ) warpnet.WarpHandlerFunc
func StreamGetSponsoredSettingsHandler ¶ added in v0.8.83
func StreamGetSponsoredSettingsHandler( repo SponsoredSettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamGetSponsoredTweetHandler ¶ added in v0.8.77
func StreamGetSponsoredTweetHandler( auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, tweetRepo SponsoredTweetFetcher, orders OrderStorer, mediaRepo SponsoredMediaStorer, copyRepo SponsoredCopyStorer, userRepo SponsoredUserFetcher, streamer SponsoredStreamer, ) warpnet.WarpHandlerFunc
func StreamGetSponsoredVideoHandler ¶ added in v0.8.77
func StreamGetSponsoredVideoHandler( streamer SponsoredMediaStreamer, mediaRepo SponsoredMediaFetcher, copyRepo SponsoredMediaCopyStorer, userRepo SponsoredMediaUserFetcher, ) warpnet.WarpHandlerFunc
func StreamGetStatsHandler ¶
func StreamGetStatsHandler( i MetricsNodeInformer, db MetricsProvider, ) warpnet.WarpHandlerFunc
func StreamGetTweetHandler ¶
func StreamGetTweetHandler( repo TweetsStorer, authRepo OwnerTweetStorer, userRepo TweetUserFetcher, streamer TweetStreamer, ) warpnet.WarpHandlerFunc
func StreamGetTweetReactorsHandler ¶ added in v0.8.77
func StreamGetTweetReactorsHandler( repo ReactorsLister, userRepo EngagementUserFetcher, streamer EngagementStreamer, ) warpnet.WarpHandlerFunc
func StreamGetTweetRetweetersHandler ¶ added in v0.7.26
func StreamGetTweetRetweetersHandler( repo RetweetersLister, userRepo EngagementUserFetcher, streamer EngagementStreamer, ) warpnet.WarpHandlerFunc
func StreamGetTweetStatsHandler ¶
func StreamGetTweetStatsHandler( tweetRepo TweetsStorer, authRepo OwnerTweetStorer, reactionRepo ReactionTweetStorer, retweetRepo RetweetsTweetStorer, replyRepo RepliesTweetCounter, userRepo TweetUserFetcher, streamer TweetStreamer, ) warpnet.WarpHandlerFunc
func StreamGetTweetsHandler ¶
func StreamGetTweetsHandler( repo TweetsStorer, userRepo TweetUserFetcher, streamer TweetStreamer, copyRepo TweetImageHashStorer, ) warpnet.WarpHandlerFunc
func StreamGetUserChatHandler ¶
func StreamGetUserChatHandler(repo ChatStorer, authRepo ChatAuthStorer) warpnet.WarpHandlerFunc
func StreamGetUserChatsHandler ¶
func StreamGetUserChatsHandler(repo ChatStorer, authRepo OwnerChatsStorer) warpnet.WarpHandlerFunc
func StreamGetUserHandler ¶
func StreamGetUserHandler( tweetRepo UserTweetsCounter, followRepo UserFollowsCounter, repo UserFetcher, authRepo UserAuthStorer, streamer UserStreamer, ) warpnet.WarpHandlerFunc
func StreamGetUserStatusHandler ¶ added in v0.8.77
func StreamGetUserStatusHandler( repo UserFetcher, authRepo UserAuthStorer, streamer UserStreamer, ) warpnet.WarpHandlerFunc
func StreamGetUsersHandler ¶
func StreamGetUsersHandler( userRepo UserFetcher, streamer UserStreamer, ) warpnet.WarpHandlerFunc
func StreamGetVideoHandler ¶ added in v0.8.77
func StreamGetVideoHandler( streamer VideoStreamer, mediaRepo VideoStorer, userRepo VideoUserFetcher, ) warpnet.WarpHandlerFunc
func StreamGetWalletAddressHandler ¶ added in v0.8.77
func StreamGetWalletAddressHandler( auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend, orders WalletOrderStorer, users WalletPeerFetcher, settings WalletSettingsFetcher, ) warpnet.WarpHandlerFunc
func StreamGetWalletContactsHandler ¶ added in v0.8.77
func StreamGetWalletContactsHandler( auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend, wallets WalletAddressStorer, follows WalletFollowLister, users WalletUserFetcher, streamer WalletStreamer, ) warpnet.WarpHandlerFunc
func StreamGetWalletHandler ¶ added in v0.8.77
func StreamGetWalletHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamGetWalletHistoryHandler ¶ added in v0.8.77
func StreamGetWalletHistoryHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamGetWalletKeyHandler ¶ added in v0.8.77
func StreamGetWalletKeyHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamGetWhoToFollowHandler ¶ added in v0.3.75
func StreamGetWhoToFollowHandler( authRepo WhoToFollowAuthStorer, userRepo WhoToFollowUserFetcher, followRepo WhoToFollowFollowsLister, ) warpnet.WarpHandlerFunc
func StreamImportTweetHandler ¶ added in v0.7.206
func StreamImportTweetHandler( info ImportNodeInformer, privKey ed25519.PrivateKey, tweetRepo ImportTweetStorer, mediaRepo ImportMediaStorer, userRepo ImportUserFetcher, ) warpnet.WarpHandlerFunc
func StreamIsFollowerHandler ¶ added in v0.5.83
func StreamIsFollowerHandler( followRepo FollowingStorer, authRepo FollowingAuthStorer, ) warpnet.WarpHandlerFunc
func StreamIsFollowingHandler ¶ added in v0.5.83
func StreamIsFollowingHandler( followRepo FollowingStorer, authRepo FollowingAuthStorer, ) warpnet.WarpHandlerFunc
func StreamMarkAllNotificationsReadHandler ¶ added in v0.7.422
func StreamMarkAllNotificationsReadHandler( repo NotifierAllMarker, authRepo NotifierAuthStorer, ) warpnet.WarpHandlerFunc
func StreamMarkNotificationReadHandler ¶ added in v0.7.26
func StreamMarkNotificationReadHandler( repo NotifierMarker, authRepo NotifierAuthStorer, ) warpnet.WarpHandlerFunc
func StreamModerationResultHandler ¶ added in v0.3.129
func StreamModerationResultHandler( notifier ModerationNotifier, tweetRepo ModerationTweetUpdater, userRepo ModerationUserUpdater, timelineRepo ModerationTimelelineDeleter, authRepo ModerationAuthStorer, events warpnet.PeerEmitter, ) warpnet.WarpHandlerFunc
StreamModerationResultHandler receives a verdict from a moderator and applies it locally so this node's view of the offending object is downgraded. Two design notes:
Isolation is shadow-style: the offender's own node never receives this stream (the moderator only publishes the verdict to the followers/observers pubsub topic, see IsolationProtocol). The previous "notify the owner" branch was deleted because that defeats the whole point — the offender would see a moderation notification.
ModerationUserType marks the user-level moderation flag so clients hide bio/displayName/url/website on the next render. The user row stays on disk, only the Moderation sidecar is set.
func StreamMuteHandler ¶ added in v0.7.26
func StreamMuteHandler(repo MutesStorer) warpnet.WarpHandlerFunc
func StreamNewFilterHandler ¶ added in v0.7.26
func StreamNewFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamNewMessageHandler ¶ added in v0.5.87
func StreamNewMessageHandler(repo ChatStorer, userRepo ChatUserFetcher, notifyRepo ChatNotifier, streamer ChatStreamer) warpnet.WarpHandlerFunc
StreamNewMessageHandler is for sending a new message
func StreamNewOrderHandler ¶ added in v0.8.77
func StreamNewOrderHandler( auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, backend SponsoredWallet, orders OrderStorer, userRepo SponsoredUserFetcher, streamer SponsoredStreamer, ) warpnet.WarpHandlerFunc
func StreamNewReTweetHandler ¶
func StreamNewReTweetHandler( userRepo RetweetedUserFetcher, tweetRepo ReTweetsStorer, timelineRepo RetweetTimelineUpdater, notifyRepo RetweetNotifier, streamer RetweetStreamer, ) warpnet.WarpHandlerFunc
func StreamNewReplyHandler ¶
func StreamNewReplyHandler( tweetRepo TweetsStorer, userRepo TweetUserFetcher, notifyRepo TweetNotifier, streamer TweetStreamer, ratings TweetPeersRatings, ) warpnet.WarpHandlerFunc
func StreamNewSponsoredTweetHandler ¶ added in v0.8.77
func StreamNewSponsoredTweetHandler( broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, tweetRepo TweetsStorer, timelineRepo TimelineUpdater, mediaRepo TweetImageFetcher, copyRepo TweetImageHashStorer, ) warpnet.WarpHandlerFunc
func StreamNewTweetHandler ¶
func StreamNewTweetHandler( broadcaster TweetBroadcaster, authRepo OwnerTweetStorer, tweetRepo TweetsStorer, timelineRepo TimelineUpdater, followRepo TweetFollowChecker, userRepo TweetUserFetcher, notifyRepo TweetNotifier, streamer TweetStreamer, ) warpnet.WarpHandlerFunc
func StreamNodesPairingHandler ¶
func StreamNodesPairingHandler(authRepo PairAuthStorer, aliasesRepo AliasStorer, n NodeAddresser) warpnet.WarpHandlerFunc
func StreamPinTweetHandler ¶ added in v0.7.26
func StreamPinTweetHandler(repo TweetsStorer, userRepo TweetUserFetcher) warpnet.WarpHandlerFunc
func StreamPollVoteHandler ¶ added in v0.8.77
func StreamPollVoteHandler( repo PollVotesStorer, tweetRepo PollTweetFetcher, userRepo PollUserFetcher, streamer PollStreamer, ) warpnet.WarpHandlerFunc
func StreamReactionHandler ¶ added in v0.8.77
func StreamReactionHandler( repo ReactionsStorer, userRepo ReactedUserFetcher, notifyRepo ReactionNotifier, streamer ReactionStreamer, ) warpnet.WarpHandlerFunc
func StreamRejectFollowRequestHandler ¶ added in v0.7.26
func StreamRejectFollowRequestHandler(repo FollowingStorer) warpnet.WarpHandlerFunc
func StreamReportHandler ¶ added in v0.7.59
func StreamReportHandler(publisher ReportPublisher, authRepo ReportOwnerStorer) warpnet.WarpHandlerFunc
func StreamSearchUsersHandler ¶ added in v0.7.26
func StreamSearchUsersHandler(userRepo UserFetcher) warpnet.WarpHandlerFunc
func StreamSubscribeUserHandler ¶ added in v0.7.26
func StreamSubscribeUserHandler(repo SubscriptionStorer) warpnet.WarpHandlerFunc
func StreamTimelineDeleteTweetHandler ¶ added in v0.8.77
func StreamTimelineDeleteTweetHandler( authRepo TimelineAuthStorer, tweetRepo TimelineTweetStorer, timelineRepo TimelineStorer, userRepo TimelineUserFetcher, ) warpnet.WarpHandlerFunc
func StreamTimelineHandler ¶
func StreamTimelineHandler(repo TimelineFetcher) warpnet.WarpHandlerFunc
func StreamTimelineNewTweetHandler ¶ added in v0.8.77
func StreamTimelineNewTweetHandler( authRepo TimelineAuthStorer, tweetRepo TimelineTweetStorer, timelineRepo TimelineStorer, followRepo TimelineFollowChecker, userRepo TimelineUserFetcher, ratings TimelinePeersRatings, copyRepo TimelineImageHashStorer, ) warpnet.WarpHandlerFunc
func StreamUnblockHandler ¶ added in v0.7.26
func StreamUnblockHandler(repo BlocksStorer, userRepo BlockUserFetcher, nodeRepo PeerBlocklister) warpnet.WarpHandlerFunc
func StreamUnbookmarkHandler ¶ added in v0.7.26
func StreamUnbookmarkHandler(repo BookmarkStorer) warpnet.WarpHandlerFunc
func StreamUnfollowHandler ¶
func StreamUnfollowHandler( broadcaster FollowingBroadcaster, followRepo FollowingStorer, authRepo FollowingAuthStorer, userRepo FollowingUserStorer, streamer FollowNodeStreamer, ) warpnet.WarpHandlerFunc
func StreamUnmuteHandler ¶ added in v0.7.26
func StreamUnmuteHandler(repo MutesStorer) warpnet.WarpHandlerFunc
func StreamUnpinTweetHandler ¶ added in v0.7.26
func StreamUnpinTweetHandler(repo TweetsStorer, userRepo TweetUserFetcher) warpnet.WarpHandlerFunc
func StreamUnreactionHandler ¶ added in v0.8.77
func StreamUnreactionHandler(repo ReactionsStorer, userRepo ReactedUserFetcher, streamer ReactionStreamer) warpnet.WarpHandlerFunc
func StreamUnretweetHandler ¶
func StreamUnretweetHandler( tweetRepo ReTweetsStorer, userRepo RetweetedUserFetcher, timelineRepo RetweetTimelineUpdater, streamer RetweetStreamer, ) warpnet.WarpHandlerFunc
func StreamUnsubscribeUserHandler ¶ added in v0.7.26
func StreamUnsubscribeUserHandler(repo SubscriptionStorer) warpnet.WarpHandlerFunc
func StreamUpdateFilterHandler ¶ added in v0.7.26
func StreamUpdateFilterHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamUpdateFilterKeywordHandler ¶ added in v0.7.26
func StreamUpdateFilterKeywordHandler(repo FilterStorer) warpnet.WarpHandlerFunc
func StreamUpdateGatewaySettingsHandler ¶ added in v0.8.77
func StreamUpdateGatewaySettingsHandler( repo GatewaySettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamUpdateNotificationSettingsHandler ¶ added in v0.7.483
func StreamUpdateNotificationSettingsHandler( repo SettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamUpdateProfileHandler ¶
func StreamUpdateProfileHandler(authRepo UserAuthStorer, userRepo UserFetcher) warpnet.WarpHandlerFunc
func StreamUpdateRateLimitSettingsHandler ¶ added in v0.8.77
func StreamUpdateRateLimitSettingsHandler( repo RateLimitSettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamUpdateSponsoredSettingsHandler ¶ added in v0.8.83
func StreamUpdateSponsoredSettingsHandler( repo SponsoredSettingsStorer, authRepo SettingsAuthStorer, ) warpnet.WarpHandlerFunc
func StreamUploadImageHandler ¶
func StreamUploadImageHandler( info MediaNodeInformer, privKey ed25519.PrivateKey, mediaRepo MediaStorer, userRepo MediaUserFetcher, copyRepo ImageHashLister, ) warpnet.WarpHandlerFunc
func StreamUploadVideoHandler ¶ added in v0.8.77
func StreamUploadVideoHandler( info VideoNodeInformer, privKey ed25519.PrivateKey, mediaRepo VideoStorer, userRepo VideoUserFetcher, ) warpnet.WarpHandlerFunc
func StreamVerifyOrderHandler ¶ added in v0.8.77
func StreamVerifyOrderHandler( auth SponsoredAuthStorer, identityKey ed25519.PrivateKey, backend SponsoredWallet, tweetRepo SponsoredTweetFetcher, orders OrderStorer, userRepo SponsoredUserFetcher, notifier SponsoredNotifier, streamer SponsoredStreamer, settings OrderSettingsFetcher, ) warpnet.WarpHandlerFunc
func StreamViewHandler ¶ added in v0.6.316
func StreamViewHandler(repo ViewsStorer, userRepo ViewUserFetcher, streamer ViewStreamer) warpnet.WarpHandlerFunc
func StreamWalletSendHandler ¶ added in v0.8.77
func StreamWalletSendHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamWalletStakeHandler ¶ added in v0.8.83
func StreamWalletStakeHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamWalletUnstakeHandler ¶ added in v0.8.83
func StreamWalletUnstakeHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
func StreamWalletWithdrawHandler ¶ added in v0.8.83
func StreamWalletWithdrawHandler(auth WalletOwnerStorer, identityKey ed25519.PrivateKey, backend WalletBackend) warpnet.WarpHandlerFunc
Types ¶
type AliasStorer ¶ added in v0.8.77
type BlockUserFetcher ¶ added in v0.7.26
BlockUserFetcher looks up the blockee so the handler can escalate the social block into a network-layer peer blocklist.
type BlocksStorer ¶ added in v0.7.26
type BlocksStorer interface {
Block(blockerId, blockeeId string) error
Unblock(blockerId, blockeeId string) error
List(blockerId string, limit *uint64, cursor *string) ([]string, string, error)
}
BlocksStorer is the narrow surface block handlers need from BlocksRepo.
type BookmarkStorer ¶ added in v0.7.26
type CRDTReactionsCounter ¶ added in v0.8.77
CRDTReactionsCounter provides CRDT-based likes counting
type CRDTRepliesCounter ¶ added in v0.5.158
CRDTRepliesCounter provides CRDT-based replies counting
type CRDTRetweetsCounter ¶ added in v0.5.158
CRDTRetweetsCounter provides CRDT-based retweets counting
type ChatAuthStorer ¶
type ChatMediaChatFetcher ¶ added in v0.8.77
type ChatMediaStorer ¶ added in v0.8.77
type ChatMediaStorer interface {
GetImage(userId, key string) (domain.Base64Image, error)
SetForeignImageWithTTL(userId, key string, img domain.Base64Image) error
GetVideo(userId, key string) (domain.Base64Video, error)
SetForeignVideoWithTTL(userId, key string, video domain.Base64Video) error
}
type ChatMediaStreamer ¶ added in v0.8.77
type ChatMediaUserFetcher ¶ added in v0.8.77
type ChatNotifier ¶ added in v0.8.77
type ChatNotifier interface {
Add(not domain.Notification) error
}
type ChatStorer ¶
type ChatStorer interface {
CreateChat(chatId *string, ownerId, otherUserId string) (domain.Chat, error)
DeleteChat(chatId string) error
GetUserChats(userId string, limit *uint64, cursor *string) ([]domain.Chat, string, error)
CreateMessage(msg domain.ChatMessage) (domain.ChatMessage, error)
ListMessages(chatId string, limit *uint64, cursor *string) ([]domain.ChatMessage, string, error)
GetMessage(chatId, id string) (domain.ChatMessage, error)
DeleteMessage(chatId, id string) error
GetChat(chatId string) (chat domain.Chat, err error)
}
type ChatStreamer ¶
type ChatUserFetcher ¶
type DeviceStorer ¶ added in v0.6.263
type DeviceStorer interface {
GetAliases() (aliases []domain.Alias, err error)
DeleteAlias(nodeId string) error
}
DeviceStorer is the paired-device list as the Settings screen reads and edits it.
type EngagementStreamer ¶ added in v0.7.26
type EngagementStreamer interface {
GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
NodeInfo() warpnet.NodeInfo
}
EngagementStreamer forwards the lookup to the tweet author's node when the canonical engagement record lives elsewhere — mirrors the reaction.go propagation pattern.
type EngagementUserFetcher ¶ added in v0.8.77
type FilterStorer ¶ added in v0.7.26
type FilterStorer interface {
Create(userId string, f domain.Filter) (domain.Filter, error)
Get(userId, filterId string) (domain.Filter, error)
Update(userId string, f domain.Filter) (domain.Filter, error)
Delete(userId, filterId string) error
List(userId string, limit *uint64, cursor *string) ([]domain.Filter, string, error)
AddKeyword(userId, filterId string, kw domain.FilterKeyword) (domain.FilterKeyword, error)
UpdateKeyword(userId string, kw domain.FilterKeyword) (domain.FilterKeyword, error)
DeleteKeyword(userId, keywordId string) error
}
FilterStorer is the narrow surface filter handlers need.
type FollowNodeStreamer ¶
type FollowNotifier ¶ added in v0.8.77
type FollowNotifier interface {
Add(not domain.Notification) error
}
type FollowingAuthStorer ¶
type FollowingBroadcaster ¶
type FollowingStorer ¶
type FollowingStorer interface {
Follow(fromUserId, toUserId string) error
Unfollow(fromUserId, toUserId string) error
GetFollowers(userId string, limit *uint64, cursor *string) ([]string, string, error)
GetFollowings(userId string, limit *uint64, cursor *string) ([]string, string, error)
IsFollowing(ownerId, otherUserId string) bool
IsFollower(ownerId, otherUserId string) bool
AddFollowRequest(targetUserId, followerId string) error
RemoveFollowRequest(targetUserId, followerId string) error
ListFollowRequests(targetUserId string, limit *uint64, cursor *string) ([]string, string, error)
}
type FollowingUserStorer ¶
type GatewaySettingsStorer ¶ added in v0.8.77
type GatewaySettingsStorer interface {
GetGatewaySettings(userId string) (domain.GatewaySettings, error)
SetGatewaySettings(userId string, s domain.GatewaySettings) error
}
GatewaySettingsStorer is the narrow surface the gateway-settings handlers need.
type ImageHashLister ¶ added in v0.8.83
type ImageHashLister interface {
ListImageHashes() ([]domain.TweetImageHashes, error)
}
type ImportMediaStorer ¶ added in v0.8.77
type ImportMediaStorer interface {
GetImage(userId, key string) (domain.Base64Image, error)
SetImage(userId string, img domain.Base64Image) (_ domain.ImageKey, err error)
SetForeignImageWithTTL(userId, key string, img domain.Base64Image) error
}
type ImportNodeInformer ¶ added in v0.8.77
StreamImportTweetHandler stores one pre-parsed original tweet streamed from the client (remote browser dashboard or desktop member node). The client unzips and filters the X archive itself — dropping retweets, replies, GIFs and videos — and streams only the kept tweets one by one, so the node never buffers the whole archive. Photos arrive as raw base64 and go through the same EXIF/ownership pipeline as a fresh upload.
type ImportTweetStorer ¶ added in v0.7.194
type ImportUserFetcher ¶ added in v0.8.77
type MediaNodeInformer ¶
type MediaStorer ¶
type MediaStorer interface {
GetImage(userId, key string) (domain.Base64Image, error)
SetImage(userId string, img domain.Base64Image) (_ domain.ImageKey, err error)
SetForeignImageWithTTL(userId, key string, img domain.Base64Image) error
}
type MediaStreamer ¶
type MediaUserFetcher ¶
type MetricsNodeInformer ¶ added in v0.7.392
type MetricsNodeInformer interface {
NodeInfo() warpnet.NodeInfo
Peerstore() warpnet.WarpPeerstore
Network() warpnet.WarpNetwork
}
type MetricsProvider ¶ added in v0.7.392
type ModerationAuthStorer ¶ added in v0.8.77
type ModerationNotifier ¶ added in v0.5.30
type ModerationNotifier interface {
Add(not domain.Notification) error
}
type ModerationTimelelineDeleter ¶ added in v0.5.136
type ModerationTweetUpdater ¶ added in v0.5.134
type ModerationUserUpdater ¶ added in v0.7.59
type MutesStorer ¶ added in v0.7.26
type MutesStorer interface {
Mute(muterId, muteeId string) error
Unmute(muterId, muteeId string) error
List(muterId string, limit *uint64, cursor *string) ([]string, string, error)
}
MutesStorer is the narrow surface mute handlers need from MutesRepo.
type NodeAddresser ¶ added in v0.7.26
type NodeAddresser interface {
Addrs() []warpnet.WarpAddress
}
type NodeInformer ¶
type NotifierAllMarker ¶ added in v0.7.422
type NotifierAuthStorer ¶ added in v0.5.87
type NotifierFetcher ¶ added in v0.5.30
type NotifierGetter ¶ added in v0.7.26
type NotifierGetter interface {
Get(userId, notificationId string) (domain.Notification, error)
}
type NotifierMarker ¶ added in v0.7.26
type OrderCounter ¶ added in v0.8.77
type OrderSettingsFetcher ¶ added in v0.8.83
type OrderSettingsFetcher interface {
GetSponsoredSettings(userId string) (domain.SponsoredSettings, error)
}
type OrderStorer ¶ added in v0.8.77
type OwnerChatsStorer ¶
type OwnerReTweetStorer ¶
type OwnerTweetStorer ¶
type PairAuthStorer ¶ added in v0.7.320
type PairAuthStorer interface {
SessionToken() string
}
type PeerBlocklister ¶ added in v0.7.26
type PeerBlocklister interface {
BlocklistPermanent(peerId string) error
BlocklistRemove(peerId string) error
}
PeerBlocklister talks to NodeRepo's libp2p-level blocklist (database/node-repo.go) so blocking a user disconnects and refuses traffic from their node.
A social block is permanent until the user undoes it, so we go straight to BlocklistPermanent (no exponential escalation) on Block, and BlocklistRemove on Unblock.
type PollStreamer ¶ added in v0.8.77
type PollTweetFetcher ¶ added in v0.8.77
PollTweetFetcher resolves the tweet carrying the poll definition. The definition is the only place the option count and deadline live, so it is what bounds a vote.
type PollUserFetcher ¶ added in v0.8.77
type PollVotesStorer ¶ added in v0.8.77
type RateLimitSettingsStorer ¶ added in v0.8.77
type RatingReader ¶ added in v0.8.77
type RatingReader interface {
View(peerID warpnet.WarpPeerID) (domain.NodeRating, error)
Own() (domain.NodeRating, error)
}
RatingReader is the rating as these handlers read it: the public view of a peer, and what the network says about this node.
type ReTweetsStorer ¶
type ReTweetsStorer interface {
Get(userID, tweetID string) (tweet domain.Tweet, err error)
NewRetweet(tweet domain.Tweet, isTransitive bool) (_ domain.Tweet, err error)
UnRetweet(retweetedByUserID, tweetId string, isTransitive bool) error
RetweetsCount(tweetId string) (uint64, error)
Retweeters(tweetId string, limit *uint64, cursor *string) (_ []string, cur string, err error)
}
type ReactedTweetsLister ¶ added in v0.8.77
type ReactedUserFetcher ¶ added in v0.8.77
type ReactionNotifier ¶ added in v0.8.77
type ReactionNotifier interface {
Add(not domain.Notification) error
}
type ReactionStreamer ¶ added in v0.8.77
type ReactionTweetStorer ¶ added in v0.8.77
type ReactionTweetStorer interface {
React(tweetId, userId, emoji string, isTransitive bool) (reactionsNum uint64, err error)
Unreact(tweetId, userId string, isTransitive bool) (reactionsNum uint64, err error)
ReactionsCount(tweetId string) (reactionsNum uint64, err error)
Reactors(tweetId string, limit *uint64, cursor *string) (reactors []string, cur string, err error)
Reactions(tweetId string) (map[string]uint64, error)
Reaction(tweetId, userId string) (string, error)
}
type ReactionTweetsStorer ¶ added in v0.8.77
type ReactionsStorer ¶ added in v0.8.77
type ReactionsStorer interface {
React(tweetId, userId, emoji string, isTransitive bool) (reactionsNum uint64, err error)
Unreact(tweetId, userId string, isTransitive bool) (reactionsNum uint64, err error)
ReactionsCount(tweetId string) (reactionsNum uint64, err error)
Reactors(tweetId string, limit *uint64, cursor *string) (reactors []string, cur string, err error)
Reactions(tweetId string) (map[string]uint64, error)
SetReacted(userId, tweetId, ownerUserId string) error
RemoveReacted(userId, tweetId string) error
}
type ReactorsLister ¶ added in v0.8.77
type ReactorsLister interface {
Reactors(tweetId string, limit *uint64, cursor *string) ([]string, string, error)
}
ReactorsLister is the narrow surface the reactors handler needs.
type RepliesTweetCounter ¶
type ReportOwnerStorer ¶ added in v0.8.77
ReportOwnerStorer is whose report this node files. Publishing stamps the node's own owner on it, so only this node's own client may file one.
type ReportPublisher ¶ added in v0.7.59
type ReportPublisher interface {
PublishReport(ev event.ReportEvent) error
}
type RetweetNotifier ¶ added in v0.8.77
type RetweetNotifier interface {
Add(not domain.Notification) error
}
type RetweetStreamer ¶
type RetweetTimelineUpdater ¶
type RetweetedUserFetcher ¶
type RetweetersLister ¶ added in v0.7.26
type RetweetersLister interface {
Retweeters(tweetId string, limit *uint64, cursor *string) ([]string, string, error)
}
RetweetersLister is the narrow surface the retweeters handler needs.
type RetweetsTweetStorer ¶
type RetweetsTweetStorer interface {
Get(userID, tweetID string) (tweet domain.Tweet, err error)
NewRetweet(tweet domain.Tweet, isTransitive bool) (_ domain.Tweet, err error)
UnRetweet(retweetedByUserID, tweetId string, isTransitive bool) error
RetweetsCount(tweetId string) (uint64, error)
Retweeters(tweetId string, limit *uint64, cursor *string) (_ []string, cur string, err error)
}
type SettingsAuthStorer ¶ added in v0.7.483
SettingsAuthStorer resolves the local node owner.
type SettingsStorer ¶ added in v0.7.483
type SettingsStorer interface {
GetNotificationSettings(userId string) (domain.NotificationSettings, error)
SetNotificationSettings(userId string, s domain.NotificationSettings) error
}
SettingsStorer is the narrow surface the notification-settings handlers need.
type SponsoredAuthStorer ¶ added in v0.8.77
type SponsoredCopyLister ¶ added in v0.8.77
type SponsoredCopyStorer ¶ added in v0.8.77
type SponsoredMediaCopyStorer ¶ added in v0.8.77
type SponsoredMediaCopyStorer interface {
GetCopy(userId, key string) (domain.MediaCopy, error)
GetImage(userId, key string) (domain.Base64Image, error)
SetForeignImageWithTTL(userId, key string, img domain.Base64Image) error
GetVideo(userId, key string) (domain.Base64Video, error)
SetForeignVideoWithTTL(userId, key string, video domain.Base64Video) error
}
type SponsoredMediaFetcher ¶ added in v0.8.77
type SponsoredMediaFetcher interface {
GetImage(userId, key string) (domain.Base64Image, error)
GetVideo(userId, key string) (domain.Base64Video, error)
}
type SponsoredMediaStorer ¶ added in v0.8.77
type SponsoredMediaStorer interface {
GetImage(userId, key string) (domain.Base64Image, error)
GetVideo(userId, key string) (domain.Base64Video, error)
}
type SponsoredMediaStreamer ¶ added in v0.8.77
type SponsoredMediaUserFetcher ¶ added in v0.8.77
type SponsoredNotifier ¶ added in v0.8.77
type SponsoredNotifier interface {
Add(not domain.Notification) error
}
type SponsoredSettingsStorer ¶ added in v0.8.83
type SponsoredSettingsStorer interface {
GetSponsoredSettings(userId string) (domain.SponsoredSettings, error)
SetSponsoredSettings(userId string, s domain.SponsoredSettings) error
}
type SponsoredStreamer ¶ added in v0.8.77
type SponsoredTweetFetcher ¶ added in v0.8.77
type SponsoredUserFetcher ¶ added in v0.8.77
type SponsoredWallet ¶ added in v0.8.77
type SponsoredWallet interface {
Address(ctx context.Context, seed string) (string, error)
Balance(ctx context.Context, address string) (wallet.Account, error)
Pay(ctx context.Context, seed string, s wallet.Sponsorship) (wallet.Payment, error)
Payment(ctx context.Context, s wallet.Sponsorship, since time.Time) (wallet.PaymentState, error)
Quote(ctx context.Context, seed string, s wallet.Sponsorship) (wallet.Quote, error)
IsPaid(ctx context.Context, txId string, s wallet.Sponsorship) (wallet.Receipt, error)
IsAvailable(ctx context.Context) bool
Splitter() string
Splitters() []string
MaxFeePercent() uint64
Network() string
}
type SubscriptionStorer ¶ added in v0.7.26
type SubscriptionStorer interface {
Subscribe(selfId, targetUserId string) error
Unsubscribe(selfId, targetUserId string) error
}
SubscriptionStorer is the slice of SubscriptionsRepo the subscribe handlers need. Subscribe = "tell me about new tweets from this user"; the local node uses this watchlist to elevate the corresponding incoming tweet to a notification.
type TimelineAuthStorer ¶ added in v0.8.77
type TimelineFetcher ¶
type TimelineFollowChecker ¶ added in v0.8.77
type TimelineImageHashStorer ¶ added in v0.8.83
type TimelineImageHashStorer interface {
SetImageHashes(h domain.TweetImageHashes) error
}
type TimelinePeersRatings ¶ added in v0.8.77
type TimelinePeersRatings interface {
IsMediaAllowed(peerID warpnet.WarpPeerID) bool
}
type TimelineStorer ¶ added in v0.8.77
type TimelineTweetStorer ¶ added in v0.8.77
type TimelineUpdater ¶
type TimelineUserFetcher ¶ added in v0.8.77
type TweetBroadcaster ¶
type TweetFollowChecker ¶ added in v0.7.145
TweetFollowChecker reports whether ownerId follows authorId. The new-tweet handler uses it to keep unsolicited tweets out of the local timeline: a tweet is only accepted when the owner authored it or follows its author.
type TweetImageFetcher ¶ added in v0.8.83
type TweetImageFetcher interface {
GetImage(userId, key string) (domain.Base64Image, error)
}
type TweetImageHashStorer ¶ added in v0.8.83
type TweetImageHashStorer interface {
SetImageHashes(h domain.TweetImageHashes) error
}
type TweetMediaDeleter ¶ added in v0.8.83
type TweetNotifier ¶ added in v0.8.77
type TweetNotifier interface {
Add(not domain.Notification) error
}
type TweetPeersRatings ¶ added in v0.8.77
type TweetPeersRatings interface {
IsMediaAllowed(peerID warpnet.WarpPeerID) bool
}
type TweetStreamer ¶
type TweetUserFetcher ¶
type TweetsStorer ¶
type TweetsStorer interface {
TweetsCount(userId string) (uint64, error)
GetViewsCount(tweetId string) (uint64, error)
IsBlocklisted(tweetId string) bool
Blocklist(tweetId string) error
Get(userID, tweetID string) (tweet domain.Tweet, err error)
List(string, *uint64, *string) ([]domain.Tweet, string, error)
Create(_ string, tweet domain.Tweet) (domain.Tweet, error)
Delete(userID, tweetID string) error
UnRetweet(retweetedByUserID, tweetId string, isTransitive bool) error
Retweeters(tweetId string, limit *uint64, cursor *string) (_ []string, cur string, err error)
CreateWithTTL(userId string, tweet domain.Tweet, duration time.Duration) (domain.Tweet, error)
Update(tweet domain.Tweet) error
Pin(userId, tweetId string) (domain.Tweet, error)
Unpin(userId, tweetId string) (domain.Tweet, error)
AppendEdit(edit domain.TweetEdit) (domain.TweetEdit, error)
AddReply(reply domain.Tweet, isTransitive bool) (domain.Tweet, error)
GetReply(parentID, replyID string) (domain.Tweet, error)
DeleteReply(parentID, replyID string, isTransitive bool) (domain.Tweet, error)
GetReplies(parentID string, limit *uint64, cursor *string) ([]domain.Tweet, string, error)
}
type UserAuthStorer ¶
type UserFetcher ¶
type UserFetcher interface {
Create(user domain.User) (domain.User, error)
Get(userId string) (user domain.User, err error)
List(limit *uint64, cursor *string) ([]domain.User, string, error)
Search(query string, limit *uint64, cursor *string) ([]domain.User, string, error)
WhoToFollow(limit *uint64, cursor *string) ([]domain.User, string, error)
Update(userId string, newUser domain.User) (updatedUser domain.User, err error)
CreateWithTTL(user domain.User, ttl time.Duration) (domain.User, error)
}
type UserFollowsCounter ¶
type UserFollowsCounter interface {
GetFollowersCount(userId string) (uint64, error)
GetFollowingsCount(userId string) (uint64, error)
GetFollowers(userId string, limit *uint64, cursor *string) ([]string, string, error)
GetFollowings(userId string, limit *uint64, cursor *string) ([]string, string, error)
}
type UserStreamer ¶
type UserTweetsCounter ¶
type VideoNodeInformer ¶ added in v0.8.77
type VideoStorer ¶ added in v0.8.77
type VideoStorer interface {
GetVideo(userId, key string) (domain.Base64Video, error)
SetVideo(userId string, video domain.Base64Video) (_ domain.VideoKey, err error)
SetForeignVideoWithTTL(userId, key string, video domain.Base64Video) error
}
type VideoStreamer ¶ added in v0.8.77
type VideoUserFetcher ¶ added in v0.8.77
type ViewStreamer ¶ added in v0.8.77
type ViewUserFetcher ¶ added in v0.8.77
type ViewsStorer ¶ added in v0.6.316
type WalletAddressStorer ¶ added in v0.8.77
type WalletBackend ¶ added in v0.8.77
type WalletBackend interface {
Address(ctx context.Context, seed string) (string, error)
Balance(ctx context.Context, address string) (wallet.Account, error)
Transfer(ctx context.Context, seed, asset, to, amount string) (string, error)
Export(ctx context.Context, seed string) (address, privateKey string, err error)
History(ctx context.Context, address, asset string, limit int) ([]wallet.Transfer, error)
Stake(ctx context.Context, seed, amount string) (string, error)
Unstake(ctx context.Context, seed, amount string) (string, error)
Withdraw(ctx context.Context, seed string) (string, error)
Token() string
Decimals() uint8
Network() string
Splitter() string
}
type WalletFollowLister ¶ added in v0.8.77
type WalletOrderStorer ¶ added in v0.8.83
type WalletOwnerStorer ¶ added in v0.8.77
type WalletPeerFetcher ¶ added in v0.8.77
type WalletSettingsFetcher ¶ added in v0.8.83
type WalletSettingsFetcher interface {
GetSponsoredSettings(userId string) (domain.SponsoredSettings, error)
}
type WalletStreamer ¶ added in v0.8.77
type WalletUserFetcher ¶ added in v0.8.77
type WhoToFollowAuthStorer ¶ added in v0.8.77
type WhoToFollowFollowsLister ¶ added in v0.8.77
Source Files
¶
- block.go
- bookmark.go
- chat-media.go
- chat.go
- device.go
- engagement.go
- filter.go
- following.go
- image.go
- import.go
- info.go
- metrics.go
- moderation.go
- notification.go
- pair.go
- poll.go
- rating.go
- reaction.go
- report.go
- retweet.go
- settings.go
- sponsored-media.go
- sponsored.go
- subscription.go
- timeline.go
- tweet.go
- user.go
- video.go
- view.go
- wallet.go
- who-to-follow.go