Skip to main content

Auth

Workspace API


Workspace API / models/Auth

models/Auth

Functions

createRefreshToken()

createRefreshToken(__namedParameters): Promise<RefreshToken>

Defined in: models/Auth.ts:9

Create a refresh token

Parameters

__namedParameters
userId

string

tokenHash

string

expiresAt

Date

userAgent?

string

ipAddress?

string

Returns

Promise<RefreshToken>


rotateRefreshToken()

rotateRefreshToken(__namedParameters): Promise<{ success: boolean; newToken?: RefreshToken; error?: string; }>

Defined in: models/Auth.ts:39

Atomically rotate a refresh token Uses a transaction with row-level locking to prevent race conditions when multiple refresh requests happen simultaneously

Parameters

__namedParameters
oldTokenHash

string

newTokenHash

string

userId

string

expiresAt

Date

userAgent?

string

ipAddress?

string

Returns

Promise<{ success: boolean; newToken?: RefreshToken; error?: string; }>


findRefreshTokenByHash()

findRefreshTokenByHash(tokenHash): Promise<RefreshToken | null>

Defined in: models/Auth.ts:162

Find refresh token by hash

Parameters

tokenHash

string

Returns

Promise<RefreshToken | null>


revokeRefreshToken()

revokeRefreshToken(tokenHash): Promise<boolean>

Defined in: models/Auth.ts:174

Revoke refresh token

Parameters

tokenHash

string

Returns

Promise<boolean>


updateRefreshTokenLastUsed()

updateRefreshTokenLastUsed(tokenHash): Promise<void>

Defined in: models/Auth.ts:186

Update refresh token last used timestamp

Parameters

tokenHash

string

Returns

Promise<void>


cleanupExpiredRefreshTokens()

cleanupExpiredRefreshTokens(): Promise<number>

Defined in: models/Auth.ts:195

Clean up expired refresh tokens

Returns

Promise<number>


createUserSession()

createUserSession(__namedParameters): Promise<UserSession>

Defined in: models/Auth.ts:208

Create a user session

Parameters

__namedParameters
userId

string

organizationId?

string

sessionToken

string

expiresAt

Date

userAgent?

string

ipAddress?

string

Returns

Promise<UserSession>


findUserSessionByToken()

findUserSessionByToken(sessionToken): Promise<UserSession | null>

Defined in: models/Auth.ts:238

Find user session by token

Parameters

sessionToken

string

Returns

Promise<UserSession | null>


updateSessionLastActivity()

updateSessionLastActivity(userId): Promise<void>

Defined in: models/Auth.ts:252

Update session last activity

Parameters

userId

string

Returns

Promise<void>


deactivateAllUserSessions()

deactivateAllUserSessions(userId): Promise<number>

Defined in: models/Auth.ts:264

Deactivate all user sessions

Parameters

userId

string

Returns

Promise<number>


cleanupExpiredSessions()

cleanupExpiredSessions(): Promise<number>

Defined in: models/Auth.ts:276

Clean up expired sessions

Returns

Promise<number>


upsertMfaCode()

upsertMfaCode(__namedParameters): Promise<void>

Defined in: models/Auth.ts:290

Create or update MFA code

Parameters

__namedParameters
userId

string

code

string

expiresAt

Date

Returns

Promise<void>


findMfaCodeByUserId()

findMfaCodeByUserId(userId): Promise<MfaCode | null>

Defined in: models/Auth.ts:316

Find MFA code by user ID

Parameters

userId

string

Returns

Promise<MfaCode | null>


incrementMfaCodeAttempts()

incrementMfaCodeAttempts(userId): Promise<void>

Defined in: models/Auth.ts:327

Increment MFA code attempts

Parameters

userId

string

Returns

Promise<void>


markMfaCodeAsUsed()

markMfaCodeAsUsed(userId): Promise<void>

Defined in: models/Auth.ts:334

Mark MFA code as used

Parameters

userId

string

Returns

Promise<void>


cleanupExpiredMfaCodes()

cleanupExpiredMfaCodes(): Promise<number>

Defined in: models/Auth.ts:341

Clean up expired MFA codes

Returns

Promise<number>


generateSessionToken()

generateSessionToken(): string

Defined in: models/Auth.ts:350

Generate a secure session token

Returns

string


generateSecureToken()

generateSecureToken(): string

Defined in: models/Auth.ts:357

Generate a secure token (for MFA bypass)

Returns

string


hashToken()

hashToken(token): string

Defined in: models/Auth.ts:364

Hash a token for storage

Parameters

token

string

Returns

string


generateMfaCode()

generateMfaCode(): string

Defined in: models/Auth.ts:371

Generate a 6-digit MFA code

Returns

string


verifyMfaCode()

verifyMfaCode(__namedParameters): Promise<{ valid: boolean; user?: any; message?: string; }>

Defined in: models/Auth.ts:378

Verify MFA code

Parameters

__namedParameters
email

string

code

string

Returns

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


upsertMfaBypassToken()

upsertMfaBypassToken(__namedParameters): Promise<void>

Defined in: models/Auth.ts:422

Create or update MFA bypass token

Parameters

__namedParameters
userId

string

tokenHash

string

deviceFingerprint

string

expiresAt

Date

Returns

Promise<void>


findMfaBypassToken()

findMfaBypassToken(tokenHash): Promise<{ user_id: string; device_fingerprint: string; expires_at: Date; } | null>

Defined in: models/Auth.ts:450

Find MFA bypass token by hash

Parameters

tokenHash

string

Returns

Promise<{ user_id: string; device_fingerprint: string; expires_at: Date; } | null>


updateMfaBypassTokenLastUsed()

updateMfaBypassTokenLastUsed(tokenHash): Promise<void>

Defined in: models/Auth.ts:471

Update MFA bypass token last used timestamp

Parameters

tokenHash

string

Returns

Promise<void>


cleanupExpiredMfaBypassTokens()

cleanupExpiredMfaBypassTokens(): Promise<number>

Defined in: models/Auth.ts:483

Clean up expired MFA bypass tokens

Returns

Promise<number>


revokeAllMfaBypassTokens()

revokeAllMfaBypassTokens(userId): Promise<number>

Defined in: models/Auth.ts:495

Revoke all MFA bypass tokens for a user

Parameters

userId

string

Returns

Promise<number>


cleanupExpiredAuthData()

cleanupExpiredAuthData(): Promise<{ refreshTokens: number; sessions: number; mfaCodes: number; mfaBypassTokens: number; }>

Defined in: models/Auth.ts:506

Clean up all expired authentication data

Returns

Promise<{ refreshTokens: number; sessions: number; mfaCodes: number; mfaBypassTokens: number; }>