persistence

package
v0.0.0-...-fcbdc9d Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2021 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuntDBPersist

type BuntDBPersist struct {
	sync.RWMutex
	*flock.Flock
	// contains filtered or unexported fields
}

BuntDBPersist is a Persister for BuntDB (file-backed in-memory key-value store)

func (*BuntDBPersist) Close

func (p *BuntDBPersist) Close() error

func (*BuntDBPersist) DeleteRoom

func (p *BuntDBPersist) DeleteRoom(room *types.Room) error

func (*BuntDBPersist) DeleteUser

func (p *BuntDBPersist) DeleteUser(user *types.User) error

func (*BuntDBPersist) GetEventHistory

func (p *BuntDBPersist) GetEventHistory(room *types.Room, fromTs, toTs time.Time, fromIdx, maxCount int) ([]*types.Event, error)

GetEventHistory returns a slice of events from db.

Use fromTs/toTs to restrict the time range, and fromIdx/maxCount for pagination. Important: the resulting events are expected to have the "History" flag set!

func (*BuntDBPersist) GetRoom

func (p *BuntDBPersist) GetRoom(room *types.Room) error

func (*BuntDBPersist) GetRooms

func (p *BuntDBPersist) GetRooms() ([]*types.Room, error)

func (*BuntDBPersist) GetUser

func (p *BuntDBPersist) GetUser(user *types.User) error

func (*BuntDBPersist) GetUsers

func (p *BuntDBPersist) GetUsers() ([]*types.User, error)

func (*BuntDBPersist) StoreEvents

func (p *BuntDBPersist) StoreEvents(room *types.Room, events []*types.Event) error

func (*BuntDBPersist) StoreRoom

func (p *BuntDBPersist) StoreRoom(room types.Room) error

func (*BuntDBPersist) StoreUser

func (p *BuntDBPersist) StoreUser(user types.User) error

func (*BuntDBPersist) UpdateRoomTags

func (p *BuntDBPersist) UpdateRoomTags(room *types.Room, updates []*types.TagUpdate) ([]bool, error)

func (*BuntDBPersist) UpdateUserTags

func (p *BuntDBPersist) UpdateUserTags(user *types.User, updates []*types.TagUpdate) ([]bool, error)

type GormPersist

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

func (*GormPersist) Close

func (p *GormPersist) Close() error

func (*GormPersist) DeleteRoom

func (p *GormPersist) DeleteRoom(room *types.Room) error

func (*GormPersist) DeleteUser

func (p *GormPersist) DeleteUser(user *types.User) error

func (*GormPersist) GetEventHistory

func (p *GormPersist) GetEventHistory(room *types.Room, fromTs, toTs time.Time, fromIdx, maxCount int) ([]*types.Event, error)

func (*GormPersist) GetRoom

func (p *GormPersist) GetRoom(room *types.Room) error

func (*GormPersist) GetRooms

func (p *GormPersist) GetRooms() ([]*types.Room, error)

func (*GormPersist) GetUser

func (p *GormPersist) GetUser(user *types.User) error

func (*GormPersist) GetUsers

func (p *GormPersist) GetUsers() ([]*types.User, error)

func (*GormPersist) StoreEvents

func (p *GormPersist) StoreEvents(_ *types.Room, events []*types.Event) error

func (*GormPersist) StoreRoom

func (p *GormPersist) StoreRoom(room types.Room) error

func (*GormPersist) StoreUser

func (p *GormPersist) StoreUser(user types.User) error

func (*GormPersist) UpdateRoomTags

func (p *GormPersist) UpdateRoomTags(room *types.Room, updates []*types.TagUpdate) ([]bool, error)

func (*GormPersist) UpdateUserTags

func (p *GormPersist) UpdateUserTags(user *types.User, updates []*types.TagUpdate) ([]bool, error)

type Persister

type Persister interface {
	StoreEvents(*types.Room, []*types.Event) error
	GetEventHistory(*types.Room, time.Time, time.Time, int, int) ([]*types.Event, error)
	StoreUser(types.User) error
	GetUser(*types.User) error
	GetUsers() ([]*types.User, error)
	UpdateUserTags(*types.User, []*types.TagUpdate) ([]bool, error)
	DeleteUser(*types.User) error
	StoreRoom(types.Room) error
	GetRoom(*types.Room) error
	GetRooms() ([]*types.Room, error)
	UpdateRoomTags(*types.Room, []*types.TagUpdate) ([]bool, error)
	DeleteRoom(*types.Room) error
	Close() error
}

