Documentation ¶
Index ¶
- Variables
- type Credentials
- type Handler
- type Repo
- func (r Repo) DeleteToken(id uuid.UUID) error
- func (r Repo) DeleteTokenByUser(user string) error
- func (r Repo) FindTokenByUser(user string) (*Token, error)
- func (r Repo) SaveToken(token *Token) error
- func (r Repo) TokenById(id uuid.UUID) (*Token, error)
- func (r Repo) User(name string) (*User, error)
- type Repository
- type SessionInteractor
- type Token
- type TokenRepository
- type User
- type UserRepository
- type VerifyInteractor
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUserNotFound = errors.New("user not found") ErrTokenNotFound = errors.New("token not found") ErrTokenNotCreated = errors.New("token not created") ErrTokenNotDeleted = errors.New("token not deleted") ErrEmptyName = errors.New("username cannot be empty") ErrTokenExpired = errors.New("token expired") )
Functions ¶
This section is empty.
Types ¶
type Credentials ¶
type Handler ¶
type Handler interface { Login(w http.ResponseWriter, r *http.Request) Logout(w http.ResponseWriter, r *http.Request) }
func NewHandlers ¶
func NewHandlers(vi VerifyInteractor, si SessionInteractor) Handler
type Repo ¶
type Repo struct {
// contains filtered or unexported fields
}
func NewSQLRepository ¶
func NewSQLRepository(db sqlutil.SQLDatabase) *Repo
func (Repo) DeleteTokenByUser ¶
type Repository ¶
type Repository interface { UserRepository TokenRepository }
type SessionInteractor ¶
type SessionInteractor interface { StartSession(w http.ResponseWriter, user string) error DeleteSession(w http.ResponseWriter, r *http.Request) error AuthMiddleware(next http.Handler) http.Handler }
func NewSessionInteractor ¶
func NewSessionInteractor(tokenRepo TokenRepository, expires time.Duration) SessionInteractor
type TokenRepository ¶
type UserRepository ¶
type VerifyInteractor ¶
func NewArgon2VerifyInteractor ¶
func NewArgon2VerifyInteractor(userRepo UserRepository) VerifyInteractor
Click to show internal directories.
Click to hide internal directories.