store

package
v0.0.0-...-e2863eb Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// user not found
	ErrUserNotFound = errors.New("user not found")
	// token not found
	ErrTokenNotFound = errors.New("token not found")
	// duplicated email address
	ErrDuplicateEmail = errors.New("user with a given email already exists")
	// duplicated Personal Access Token name
	ErrDuplicateTokenName = errors.New("Personal Access Token with a given name already exists")
	// etag doesn't match
	ErrETagMismatch = errors.New("ETag doesn't match")
)

Functions

This section is empty.

Types

type DataStore

type DataStore interface {
	// Ping the storage service - verifying network connection.
	Ping(ctx context.Context) error
	// CreateUser persists the user
	CreateUser(ctx context.Context, u *model.User) error
	// Update user information - password or/and email address and
	// returns the updated user
	UpdateUser(ctx context.Context, id string, u *model.UserUpdate) (*model.User, error)
	UpdateLoginTs(ctx context.Context, id string) error
	//GetUserByEmail returns nil,nil if not found
	GetUserByEmail(ctx context.Context, email model.Email) (*model.User, error)
	GetUserById(ctx context.Context, id string) (*model.User, error)
	GetUserAndPasswordById(ctx context.Context, id string) (*model.User, error)
	GetUsers(ctx context.Context, fltr model.UserFilter) ([]model.User, error)
	DeleteUser(ctx context.Context, id string) error
	SaveToken(ctx context.Context, token *jwt.Token) error
	GetTokenById(ctx context.Context, id oid.ObjectID) (*jwt.Token, error)
	DeleteToken(ctx context.Context, userID, tokenID oid.ObjectID) error
	EnsureSessionTokensLimit(ctx context.Context, userID oid.ObjectID, sessionsLimit int) error

	// deletes all tenant's tokens (identity in context)
	DeleteTokens(ctx context.Context) error

	GetPersonalAccessTokens(ctx context.Context, userID string) ([]model.PersonalAccessToken, error)
	UpdateTokenLastUsed(ctx context.Context, id oid.ObjectID) error
	CountPersonalAccessTokens(ctx context.Context, userID string) (int64, error)

	// deletes user tokens
	DeleteTokensByUserId(ctx context.Context, userId string) error
	DeleteTokensByUserIdExceptCurrentOne(
		ctx context.Context,
		userId string,
		tokenID oid.ObjectID,
	) error

	SaveSettings(ctx context.Context, s *model.Settings, etag string) error
	GetSettings(ctx context.Context) (*model.Settings, error)
	SaveUserSettings(ctx context.Context, userID string, s *model.Settings, etag string) error
	GetUserSettings(ctx context.Context, userID string) (*model.Settings, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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