Tencent/WeKnora · error
token not found
Error message
token not found
What it means
Sentinel ErrTokenNotFound returned by GetTokenByValue when no token row matches the given value (gorm.ErrRecordNotFound mapped) — the token is unknown, expired-and-purged, or fabricated. Used in auth flows to reject bad credentials.
Source
Thrown at internal/application/repository/user.go:16
package repository
import (
"context"
"errors"
"github.com/Tencent/WeKnora/internal/types"
"github.com/Tencent/WeKnora/internal/types/interfaces"
"gorm.io/gorm"
"gorm.io/gorm/clause"
)
var (
ErrUserNotFound = errors.New("user not found")
ErrUserAlreadyExists = errors.New("user already exists")
ErrTokenNotFound = errors.New("token not found")
ErrCannotRevokeSelf = errors.New("cannot revoke your own system admin privileges")
ErrLastSystemAdmin = errors.New("cannot revoke the last remaining system administrator")
ErrUserNotSystemAdmin = errors.New("user is not a system administrator")
)
// userRepository implements user repository interface
type userRepository struct {
db *gorm.DB
}
// NewUserRepository creates a new user repository
func NewUserRepository(db *gorm.DB) interfaces.UserRepository {
return &userRepository{db: db}
}
// CreateUser creates a user
func (r *userRepository) CreateUser(ctx context.Context, user *types.User) error {
// users.tenant_id is nullable in both PostgreSQL and SQLite. GORM wouldView on GitHub (pinned to 988cbb0330)
Solutions
- Reject the credential (401/404) and require re-authentication
- Do not retry the same token; verify the client stored the correct value
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at internal/application/repository/user.go:16 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/6e859d47c5b70d7d.
Report an issue: GitHub.