handler

package
v0.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2025 License: GPL-2.0, GPL-3.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StreamChallengeHandler added in v0.2.476

func StreamChallengeHandler(fs FileSystem, privateKey ed25519.PrivateKey) middleware.WarpHandler

TODO nonce cache check

func StreamConsensusResetHandler

func StreamConsensusResetHandler(consRepo ConsensusResetter) middleware.WarpHandler

func StreamCreateChatHandler

func StreamCreateChatHandler(
	repo ChatStorer,
	userRepo ChatUserFetcher,
	streamer ChatStreamer,
) middleware.WarpHandler

Handler for creating a new chat

func StreamDeleteChatHandler

func StreamDeleteChatHandler(repo ChatStorer, authRepo ChatAuthStorer) middleware.WarpHandler

func StreamDeleteMessageHandler

func StreamDeleteMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) middleware.WarpHandler

Handler for deleting a message

func StreamDeleteReplyHandler

func StreamDeleteReplyHandler(
	tweetRepo ReplyTweetStorer,
	userRepo ReplyUserFetcher,
	replyRepo ReplyStorer,
	streamer ReplyStreamer,
) middleware.WarpHandler

func StreamDeleteTweetHandler

func StreamDeleteTweetHandler(
	broadcaster TweetBroadcaster,
	authRepo OwnerTweetStorer,
	repo TweetsStorer,
	likeRepo LikeTweetStorer,
) middleware.WarpHandler

func StreamFollowHandler

func StreamFollowHandler(
	broadcaster FollowingBroadcaster,
	followRepo FollowingStorer,
	authRepo FollowingAuthStorer,
	userRepo FollowingUserStorer,
	streamer FollowNodeStreamer,
) middleware.WarpHandler

func StreamGetFolloweesHandler

func StreamGetFolloweesHandler(
	authRepo FollowingAuthStorer,
	userRepo FollowingUserStorer,
	followRepo FollowingStorer,
	streamer FollowNodeStreamer,
) middleware.WarpHandler

func StreamGetFollowersHandler

func StreamGetFollowersHandler(
	authRepo FollowingAuthStorer,
	userRepo FollowingUserStorer,
	followRepo FollowingStorer,
	streamer FollowNodeStreamer,
) middleware.WarpHandler

func StreamGetImageHandler

func StreamGetImageHandler(
	streamer MediaStreamer,
	mediaRepo MediaStorer,
	userRepo MediaUserFetcher,
) middleware.WarpHandler

func StreamGetMessageHandler

func StreamGetMessageHandler(repo ChatStorer, authRepo OwnerChatsStorer) middleware.WarpHandler

StreamGetMessageHandler for retrieving a specific message

func StreamGetMessagesHandler

func StreamGetMessagesHandler(repo ChatStorer, authRepo OwnerChatsStorer) middleware.WarpHandler

Handler for getting messages in a chat

func StreamGetRepliesHandler

func StreamGetRepliesHandler(
	repo ReplyStorer,
	userRepo ReplyUserFetcher,
	streamer ReplyStreamer,
) middleware.WarpHandler

func StreamGetReplyHandler

func StreamGetReplyHandler(repo ReplyStorer) middleware.WarpHandler

func StreamGetStatsHandler

func StreamGetStatsHandler(
	i StatsNodeInformer,
	db StatsProvider,
	consensus StatsProvider,
) middleware.WarpHandler

func StreamGetTweetHandler

func StreamGetTweetHandler(repo TweetsStorer) middleware.WarpHandler

func StreamGetTweetStatsHandler

func StreamGetTweetStatsHandler(
	likeRepo LikeTweetStorer,
	retweetRepo RetweetsTweetStorer,
	replyRepo RepliesTweetCounter,
	userRepo TweetUserFetcher,
	streamer TweetStreamer,
) middleware.WarpHandler

func StreamGetTweetsHandler

func StreamGetTweetsHandler(
	repo TweetsStorer,
	userRepo TweetUserFetcher,
	streamer TweetStreamer,
) middleware.WarpHandler

func StreamGetUserChatHandler

func StreamGetUserChatHandler(repo ChatStorer, authRepo ChatAuthStorer) middleware.WarpHandler

func StreamGetUserChatsHandler

func StreamGetUserChatsHandler(repo ChatStorer, authRepo OwnerChatsStorer) middleware.WarpHandler

func StreamGetUserHandler

func StreamGetUserHandler(
	tweetRepo UserTweetsCounter,
	followRepo UserFollowsCounter,
	repo UserFetcher,
	authRepo UserAuthStorer,
	streamer UserStreamer,
) middleware.WarpHandler

func StreamGetUsersHandler

func StreamGetUsersHandler(
	userRepo UserFetcher,
	authRepo UserAuthStorer,
	streamer UserStreamer,
) middleware.WarpHandler

func StreamLikeHandler

func StreamLikeHandler(
	repo LikesStorer,
	userRepo LikedUserFetcher,
	streamer LikeStreamer,
) middleware.WarpHandler

