mirror of
https://github.com/Walter-Sparrow/lunar-tear.git
synced 2026-07-02 13:53:41 +03:00
24 lines
542 B
Go
24 lines
542 B
Go
package store
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
)
|
|
|
|
var ErrNotFound = errors.New("store: not found")
|
|
|
|
type Clock func() time.Time
|
|
|
|
type UserRepository interface {
|
|
CreateUser(uuid string) (int64, error)
|
|
GetUserByUUID(uuid string) (int64, error)
|
|
LoadUser(userId int64) (UserState, error)
|
|
UpdateUser(userId int64, mutate func(*UserState)) (UserState, error)
|
|
DefaultUserId() (int64, error)
|
|
}
|
|
|
|
type SessionRepository interface {
|
|
CreateSession(uuid string, ttl time.Duration) (SessionState, error)
|
|
ResolveUserId(sessionKey string) (int64, error)
|
|
}
|