mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-05 11:58:10 +00:00
04b8e9884b
removes the sqlite dependency for tests, also brings back the option for users to run zero persistence instances of tinyauth. adds new mapErr fn for sqlc wrapper gen to prevent sql errors from leaking out of the store implementation.
28 lines
788 B
Go
28 lines
788 B
Go
// Package memory provides an in-memory implementation of repository.Store for use in tests.
|
|
package memory
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/tinyauthapp/tinyauth/internal/repository"
|
|
)
|
|
|
|
// Store is a thread-safe in-memory implementation of repository.Store.
|
|
type Store struct {
|
|
mu sync.RWMutex
|
|
sessions map[string]repository.Session
|
|
oidcCodes map[string]repository.OidcCode
|
|
oidcTokens map[string]repository.OidcToken
|
|
oidcUsers map[string]repository.OidcUserinfo
|
|
}
|
|
|
|
// New returns a new empty in-memory Store.
|
|
func New() repository.Store {
|
|
return &Store{
|
|
sessions: make(map[string]repository.Session),
|
|
oidcCodes: make(map[string]repository.OidcCode),
|
|
oidcTokens: make(map[string]repository.OidcToken),
|
|
oidcUsers: make(map[string]repository.OidcUserinfo),
|
|
}
|
|
}
|