messaging

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMessageNotFound = errors.New("message not found")
)

Functions

func GenerateMessageID

func GenerateMessageID() (*messagingpb.MessageId, error)

func GenerateMessageIDFromTime

func GenerateMessageIDFromTime(t time.Time) (*messagingpb.MessageId, error)

func MustGenerateMessageID

func MustGenerateMessageID() *messagingpb.MessageId

func MustGenerateMessageIDFromTime

func MustGenerateMessageIDFromTime(t time.Time) *messagingpb.MessageId

func SendAnnouncement

func SendAnnouncement(ctx context.Context, messenger Messenger, chatID *commonpb.ChatId, contentBuilder AnnouncementContentBuilder) error

Types

type AnnouncementContentBuilder

type AnnouncementContentBuilder func() (*messagingpb.Content, error)

func NewFlipchatDisplayNameChangedAnnouncementContentBuilder added in v1.1.0

func NewFlipchatDisplayNameChangedAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, userID *commonpb.UserId, chatNumber uint64, displayName string) AnnouncementContentBuilder

func NewFlipchatDisplayNameRemovedAnnouncementContentBuilder added in v1.1.0

func NewFlipchatDisplayNameRemovedAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, userID *commonpb.UserId) AnnouncementContentBuilder

func NewFlipchatIsLiveAnnouncementContentBuilder

func NewFlipchatIsLiveAnnouncementContentBuilder(chatNumber uint64) AnnouncementContentBuilder

func NewMessagingFeeChangedAnnouncementContentBuilder

func NewMessagingFeeChangedAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, userID *commonpb.UserId, quarks uint64) AnnouncementContentBuilder

func NewUserDemotedToListenerAnnouncementContentBuilder

func NewUserDemotedToListenerAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, userID *commonpb.UserId) AnnouncementContentBuilder

func NewUserMutedAnnouncementContentBuilder

func NewUserMutedAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, muter, mutee *commonpb.UserId) AnnouncementContentBuilder

func NewUserPromotedToSpeakerAnnouncementContentBuilder

func NewUserPromotedToSpeakerAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, promoter, promotee *commonpb.UserId) AnnouncementContentBuilder

func NewUserRemovedAnnouncementContentBuilder

func NewUserRemovedAnnouncementContentBuilder(ctx context.Context, profiles profile.Store, userID *commonpb.UserId) AnnouncementContentBuilder

type MessageStore

type MessageStore interface {
	GetMessage(ctx context.Context, chatID *commonpb.ChatId, messageID *messagingpb.MessageId) (*messagingpb.Message, error)
	GetBatchMessages(ctx context.Context, chatID *commonpb.ChatId, messageIDs ...*messagingpb.MessageId) ([]*messagingpb.Message, error)
	GetPagedMessages(ctx context.Context, chatID *commonpb.ChatId, options ...query.Option) ([]*messagingpb.Message, error)
	PutMessage(ctx context.Context, chatID *commonpb.ChatId, msg *messagingpb.Message) (*messagingpb.Message, error)
	PutMessageLegacy(ctx context.Context, chatID *commonpb.ChatId, msg *messagingpb.Message) (*messagingpb.Message, error)
	CountUnread(ctx context.Context, chatID *commonpb.ChatId, userID *commonpb.UserId, lastRead *messagingpb.MessageId, maxValue int64) (int64, error)
}

type Messenger

type Messenger interface {
	Send(ctx context.Context, chatID *commonpb.ChatId, msg *messagingpb.Message) (*messagingpb.Message, error)
}

type NoopMessenger

type NoopMessenger struct {
}

func NewNoopMessenger

func NewNoopMessenger() *NoopMessenger

func (*NoopMessenger) Send

type PointerStore

type PointerStore interface {
	AdvancePointer(ctx context.Context, chatID *commonpb.ChatId, userID *commonpb.UserId, pointer *messagingpb.Pointer) (bool, error)
	GetPointers(ctx context.Context, chatID *commonpb.ChatId, userID *commonpb.UserId) ([]*messagingpb.Pointer, error)
	GetAllPointers(ctx context.Context, chatID *commonpb.ChatId) ([]UserPointer, error)
}

type Server

type Server struct {
	messagingpb.UnimplementedMessagingServer
	// contains filtered or unexported fields
}

func NewServer

func NewServer(
	log *zap.Logger,
	authz auth.Authorizer,
	rpcAuthz auth.Messaging,
	accounts account.Store,
	intents intent.Store,
	messages MessageStore,
	pointers PointerStore,
	codeData codedata.Provider,
	eventBus *event.Bus[*commonpb.ChatId, *event.ChatEvent],
) *Server

func (*Server) Send

func (s *Server) Send(ctx context.Context, chatID *commonpb.ChatId, msg *messagingpb.Message) (*messagingpb.Message, error)

type UserPointer

type UserPointer struct {
	UserID  *commonpb.UserId
	Pointer *messagingpb.Pointer
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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