Releases: faroedev/faroe
Releases · faroedev/faroe
v0.5.1
v0.5.0
Overview
- Simplified storage.
New storage interface
Main storage, rate limit storage, and cache has been unified into a single storage. The mainStorage
, rateLimitStorage
, and cache
parameters of NewSever()
has been replaced by a single storage
parameter. The MainStorageInterface
, RateLimitStorage
, and CacheInterface
has been replaced by StorageInterface
.
The new StorageInterface
has a similar API to the previous MainStorageInterface
, but with the errors replaced and the Set()
method replaced by an Add()
method.
type StorageInterface interface {
Get(key string) ([]byte, int32, error)
Add(key string, value []byte, expiresAt time.Time) error
Update(key string, value []byte, expiresAt time.Time, counter int32) error
Delete(key string) error
}
Note all existing data will be invalid.
Pull requests
v0.4.0
Overview
- Using a user server is now optional.
New UserStoreInterface
interface
NewServer()
takes an UserStoreInterface
. This gives you the option to handle user operations directly in the server instead of relying on a separate user server.
type UserStoreInterface interface {
CreateUser(emailAddress string, passwordHash []byte, passwordHashAlgorithmId string, passwordSalt []byte) (UserStruct, error)
GetUser(userId string) (UserStruct, error)
GetUserByEmailAddress(emailAddress string) (UserStruct, error)
UpdateUserEmailAddress(userId string, emailAddress string, userEmailAddressCounter int32) error
UpdateUserPasswordHash(userId string, passwordHash []byte, passwordHashAlgorithmId string, passwordSalt []byte, userPasswordHashCounter int32) error
IncrementUserSessionsCounter(userId string, userSessionsCounter int32) error
DeleteUser(userId string) error
}
You can use NewUserServerClient()
to continue using a user server.
// Implements UserStoreInterface.
userServerClient := faroe.NewUserServerClient()
All Changes
v0.3.0
Initial release!