Fix bug with provisioned token removal

This commit is contained in:
binwiederhier
2026-02-22 20:28:37 -05:00
parent 43280fbc0a
commit 850a9d4cc4
3 changed files with 60 additions and 1 deletions

View File

@@ -44,6 +44,7 @@ type Store interface {
ChangeTokenExpiry(userID, token string, expires time.Time) error
UpdateTokenLastAccess(token string, lastAccess time.Time, lastOrigin netip.Addr) error
RemoveToken(userID, token string) error
RemoveProvisionedToken(token string) error
RemoveExpiredTokens() error
TokenCount(userID string) (int, error)
RemoveExcessTokens(userID string, maxCount int) error
@@ -538,6 +539,17 @@ func (s *commonStore) RemoveToken(userID, token string) error {
return nil
}
// RemoveProvisionedToken deletes a provisioned token by value, regardless of user
func (s *commonStore) RemoveProvisionedToken(token string) error {
if token == "" {
return errNoTokenProvided
}
if _, err := s.db.Exec(s.queries.deleteProvisionedToken, token); err != nil {
return err
}
return nil
}
// RemoveExpiredTokens deletes all expired tokens from the database
func (s *commonStore) RemoveExpiredTokens() error {
if _, err := s.db.Exec(s.queries.deleteExpiredTokens, time.Now().Unix()); err != nil {