Documentation
¶
Index ¶
- Constants
- Variables
- func IsUniqueViolation(err error, constraint string) bool
- func NormalizeUsername(u string) string
- type Config
- type Store
- func (s *Store) ConsumeRefreshToken(ctx context.Context, tokenID uuid.UUID, consumedAt time.Time) error
- func (s *Store) CreateAuthProvider(ctx context.Context, provider domain.AuthProvider) (domain.AuthProvider, error)
- func (s *Store) CreateRefreshToken(ctx context.Context, token domain.RefreshToken) error
- func (s *Store) CreateSession(ctx context.Context, session domain.Session) (domain.Session, error)
- func (s *Store) CreateUser(ctx context.Context, user domain.User) (domain.User, error)
- func (s *Store) CurrentSchemaVersion(ctx context.Context) (int, error)
- func (s *Store) DB() *gorm.DB
- func (s *Store) DeleteExpiredRefreshTokens(ctx context.Context, now time.Time) error
- func (s *Store) DeleteExpiredSessions(ctx context.Context, now time.Time) error
- func (s *Store) DeleteRefreshTokensBySession(ctx context.Context, sessionID uuid.UUID) error
- func (s *Store) DeleteUser(ctx context.Context, userID uuid.UUID) error
- func (s *Store) DisableUser(ctx context.Context, userID uuid.UUID, disabledAt time.Time) error
- func (s *Store) GetAuthProviderByMethodAndUserID(ctx context.Context, provider domain.Provider, userID uuid.UUID) (domain.AuthProvider, error)
- func (s *Store) GetAuthProviderByProviderAndProviderUserID(ctx context.Context, provider domain.Provider, providerUserID string) (domain.AuthProvider, error)
- func (s *Store) GetRefreshTokenByHash(ctx context.Context, hash string) (domain.RefreshToken, error)
- func (s *Store) GetSessionByID(ctx context.Context, sessionID uuid.UUID) (domain.Session, error)
- func (s *Store) GetUserByEmail(ctx context.Context, email string) (domain.User, error)
- func (s *Store) GetUserByID(ctx context.Context, userID uuid.UUID) (domain.User, error)
- func (s *Store) IsUserAdmin(ctx context.Context, userID uuid.UUID) (bool, error)
- func (s *Store) IsUserDisabled(ctx context.Context, userID uuid.UUID) (bool, error)
- func (s *Store) Ping(ctx context.Context) error
- func (s *Store) RevokeAllSessionsForUser(ctx context.Context, userID uuid.UUID, revokedAt time.Time) error
- func (s *Store) RevokeSession(ctx context.Context, sessionID uuid.UUID, revokedAt time.Time) error
- func (s *Store) UpdateUsername(ctx context.Context, userID uuid.UUID, username string) error
- func (s *Store) UserExistsByEmail(ctx context.Context, email string) (bool, error)
Constants ¶
View Source
const ( TxKey contextKey = "store.tx.state" DbKey contextKey = "store.tx.db" )
View Source
const ( ConstraintUserEmail = "unique_user_email" ConstraintUserUsername = "unique_user_username" )
Variables ¶
Functions ¶
func IsUniqueViolation ¶
func NormalizeUsername ¶
Types ¶
type Config ¶
type Config struct {
Host string
Port int
Username string
Password string
Database string
Timezone string
Schema string
LogSql bool
MaxOpenConns int
MaxIdleConns int
ConnMaxLifetime time.Duration
ConnMaxIdleTime time.Duration
}
Config is the configuration for the database.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) ConsumeRefreshToken ¶
func (*Store) CreateAuthProvider ¶
func (s *Store) CreateAuthProvider(ctx context.Context, provider domain.AuthProvider) (domain.AuthProvider, error)
func (*Store) CreateRefreshToken ¶
func (*Store) CreateSession ¶
func (*Store) CreateUser ¶
func (*Store) CurrentSchemaVersion ¶
func (*Store) DeleteExpiredRefreshTokens ¶
func (*Store) DeleteExpiredSessions ¶
func (*Store) DeleteRefreshTokensBySession ¶
func (*Store) DisableUser ¶
func (*Store) GetAuthProviderByMethodAndUserID ¶
func (*Store) GetAuthProviderByProviderAndProviderUserID ¶
func (*Store) GetRefreshTokenByHash ¶
func (*Store) GetSessionByID ¶
func (*Store) GetUserByEmail ¶
func (*Store) GetUserByID ¶
func (*Store) IsUserAdmin ¶
func (*Store) IsUserDisabled ¶
func (*Store) RevokeAllSessionsForUser ¶
func (*Store) RevokeSession ¶
func (*Store) UpdateUsername ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.