func StreamNewReTweetHandler

func StreamNewReTweetHandler(
	userRepo RetweetedUserFetcher,
	tweetRepo ReTweetsStorer,
	timelineRepo RetweetTimelineUpdater,
	streamer RetweetStreamer,
) middleware.WarpHandler

func StreamNewReplyHandler

func StreamNewReplyHandler(
	replyRepo ReplyStorer,
	userRepo ReplyUserFetcher,
	streamer ReplyStreamer,
) middleware.WarpHandler

func StreamNewTweetHandler

func StreamNewTweetHandler(
	broadcaster TweetBroadcaster,
	authRepo OwnerTweetStorer,
	tweetRepo TweetsStorer,
	timelineRepo TimelineUpdater,
) middleware.WarpHandler

func StreamNodesPairingHandler

func StreamNodesPairingHandler(serverAuthInfo domain.AuthNodeInfo) middleware.WarpHandler

func StreamSendMessageHandler

func StreamSendMessageHandler(repo ChatStorer, userRepo ChatUserFetcher, streamer ChatStreamer) middleware.WarpHandler

Handler for sending a new message

func StreamTimelineHandler

func StreamTimelineHandler(repo TimelineFetcher) middleware.WarpHandler

func StreamUnfollowHandler

func StreamUnfollowHandler(
	broadcaster FollowingBroadcaster,
	followRepo FollowingStorer,
	authRepo FollowingAuthStorer,
	userRepo FollowingUserStorer,
	streamer FollowNodeStreamer,
) middleware.WarpHandler

func StreamUnlikeHandler

func StreamUnlikeHandler(repo LikesStorer, userRepo LikedUserFetcher, streamer LikeStreamer) middleware.WarpHandler

func StreamUnretweetHandler

func StreamUnretweetHandler(
	tweetRepo ReTweetsStorer,
	userRepo RetweetedUserFetcher,
	streamer RetweetStreamer,
) middleware.WarpHandler

func StreamUpdateProfileHandler

func StreamUpdateProfileHandler(authRepo UserAuthStorer, userRepo UserFetcher) middleware.WarpHandler

func StreamUploadImageHandler

func StreamUploadImageHandler(
	info MediaNodeInformer,
	mediaRepo MediaStorer,
	userRepo MediaUserFetcher,
) middleware.WarpHandler

func StreamVerifyHandler

func StreamVerifyHandler(state AdminStateCommitter) middleware.WarpHandler

Types

type AdminStateCommitter

type AdminStateCommitter interface {
	CommitState(newState consensus.KVState) (_ *consensus.KVState, err error)
}

type AdminStreamer

type AdminStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
}

type ChatAuthStorer

type ChatAuthStorer interface {
	GetOwner() domain.Owner
}

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 ChatStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type ChatUserFetcher

type ChatUserFetcher interface {
	GetByNodeID(nodeID string) (user domain.User, err error)
	Get(userId string) (user domain.User, err error)
}

type ConsensusResetter

type ConsensusResetter interface {
	Reset() error
}

type FileSystem added in v0.2.476

type FileSystem interface {
	ReadDir(name string) ([]fs.DirEntry, error)
	ReadFile(name string) ([]byte, error)
	Open(name string) (fs.File, error)
}

type FollowNodeStreamer

type FollowNodeStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) ([]byte, error)
}

type FollowingAuthStorer

type FollowingAuthStorer interface {
	GetOwner() domain.Owner
}

type FollowingBroadcaster

type FollowingBroadcaster interface {
	SubscribeUserUpdate(userId string) (err error)
	UnsubscribeUserUpdate(userId string) (err error)
}

type FollowingStorer

type FollowingStorer interface {
	Follow(fromUserId, toUserId string, event domain.Following) error
	Unfollow(fromUserId, toUserId string) error
	GetFollowers(userId string, limit *uint64, cursor *string) ([]domain.Following, string, error)
	GetFollowees(userId string, limit *uint64, cursor *string) ([]domain.Following, string, error)
}

type FollowingUserStorer

type FollowingUserStorer interface {
	Get(userId string) (user domain.User, err error)
	List(limit *uint64, cursor *string) ([]domain.User, string, error)
	Create(user domain.User) (domain.User, error)
}

type LikeStreamer

type LikeStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type LikeTweetStorer

type LikeTweetStorer interface {
	Like(tweetId, userId string) (likesNum uint64, err error)
	Unlike(tweetId, userId string) (likesNum uint64, err error)
	LikesCount(tweetId string) (likesNum uint64, err error)
	Likers(tweetId string, limit *uint64, cursor *string) (likers []string, cur string, err error)
}

type LikeTweetsStorer

type LikeTweetsStorer interface {
	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
}

type LikedUserFetcher

type LikedUserFetcher interface {
	GetBatch(userIds ...string) (users []domain.User, err error)
	Get(userId string) (users domain.User, err error)
}

type LikesStorer

