memstore

package
v0.7.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEmptyMap          = errors.New("memstore: cannot select from an empty map")
	ErrEmptySlice        = errors.New("memstore: cannot select from an empty slice")
	ErrLenMismatch       = errors.New("memstore: cannot select from a map, not enough elements")
	ErrTeamNotFound      = errors.New("memstore: team not found")
	ErrUserNotSet        = errors.New("memstore: user is not set")
	ErrTeamStoreEmpty    = errors.New("memstore: team store is empty")
	ErrChannelStoreEmpty = errors.New("memstore: channel store is empty")
	ErrChannelNotFound   = errors.New("memstore: channel not found")
	ErrPostNotFound      = errors.New("memstore: post not found")
	ErrInvalidData       = errors.New("memstore: invalid data found")
)

Functions

func SetRandomSeed

func SetRandomSeed() int64

SetRandomSeed sets the global random seed and returns it's value.

Types

type CQueue

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

CQueue is a basic implementation of a circular queue of fixed size.

func NewCQueue

func NewCQueue(size int, newEl func() interface{}) (*CQueue, error)

NewCQueue creates and returns a pointer to a queue of the given size. The passed newEl parameter is a function used to allocate an element if data for it is not yet present in the queue.

func (*CQueue) Get

func (q *CQueue) Get() interface{}

Get returns a pointer to the next element in the queue. In case this is nil, data for it will be allocated before returning.

func (*CQueue) Reset

func (q *CQueue) Reset()

Reset re-initializes the queue to be reused.

type Config

type Config struct {
	MaxStoredPosts          int // The maximum number of posts to be stored.
	MaxStoredUsers          int // The maximum number of users to be stored.
	MaxStoredChannelMembers int // The maximum number of channel members to be stored.
	MaxStoredStatuses       int // The maximum number of statuses to be stored.
}

Config holds information used to create a new MemStore.

func (*Config) IsValid

func (c *Config) IsValid() error

IsValid checks whether a Config is valid or not. Returns an error if the validation fails.

func (*Config) SetDefaults

func (c *Config) SetDefaults()

SetDefaults sets default values to the config.

type MemStore

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

MemStore is a simple implementation of MutableUserStore which holds all data in memory.

func New

func New(config *Config) (*MemStore, error)

New returns a new instance of MemStore with the given config. If config is nil, defaults will be used.

func (*MemStore) Channel

func (s *MemStore) Channel(channelId string) (*model.Channel, error)

func (*MemStore) ChannelMember

func (s *MemStore) ChannelMember(channelId, userId string) (model.ChannelMember, error)

func (*MemStore) ChannelMembers

func (s *MemStore) ChannelMembers(channelId string) (*model.ChannelMembers, error)

func (*MemStore) ChannelPosts

func (s *MemStore) ChannelPosts(channelId string) ([]*model.Post, error)

func (*MemStore) ChannelPostsSorted

func (s *MemStore) ChannelPostsSorted(channelId string, asc bool) ([]*model.Post, error)

func (*MemStore) ChannelView

func (s *MemStore) ChannelView(channelId string) (int64, error)

func (*MemStore) Channels

func (s *MemStore) Channels(teamId string) ([]model.Channel, error)

Channels return all the channels for a team.

func (*MemStore) Clear

func (s *MemStore) Clear()

Clear resets the store and removes all entries

func (*MemStore) Config

func (s *MemStore) Config() model.Config

func (*MemStore) CurrentChannel

func (s *MemStore) CurrentChannel() (*model.Channel, error)

func (*MemStore) CurrentTeam

func (s *MemStore) CurrentTeam() (*model.Team, error)

func (*MemStore) DeletePost

func (s *MemStore) DeletePost(postId string) error

func (*MemStore) DeleteReaction

func (s *MemStore) DeleteReaction(reaction *model.Reaction) (bool, error)

func (*MemStore) Email

func (s *MemStore) Email() string

func (*MemStore) FileInfoForPost

func (s *MemStore) FileInfoForPost(postId string) ([]*model.FileInfo, error)

func (*MemStore) GetUser

func (s *MemStore) GetUser(userId string) (model.User, error)

func (*MemStore) Id

func (s *MemStore) Id() string

func (*MemStore) Password

func (s *MemStore) Password() string

func (*MemStore) Post

func (s *MemStore) Post(postId string) (*model.Post, error)

func (*MemStore) PostsIdsSince

func (s *MemStore) PostsIdsSince(ts int64) ([]string, error)

func (*MemStore) Preferences

func (s *MemStore) Preferences() (model.Preferences, error)

func (*MemStore) ProfileImage

func (s *MemStore) ProfileImage(userId string) (bool, error)

ProfileImage returns whether the profile image for the given user has been stored.

func (*MemStore) RandomChannel

func (s *MemStore) RandomChannel(teamId string, st store.SelectionType) (model.Channel, error)

RandomChannel returns a random channel for the given teamId for the current user.

func (*MemStore) RandomChannelMember

func (s *MemStore) RandomChannelMember(channelId string) (model.ChannelMember, error)

RandomChannelMember returns a random channel member for a channel.

func (*MemStore) RandomEmoji

func (s *MemStore) RandomEmoji() (model.Emoji, error)

RandomEmoji returns a random emoji.

func (*MemStore) RandomPost

