Skip to main content

Users

Workspace API


Workspace API / models/Users

models/Users

Functions

createUser()

createUser(__namedParameters, client?): Promise<User>

Defined in: models/Users.ts:25

Create a new user with hashed password

Parameters

__namedParameters

CreateUserData

client?

any

Returns

Promise<User>


findByEmail()

findByEmail(email): Promise<User | null>

Defined in: models/Users.ts:67

Find user by email

Parameters

email

string

Returns

Promise<User | null>


findById()

findById(userId, log): Promise<User | null>

Defined in: models/Users.ts:82

Find user by ID

Parameters

userId

string

log

Logger = logger

Returns

Promise<User | null>


findByIdWithPassword()

findByIdWithPassword(userId): Promise<User | null>

Defined in: models/Users.ts:112

Find user by ID with password hash (for authentication)

Parameters

userId

string

Returns

Promise<User | null>


findByEmailWithPassword()

findByEmailWithPassword(email): Promise<User | null>

Defined in: models/Users.ts:127

Find user by email with password hash (for authentication)

Parameters

email

string

Returns

Promise<User | null>


updateUser()

updateUser(userId, updateData): Promise<User | null>

Defined in: models/Users.ts:142

Update user information

Parameters

userId

string

updateData

UpdateUserData

Returns

Promise<User | null>


updatePassword()

updatePassword(userId, newPassword): Promise<boolean>

Defined in: models/Users.ts:201

Update user password

Parameters

userId

string

newPassword

string

Returns

Promise<boolean>


verifyPassword()

verifyPassword(email, password): Promise<{ valid: boolean; user?: User; }>

Defined in: models/Users.ts:217

Verify user password

Parameters

email

string

password

string

Returns

Promise<{ valid: boolean; user?: User; }>


validatePassword()

validatePassword(password): PasswordValidation

Defined in: models/Users.ts:242

Validate password strength

Parameters

password

string

Returns

PasswordValidation


isAccountLocked()

isAccountLocked(email): boolean

Defined in: models/Users.ts:261

Check if account is locked due to failed attempts

Parameters

email

string

Returns

boolean


recordFailedAttempt()

recordFailedAttempt(email): void

Defined in: models/Users.ts:279

Record a failed login attempt

Parameters

email

string

Returns

void


clearFailedAttempts()

clearFailedAttempts(email): void

Defined in: models/Users.ts:289

Clear failed login attempts for an email

Parameters

email

string

Returns

void


getFailedAttemptCount()

getFailedAttemptCount(email): number

Defined in: models/Users.ts:296

Get failed attempt count for an email

Parameters

email

string

Returns

number


isEmailInUse()

isEmailInUse(email): Promise<boolean>

Defined in: models/Users.ts:304

Check if email is already in use

Parameters

email

string

Returns

Promise<boolean>


getUsers()

getUsers(filters): Promise<{ users: User[]; total: number; }>

Defined in: models/Users.ts:312

Get users with filters and pagination

Parameters

filters

UserFilters = {}

Returns

Promise<{ users: User[]; total: number; }>


deleteUser()

deleteUser(userId): Promise<boolean>

Defined in: models/Users.ts:357

Delete user (soft delete by setting status to inactive)

Parameters

userId

string

Returns

Promise<boolean>


permanentlyDeleteUser()

permanentlyDeleteUser(userId): Promise<boolean>

Defined in: models/Users.ts:371

Permanently delete user (hard delete)

Parameters

userId

string

Returns

Promise<boolean>


getUserStats()

getUserStats(): Promise<{ total: number; active: number; inactive: number; suspended: number; pending: number; }>

Defined in: models/Users.ts:379

Get user statistics

Returns

Promise<{ total: number; active: number; inactive: number; suspended: number; pending: number; }>


updateLastLogin()

updateLastLogin(userId): Promise<void>

Defined in: models/Users.ts:414

Update last login timestamp

Parameters

userId

string

Returns

Promise<void>


generateUserId()

generateUserId(): string

Defined in: models/Users.ts:426

Generate a secure user ID

Returns

string


getUserFullName()

getUserFullName(user): string

Defined in: models/Users.ts:433

Get user's full name

Parameters

user

User

Returns

string


isUserActive()

isUserActive(user): boolean

Defined in: models/Users.ts:441

Check if user is active

Parameters

user

User

Returns

boolean


generatePasswordResetToken()

generatePasswordResetToken(email): Promise<{ success: boolean; token?: string; message?: string; }>

Defined in: models/Users.ts:448

Generate password reset token for user

Parameters

email

string

Returns

Promise<{ success: boolean; token?: string; message?: string; }>


verifyPasswordResetToken()

verifyPasswordResetToken(token): Promise<{ valid: boolean; user?: User; message?: string; }>

Defined in: models/Users.ts:482

Verify password reset token

Parameters

token

string

Returns

Promise<{ valid: boolean; user?: User; message?: string; }>


resetPasswordWithToken()

resetPasswordWithToken(token, newPassword): Promise<{ success: boolean; message?: string; }>

Defined in: models/Users.ts:513

Reset user password using reset token

Parameters

token

string

newPassword

string

Returns

Promise<{ success: boolean; message?: string; }>


clearPasswordResetToken()

clearPasswordResetToken(userId): Promise<boolean>

Defined in: models/Users.ts:553

Clear password reset token (for cleanup)

Parameters

userId

string

Returns

Promise<boolean>


sanitizeUser()

sanitizeUser(user): Omit<User, "password_hash">

Defined in: models/Users.ts:571

Sanitize user data (remove sensitive fields)

Parameters

user

User

Returns

Omit<User, "password_hash">


generateEmailVerificationToken()

generateEmailVerificationToken(email): Promise<{ success: boolean; token?: string; message?: string; }>

Defined in: models/Users.ts:579

Generate email verification token for user

Parameters

email

string

Returns

Promise<{ success: boolean; token?: string; message?: string; }>


verifyEmailWithToken()

verifyEmailWithToken(token): Promise<{ success: boolean; message?: string; }>

Defined in: models/Users.ts:612

Verify email using verification token

Parameters

token

string

Returns

Promise<{ success: boolean; message?: string; }>


isEmailVerified()

isEmailVerified(email): Promise<boolean>

Defined in: models/Users.ts:659

Check if user's email is verified

Parameters

email

string

Returns

Promise<boolean>

References

User

Re-exports User