Documentation
¶
Index ¶
- func New() func(gas.DatabaseProvider, gas.Logger, gas.MigrationManager) *Store
- type Store
- func (s *Store) ConsumeTokenByHash(ctx context.Context, tokenHash string) (*TokenRecord, error)
- func (s *Store) DeleteExpiredTokens(ctx context.Context, before time.Time) (int64, error)
- func (s *Store) DeleteTokenByHash(ctx context.Context, tokenHash string) (int64, error)
- func (s *Store) DeleteTokensBySubjectPurpose(ctx context.Context, subject, purpose string) error
- func (s *Store) Init(serviceName string) error
- func (s *Store) InsertToken(ctx context.Context, id, subject, tokenHash, purpose string, ...) error
- type TokenRecord
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New() func(gas.DatabaseProvider, gas.Logger, gas.MigrationManager) *Store
New returns a DI-injectable constructor for Store.
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store is a database-backed token store. It delegates to sqlc-generated queries and selects the correct dialect adapter at init time.
func (*Store) ConsumeTokenByHash ¶
ConsumeTokenByHash atomically fetches and deletes a token by its hash, returning the record of the deleted row. Returns (nil, nil) if the token does not exist or was consumed concurrently by another caller.
func (*Store) DeleteExpiredTokens ¶
DeleteExpiredTokens deletes tokens that expired before the given time.
func (*Store) DeleteTokenByHash ¶
DeleteTokenByHash deletes a token by its hash and returns rows affected.
func (*Store) DeleteTokensBySubjectPurpose ¶
DeleteTokensBySubjectPurpose deletes all tokens for a subject with a given purpose.
Click to show internal directories.
Click to hide internal directories.