favorite

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2021 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InMemoryManager added in v1.14.0

type InMemoryManager struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

InMemoryManager implements the Manager interface to manage favorites using an in-memory storage. This should not be used in production but can be used for tests.

func NewInMemoryManager added in v1.14.0

func NewInMemoryManager() *InMemoryManager

NewInMemoryManager returns an instance of the in-memory favorites manager.

func (*InMemoryManager) ListFavorites added in v1.14.0

func (m *InMemoryManager) ListFavorites(ctx context.Context, userID *user.UserId) ([]*provider.ResourceId, error)

ListFavorites returns all resources that were favorited by a user.

func (*InMemoryManager) SetFavorite added in v1.14.0

func (m *InMemoryManager) SetFavorite(_ context.Context, userID *user.UserId, resourceID *provider.ResourceId) error

SetFavorite marks a resource as favorited by a user.

func (*InMemoryManager) UnsetFavorite added in v1.14.0

func (m *InMemoryManager) UnsetFavorite(_ context.Context, userID *user.UserId, resourceID *provider.ResourceId) error

UnsetFavorite unmarks a resource as favorited by a user.

type Manager

type Manager interface {
	// ListFavorites returns all resources that were favorited by a user.
	ListFavorites(ctx context.Context, userID *user.UserId) ([]*provider.ResourceId, error)
	// SetFavorite marks a resource as favorited by a user.
	SetFavorite(ctx context.Context, userID *user.UserId, resourceID *provider.ResourceId) error
	// UnsetFavorite unmarks a resource as favorited by a user.
	UnsetFavorite(ctx context.Context, userID *user.UserId, resourceID *provider.ResourceId) error
}

Manager defines an interface for a favorites manager.

Jump to

Keyboard shortcuts

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