Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var StormCodec = storm.Codec(msgpack.Codec)
StormCodec is the format used to store data in the database.
Functions ¶
Types ¶
type Client ¶
type Client interface {
// Save inserts or updates the entry in database with the given model.
Save(m model.Model) error
// Delete deletes the entry in database with the given model.
Delete(m model.Model) error
// Close the database.
Close() error
// IsNotFound returns true if err is a not found error.
IsNotFound(err error) bool
// IsAlreadyExists returns true if err is a not found error.
IsAlreadyExists(err error) bool
UserInteraction
SessionInteraction
ItemInteraction
PKCEInteraction
}
A Client can interacts with the database.
type ItemInteraction ¶
type ItemInteraction interface {
// FindItem returns the item for the given id (UUID).
FindItem(id string) (*model.Item, error)
// FindItemByUserID returns the item for the given id and user id (UUID).
FindItemByUserID(id, userID string) (*model.Item, error)
// FindItemsByParams returns all the matching records for the given parameters.
// It also returns a boolean to true if there is more items than the given limit.
// limit equals to 0 means all items.
FindItemsByParams(userID, contentType string, updated time.Time, strictTime, filterDeleted bool, limit int) ([]*model.Item, bool, error)
// FindItemsForIntegrityCheck returns valid items for computing data signature forthe given user.
FindItemsForIntegrityCheck(userID string) ([]*model.Item, error)
// DeleteItem deletes the item matching the given parameters.
DeleteItem(id, userID string) error
}
An ItemInteraction defines all the methods used to interact with a item record(s).
type PKCEInteraction ¶ added in v0.7.0
type PKCEInteraction interface {
// FindPKCE returns the item for the given code.
FindPKCE(codeChallenge string) (*model.PKCE, error)
// RemovePKCE removes from database the given challenge code.
RemovePKCE(codeChallenge string) error
// RevokeExpiredChallenges removes from database all old challenge codes.
RevokeExpiredChallenges() error
}
A PKCEInteraction defines all the methods used to interact with PKCE mechanism.
type SessionInteraction ¶ added in v0.6.0
type SessionInteraction interface {
// FindSession returns the session for the given id (UUID).
FindSession(id string) (*model.Session, error)
// FindSessionsByUserID returns all sessions for the given id and user id.
FindSessionByUserID(id, userID string) (*model.Session, error)
// FindActiveSessionsByUserID returns all active sessions for the given user id.
FindActiveSessionsByUserID(userID string) ([]*model.Session, error)
// FindSessionsByUserID returns all sessions for the given user id.
FindSessionsByUserID(userID string) ([]*model.Session, error)
// FindSessionByAccessToken returns the session for the given id and access token.
FindSessionByAccessToken(id, token string) (*model.Session, error)
// FindSessionByTokens returns the session for the given id, access and refresh token.
FindSessionByTokens(id, access, refresh string) (*model.Session, error)
}
An SessionInteraction defines all the methods used to interact with a session record.
type UserInteraction ¶
type UserInteraction interface {
// FindUser returns the user for the given id (UUID).
FindUser(id string) (*model.User, error)
// FindUserByMail returns the user for the given email.
FindUserByMail(email string) (*model.User, error)
}
An UserInteraction defines all the methods used to interact with a user record.
Click to show internal directories.
Click to hide internal directories.