store

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUsernameConflict is returned when a username already exists
	ErrUsernameConflict = errors.New("username already exists")

	// ErrRecordNotFound wraps GORM's not found error for consistency
	ErrRecordNotFound = errors.New("record not found")
)

Functions

func GetDialector added in v0.3.0

func GetDialector(driver, dsn string) (gorm.Dialector, error)

GetDialector returns a GORM dialector for the given driver name and DSN

func RegisterDriver added in v0.3.0

func RegisterDriver(name string, factory DriverFactory)

RegisterDriver allows registering custom database drivers

Types

type DriverFactory added in v0.3.0

type DriverFactory func(dsn string) gorm.Dialector

DriverFactory is a function that creates a gorm.Dialector

type Store

type Store struct {
	// contains filtered or unexported fields
}

func New

func New(driver, dsn string) (*Store, error)

func (*Store) CreateAccessToken

func (s *Store) CreateAccessToken(token *models.AccessToken) error

Access Token operations

func (*Store) CreateClient added in v0.2.0

func (s *Store) CreateClient(client *models.OAuthClient) error

func (*Store) CreateDeviceCode

func (s *Store) CreateDeviceCode(dc *models.DeviceCode) error

Device Code operations

func (*Store) DB added in v0.3.0

func (s *Store) DB() *gorm.DB

DB returns the underlying GORM database connection (for transactions)

func (*Store) DeleteClient added in v0.2.0

func (s *Store) DeleteClient(clientID string) error

func (*Store) DeleteDeviceCode

func (s *Store) DeleteDeviceCode(deviceCode string) error

func (*Store) DeleteExpiredDeviceCodes

func (s *Store) DeleteExpiredDeviceCodes() error

func (*Store) DeleteExpiredTokens

func (s *Store) DeleteExpiredTokens() error

func (*Store) GetAccessToken

func (s *Store) GetAccessToken(token string) (*models.AccessToken, error)

func (*Store) GetAccessTokenByID added in v0.2.0

func (s *Store) GetAccessTokenByID(tokenID string) (*models.AccessToken, error)

func (*Store) GetClient

func (s *Store) GetClient(clientID string) (*models.OAuthClient, error)

OAuth Client operations

func (*Store) GetClientsByIDs added in v0.2.0

func (s *Store) GetClientsByIDs(clientIDs []string) (map[string]*models.OAuthClient, error)

func (*Store) GetDeviceCode

func (s *Store) GetDeviceCode(deviceCode string) (*models.DeviceCode, error)

func (*Store) GetDeviceCodeByUserCode

func (s *Store) GetDeviceCodeByUserCode(userCode string) (*models.DeviceCode, error)

func (*Store) GetTokensByCategoryAndStatus added in v0.3.0

func (s *Store) GetTokensByCategoryAndStatus(
	userID, category, status string,
) ([]models.AccessToken, error)

GetTokensByCategoryAndStatus returns tokens filtered by category and status

func (*Store) GetTokensByUserID added in v0.2.0

func (s *Store) GetTokensByUserID(userID string) ([]models.AccessToken, error)

func (*Store) GetUserByExternalID added in v0.3.0

func (s *Store) GetUserByExternalID(externalID, authSource string) (*models.User, error)

GetUserByExternalID finds a user by their external ID and auth source

func (*Store) GetUserByID

func (s *Store) GetUserByID(id string) (*models.User, error)

func (*Store) GetUserByUsername

func (s *Store) GetUserByUsername(username string) (*models.User, error)

User operations

func (*Store) Health

func (s *Store) Health() error

Health checks the database connection

func (*Store) ListClients added in v0.2.0

func (s *Store) ListClients() ([]models.OAuthClient, error)

func (*Store) RevokeToken added in v0.2.0

func (s *Store) RevokeToken(tokenID string) error

func (*Store) RevokeTokensByClientID added in v0.2.0

func (s *Store) RevokeTokensByClientID(clientID string) error

func (*Store) RevokeTokensByUserID added in v0.2.0

func (s *Store) RevokeTokensByUserID(userID string) error

func (*Store) UpdateClient added in v0.2.0

func (s *Store) UpdateClient(client *models.OAuthClient) error

func (*Store) UpdateDeviceCode

func (s *Store) UpdateDeviceCode(dc *models.DeviceCode) error

func (*Store) UpdateTokenStatus added in v0.3.0

func (s *Store) UpdateTokenStatus(tokenID, status string) error

UpdateTokenStatus updates the status of a token

func (*Store) UpsertExternalUser added in v0.3.0

func (s *Store) UpsertExternalUser(
	username, externalID, authSource, email, fullName string,
) (*models.User, error)

UpsertExternalUser creates or updates a user from external authentication

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL