Documentation
¶
Index ¶
- type Leaderboard
- func (lb *Leaderboard) AddToLeaderboardSet(redisCli *util.RedisClient, memberID string, score int) (int, error)
- func (lb *Leaderboard) GetAroundMe(memberID string, order string) ([]*Member, error)
- func (lb *Leaderboard) GetLeaders(page int, order string) ([]*Member, error)
- func (lb *Leaderboard) GetMember(memberID string, order string) (*Member, error)
- func (lb *Leaderboard) GetMembers(memberIDs []string, order string) ([]*Member, error)
- func (lb *Leaderboard) GetRank(memberID string, order string) (int, error)
- func (lb *Leaderboard) GetTopPercentage(amount, maxMembers int, order string) ([]*Member, error)
- func (lb *Leaderboard) RemoveLeaderboard() error
- func (lb *Leaderboard) RemoveMember(memberID string) error
- func (lb *Leaderboard) RemoveMembers(memberIDs []interface{}) error
- func (lb *Leaderboard) SetMemberScore(memberID string, score int) (*Member, error)
- func (lb *Leaderboard) TotalMembers() (int, error)
- func (lb *Leaderboard) TotalPages() (int, error)
- type Member
- type MemberNotFoundError
- type Members
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Leaderboard ¶
type Leaderboard struct { Logger zap.Logger RedisClient *util.RedisClient PublicID string PageSize int }
Leaderboard identifies a leaderboard with given redis client
func NewLeaderboard ¶
func NewLeaderboard(redisClient *util.RedisClient, publicID string, pageSize int, logger zap.Logger) *Leaderboard
NewLeaderboard creates a new Leaderboard with given settings, ID and pageSize
func (*Leaderboard) AddToLeaderboardSet ¶
func (lb *Leaderboard) AddToLeaderboardSet(redisCli *util.RedisClient, memberID string, score int) (int, error)
AddToLeaderboardSet adds a score to a leaderboard set respecting expiration
func (*Leaderboard) GetAroundMe ¶
func (lb *Leaderboard) GetAroundMe(memberID string, order string) ([]*Member, error)
GetAroundMe returns a page of results centered in the member with the given ID
func (*Leaderboard) GetLeaders ¶
func (lb *Leaderboard) GetLeaders(page int, order string) ([]*Member, error)
GetLeaders returns a page of members with rank and score
func (*Leaderboard) GetMember ¶
func (lb *Leaderboard) GetMember(memberID string, order string) (*Member, error)
GetMember returns the score and the rank of the member with the given ID
func (*Leaderboard) GetMembers ¶
func (lb *Leaderboard) GetMembers(memberIDs []string, order string) ([]*Member, error)
GetMembers returns the score and the rank of the members with the given IDs
func (*Leaderboard) GetRank ¶
func (lb *Leaderboard) GetRank(memberID string, order string) (int, error)
GetRank returns the rank of the member with the given ID
func (*Leaderboard) GetTopPercentage ¶
func (lb *Leaderboard) GetTopPercentage(amount, maxMembers int, order string) ([]*Member, error)
GetTopPercentage of members in the leaderboard.
func (*Leaderboard) RemoveLeaderboard ¶
func (lb *Leaderboard) RemoveLeaderboard() error
RemoveLeaderboard removes a leaderboard from redis
func (*Leaderboard) RemoveMember ¶
func (lb *Leaderboard) RemoveMember(memberID string) error
RemoveMember removes the member with the given publicID from the leaderboard
func (*Leaderboard) RemoveMembers ¶
func (lb *Leaderboard) RemoveMembers(memberIDs []interface{}) error
RemoveMember removes the member with the given publicID from the leaderboard
func (*Leaderboard) SetMemberScore ¶
func (lb *Leaderboard) SetMemberScore(memberID string, score int) (*Member, error)
SetMemberScore sets the score to the member with the given ID
func (*Leaderboard) TotalMembers ¶
func (lb *Leaderboard) TotalMembers() (int, error)
TotalMembers returns the total number of members in a given leaderboard
func (*Leaderboard) TotalPages ¶
func (lb *Leaderboard) TotalPages() (int, error)
TotalPages returns the number of pages of the leaderboard
type MemberNotFoundError ¶
MemberNotFoundError indicates member was not found in Redis
func NewMemberNotFound ¶
func NewMemberNotFound(leaderboardID, memberID string) *MemberNotFoundError
NewMemberNotFound returns a new error for member not found
func (*MemberNotFoundError) Error ¶
func (e *MemberNotFoundError) Error() string