func (s *MemStore) RandomPost() (model.Post, error)

RandomPost returns a random post.

func (*MemStore) RandomPostForChannel

func (s *MemStore) RandomPostForChannel(channelId string) (model.Post, error)

RandomPostForChannel returns a random post for the given channel.

func (*MemStore) RandomPostForChannelByUser

func (s *MemStore) RandomPostForChannelByUser(channelId, userId string) (model.Post, error)

RandomPostForChannelForUser returns a random post for the given channel made by the given user.

func (*MemStore) RandomTeam

func (s *MemStore) RandomTeam(st store.SelectionType) (model.Team, error)

RandomTeam returns a random team for the current user.

func (*MemStore) RandomTeamMember

func (s *MemStore) RandomTeamMember(teamId string) (model.TeamMember, error)

RandomTeamMember returns a random team member for a team.

func (*MemStore) RandomUser

func (s *MemStore) RandomUser() (model.User, error)

RandomUser returns a random user from the set of users.

func (*MemStore) RandomUsers

func (s *MemStore) RandomUsers(n int) ([]model.User, error)

RandomUsers returns N random users from the set of users.

func (*MemStore) Reactions

func (s *MemStore) Reactions(postId string) ([]model.Reaction, error)

func (*MemStore) RemoveChannelMember

func (s *MemStore) RemoveChannelMember(channelId string, userId string) error

func (*MemStore) RemoveTeamMember

func (s *MemStore) RemoveTeamMember(teamId string, userId string) error

func (*MemStore) Roles

func (s *MemStore) Roles() ([]model.Role, error)

Roles return the roles of the user.

func (*MemStore) SetChannel

func (s *MemStore) SetChannel(channel *model.Channel) error

func (*MemStore) SetChannelMember

func (s *MemStore) SetChannelMember(channelId string, channelMember *model.ChannelMember) error

func (*MemStore) SetChannelMembers

func (s *MemStore) SetChannelMembers(channelMembers *model.ChannelMembers) error

SetChannelMembers stores the given channel members in the store.

func (*MemStore) SetChannelView

func (s *MemStore) SetChannelView(channelId string) error

func (*MemStore) SetChannels

func (s *MemStore) SetChannels(channels []*model.Channel) error

func (*MemStore) SetConfig

func (s *MemStore) SetConfig(config *model.Config)

func (*MemStore) SetCurrentChannel

func (s *MemStore) SetCurrentChannel(channel *model.Channel) error

func (*MemStore) SetCurrentTeam

func (s *MemStore) SetCurrentTeam(team *model.Team) error

func (*MemStore) SetEmojis

func (s *MemStore) SetEmojis(emoji []*model.Emoji) error

func (*MemStore) SetLicense

func (s *MemStore) SetLicense(license map[string]string) error

SetLicense stores the given license in the store.

func (*MemStore) SetPost

func (s *MemStore) SetPost(post *model.Post) error

func (*MemStore) SetPosts

func (s *MemStore) SetPosts(posts []*model.Post) error

func (*MemStore) SetPreferences

func (s *MemStore) SetPreferences(preferences *model.Preferences) error

func (*MemStore) SetProfileImage

func (s *MemStore) SetProfileImage(userId string) error

SetProfileImage sets as stored the profile image for the given user.

func (*MemStore) SetReaction

func (s *MemStore) SetReaction(reaction *model.Reaction) error

func (*MemStore) SetReactions

func (s *MemStore) SetReactions(postId string, reactions []*model.Reaction) error

func (*MemStore) SetRoles

func (s *MemStore) SetRoles(roles []*model.Role) error

SetRoles stores the given roles.

func (*MemStore) SetStatus

func (s *MemStore) SetStatus(userId string, status *model.Status) error

func (*MemStore) SetTeam

func (s *MemStore) SetTeam(team *model.Team) error

func (*MemStore) SetTeamMember

func (s *MemStore) SetTeamMember(teamId string, teamMember *model.TeamMember) error

func (*MemStore) SetTeamMembers

func (s *MemStore) SetTeamMembers(teamId string, teamMembers []*model.TeamMember) error

func (*MemStore) SetTeams

func (s *MemStore) SetTeams(teams []*model.Team) error

func (*MemStore) SetUser

func (s *MemStore) SetUser(user *model.User) error

func (*MemStore) SetUsers

func (s *MemStore) SetUsers(users []*model.User) error

func (*MemStore) Status

func (s *MemStore) Status(userId string) (model.Status, error)

func (*MemStore) Team

func (s *MemStore) Team(teamId string) (*model.Team, error)

func (*MemStore) TeamMember

func (s *MemStore) TeamMember(teamId, userId string) (model.TeamMember, error)

func (*MemStore) Teams

func (s *MemStore) Teams() ([]model.Team, error)

func (*MemStore) User

func (s *MemStore) User() (*model.User, error)

func (*MemStore) UserForPost

func (s *MemStore) UserForPost(postId string) (string, error)

func (*MemStore) Username

func (s *MemStore) Username() string

func (*MemStore) Users added in v1.10.0

func (s *MemStore) Users() ([]*model.User, error)

func (*MemStore) UsersIdsForPostsIds

func (s *MemStore) UsersIdsForPostsIds(postIds []string) ([]string, error)

Jump to

Keyboard shortcuts

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