func NewBuntPersister

func NewBuntPersister(cfg *config.Config) (Persister, error)

func NewGormPersister

func NewGormPersister(cfg *config.Config) (Persister, error)

func NewPersister

func NewPersister(globalConfig *config.Config) (Persister, error)

func NewPostgresPersister

func NewPostgresPersister(cfg *config.Config) (Persister, error)

func NewSQLitePersister

func NewSQLitePersister(cfg *config.Config) (Persister, error)

type PostgresPersist

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

func (*PostgresPersist) Close

func (p *PostgresPersist) Close() error

func (*PostgresPersist) DeleteRoom

func (p *PostgresPersist) DeleteRoom(room *types.Room) error

func (*PostgresPersist) DeleteUser

func (p *PostgresPersist) DeleteUser(user *types.User) error

func (*PostgresPersist) GetEventHistory

func (p *PostgresPersist) GetEventHistory(room *types.Room, fromTs, toTs time.Time, fromIdx, maxCount int) ([]*types.Event, error)

func (*PostgresPersist) GetRoom

func (p *PostgresPersist) GetRoom(room *types.Room) error

func (*PostgresPersist) GetRooms

func (p *PostgresPersist) GetRooms() ([]*types.Room, error)

func (*PostgresPersist) GetUser

func (p *PostgresPersist) GetUser(user *types.User) error

func (*PostgresPersist) GetUsers

func (p *PostgresPersist) GetUsers() ([]*types.User, error)

func (*PostgresPersist) StoreEvents

func (p *PostgresPersist) StoreEvents(_ *types.Room, events []*types.Event) error

func (*PostgresPersist) StoreRoom

func (p *PostgresPersist) StoreRoom(room types.Room) error

func (*PostgresPersist) StoreUser

func (p *PostgresPersist) StoreUser(user types.User) error

func (*PostgresPersist) UpdateRoomTags

func (p *PostgresPersist) UpdateRoomTags(room *types.Room, updates []*types.TagUpdate) ([]bool, error)

func (*PostgresPersist) UpdateUserTags

func (p *PostgresPersist) UpdateUserTags(user *types.User, updates []*types.TagUpdate) ([]bool, error)

type SQLitePersist

type SQLitePersist struct {
	sync.RWMutex
	*flock.Flock
	// contains filtered or unexported fields
}

func (*SQLitePersist) Close

func (p *SQLitePersist) Close() error

func (*SQLitePersist) DeleteRoom

func (p *SQLitePersist) DeleteRoom(room *types.Room) error

func (*SQLitePersist) DeleteUser

func (p *SQLitePersist) DeleteUser(user *types.User) error

func (*SQLitePersist) GetEventHistory

func (p *SQLitePersist) GetEventHistory(room *types.Room, fromTs, toTs time.Time, fromIdx, maxCount int) ([]*types.Event, error)

func (*SQLitePersist) GetRoom

func (p *SQLitePersist) GetRoom(room *types.Room) error

func (*SQLitePersist) GetRooms

func (p *SQLitePersist) GetRooms() ([]*types.Room, error)

func (*SQLitePersist) GetUser

func (p *SQLitePersist) GetUser(user *types.User) error

func (*SQLitePersist) GetUsers

func (p *SQLitePersist) GetUsers() ([]*types.User, error)

func (*SQLitePersist) StoreEvents

func (p *SQLitePersist) StoreEvents(_ *types.Room, events []*types.Event) error

func (*SQLitePersist) StoreRoom

func (p *SQLitePersist) StoreRoom(room types.Room) error

func (*SQLitePersist) StoreUser

func (p *SQLitePersist) StoreUser(user types.User) error

func (*SQLitePersist) UpdateRoomTags

func (p *SQLitePersist) UpdateRoomTags(room *types.Room, updates []*types.TagUpdate) ([]bool, error)

func (*SQLitePersist) UpdateUserTags

func (p *SQLitePersist) UpdateUserTags(user *types.User, updates []*types.TagUpdate) ([]bool, error)

Jump to

Keyboard shortcuts

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