Tencent/WeKnora · error
user already exists
Error message
user already exists
What it means
Sentinel ErrUserAlreadyExists returned by user creation/registration when a user with the same unique key (id, email, or username) already exists — a duplicate-account guard, typically surfaced as 409 to clients.
Source
Thrown at internal/application/repository/user.go:15
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 {View on GitHub (pinned to 988cbb0330)
Solutions
- Use a different email/username, or sign in to the existing account
- If this is account recovery, route to the existing account instead of creating a new one
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at internal/application/repository/user.go:15 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/14f8128f0c6bb9e9.
Report an issue: GitHub.