box

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Data

type Data struct {
	// contains filtered or unexported fields
}

type Hook

type Hook struct {
	// contains filtered or unexported fields
}

func NewHook

func NewHook(
	config Kernel.RethinkConfig,
	chatRoomID string,
	getRelation func(string) []string,
	metadataGenerator func(*talk.DatabaseMessage) interface{},
	messageboxNotFoundHandler func(string) bool,
) *Hook

func (*Hook) GetMessagebox

func (hook *Hook) GetMessagebox(relatedID string, target string) *Messagebox

func (*Hook) MessageTrigger

func (hook *Hook) MessageTrigger(message *talk.DatabaseMessage)

func (*Hook) SeenTrigger

func (hook *Hook) SeenTrigger(relatedID string, message *talk.DatabaseMessage)

type Manager

type Manager struct {
	Data
}

func NewManager

func NewManager(config Kernel.RethinkConfig, listenerID string) *Manager

func (*Manager) Check

func (manager *Manager) Check() bool

func (*Manager) Create

func (manager *Manager) Create() bool

func (*Manager) Drop

func (manager *Manager) Drop() bool

type Messagebox

type Messagebox struct {
	CreatedTime int64       `rethinkdb:"createdTime" json:"createdTime"`
	LastSeen    int64       `rethinkdb:"lastSeen" json:"lastSeen"`
	Metadata    interface{} `rethinkdb:"metadata" json:"metadata"`
	Origin      string      `rethinkdb:"origin" json:"origin"`
	Target      string      `rethinkdb:"target" json:"target"`
}

type MessageboxForNew

type MessageboxForNew struct {
	CreatedTime int64       `rethinkdb:"createdTime"`
	Metadata    interface{} `rethinkdb:"metadata"`
	Origin      string      `rethinkdb:"origin"`
	Target      string      `rethinkdb:"target"`
}

type MessageboxForUpdateSeen

type MessageboxForUpdateSeen struct {
	LastSeen int64  `rethinkdb:"lastSeen"`
	Target   string `rethinkdb:"target"`
}

type Seen

type Seen struct {
	Data
}

func NewSeen

func NewSeen(config Kernel.RethinkConfig) *Seen

func (*Seen) CountUnreadMessages

func (seen *Seen) CountUnreadMessages(chatRoomID string, timestamp int64) int

type Service

type Service struct {
	Kernel.Service
	// contains filtered or unexported fields
}

Service: this is the struct of Messagebox Service.

func (*Service) CheckPermission

func (service *Service) CheckPermission() bool

CheckPermission: check the permission of client.

func (*Service) DeleteMessagebox

func (service *Service) DeleteMessagebox(request *Kernel.Request)

DeleteMessagebox: delete a messagebox by the request of client.

func (*Service) Fetch

func (service *Service) Fetch(ctx context.Context)

Fetch: do the fetch for data, if there is a change in database, it will throw the event out.

func (*Service) SyncMessagebox

func (service *Service) SyncMessagebox(request *Kernel.Request)

SyncMessagebox: get the history messageboxes for client.

type ServiceInterface

type ServiceInterface interface {
	Kernel.ServiceInterface
	SyncMessagebox(*Kernel.Request)
	DeleteMessagebox(*Kernel.Request)
}

func NewServiceInterface

func NewServiceInterface(
	messageBoxConfig Kernel.RethinkConfig,
	syncExtraDataAssigner func(SyncMessagebox) interface{},
	listenerID string,
) ServiceInterface

NewServiceInterface: create service interface of Messagebox.

type SyncMessagebox

type SyncMessagebox struct {
	Messagebox
	ExtraData interface{} `json:"extraData"`
}

Jump to

Keyboard shortcuts

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