type LikesStorer interface {
	Like(tweetId, userId string) (likesNum uint64, err error)
	Unlike(tweetId, userId string) (likesNum uint64, err error)
	LikesCount(tweetId string) (likesNum uint64, err error)
	Likers(tweetId string, limit *uint64, cursor *string) (likers []string, cur string, err error)
}

type MediaNodeInformer

type MediaNodeInformer interface {
	NodeInfo() warpnet.NodeInfo
}

type MediaStorer

type MediaStorer interface {
	GetImage(userId, key string) (database.Base64Image, error)
	SetImage(userId string, img database.Base64Image) (_ database.ImageKey, err error)
	SetForeignImageWithTTL(userId, key string, img database.Base64Image) error
}

type MediaStreamer

type MediaStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type MediaUserFetcher

type MediaUserFetcher interface {
	Get(userId string) (user domain.User, err error)
}

type NodeInformer

type NodeInformer interface {
	NodeInfo() warpnet.NodeInfo
}

type OwnerChatsStorer

type OwnerChatsStorer interface {
	GetOwner() domain.Owner
}

type OwnerReTweetStorer

type OwnerReTweetStorer interface {
	GetOwner() domain.Owner
}

type OwnerTweetStorer

type OwnerTweetStorer interface {
	GetOwner() domain.Owner
}

type ReTweetsStorer

type ReTweetsStorer interface {
	Get(userID, tweetID string) (tweet domain.Tweet, err error)
	NewRetweet(tweet domain.Tweet) (_ domain.Tweet, err error)
	UnRetweet(retweetedByUserID, tweetId string) error
	RetweetsCount(tweetId string) (uint64, error)
	Retweeters(tweetId string, limit *uint64, cursor *string) (_ []string, cur string, err error)
}

type RepliesTweetCounter

type RepliesTweetCounter interface {
	RepliesCount(tweetId string) (likesNum uint64, err error)
}

type ReplyStorer

type ReplyStorer interface {
	GetReply(rootID, replyID string) (tweet domain.Tweet, err error)
	GetRepliesTree(rootID, parentId string, limit *uint64, cursor *string) ([]domain.ReplyNode, string, error)
	AddReply(reply domain.Tweet) (domain.Tweet, error)
	DeleteReply(rootID, parentID, replyID string) error
}

type ReplyStreamer

type ReplyStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type ReplyTweetStorer

type ReplyTweetStorer interface {
	Get(userID, tweetID string) (tweet domain.Tweet, err error)
}

type ReplyUserFetcher

type ReplyUserFetcher interface {
	Get(userId string) (user domain.User, err error)
}

type RetweetStreamer

type RetweetStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type RetweetTimelineUpdater

type RetweetTimelineUpdater interface {
	AddTweetToTimeline(userId string, tweet domain.Tweet) error
}

type RetweetedUserFetcher

type RetweetedUserFetcher interface {
	GetBatch(retweetersIds ...string) (users []domain.User, err error)
	Get(userId string) (users domain.User, err error)
}

type RetweetsTweetStorer

type RetweetsTweetStorer interface {
	Get(userID, tweetID string) (tweet domain.Tweet, err error)
	NewRetweet(tweet domain.Tweet) (_ domain.Tweet, err error)
	UnRetweet(retweetedByUserID, tweetId string) error
	RetweetsCount(tweetId string) (uint64, error)
	Retweeters(tweetId string, limit *uint64, cursor *string) (_ []string, cur string, err error)
}

type StatsNodeInformer

type StatsNodeInformer interface {
	NodeInfo() warpnet.NodeInfo
	Peerstore() warpnet.WarpPeerstore
	Network() warpnet.WarpNetwork
}

type StatsProvider

type StatsProvider interface {
	Stats() map[string]string
}

type TimelineFetcher

type TimelineFetcher interface {
	GetTimeline(string, *uint64, *string) ([]domain.Tweet, string, error)
}

type TimelineUpdater

type TimelineUpdater interface {
	AddTweetToTimeline(userId string, tweet domain.Tweet) error
}

type TweetBroadcaster

type TweetBroadcaster interface {
	PublishOwnerUpdate(ownerId string, msg event.Message) (err error)
}

type TweetStreamer

type TweetStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
	NodeInfo() warpnet.NodeInfo
}

type TweetUserFetcher

type TweetUserFetcher interface {
	Get(userId string) (user domain.User, err error)
}

type TweetsStorer

type TweetsStorer interface {
	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
}

type UserAuthStorer

type UserAuthStorer interface {
	GetOwner() domain.Owner
}

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)
	Update(userId string, newUser domain.User) (updatedUser domain.User, err error)
}

type UserFollowsCounter

type UserFollowsCounter interface {
	GetFollowersCount(userId string) (uint64, error)
	GetFolloweesCount(userId string) (uint64, error)
}

type UserStreamer

type UserStreamer interface {
	GenericStream(nodeId string, path stream.WarpRoute, data any) (_ []byte, err error)
}

type UserTweetsCounter

type UserTweetsCounter interface {
	TweetsCount(userID string) (uint64, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL