Skip to main content

AuthService

@adamondo/backend


@adamondo/backend / application/services/AuthService

application/services/AuthService

Classes

AuthService

Defined in: src/application/services/AuthService.ts:26

Handles authentication, credential flows, and account lifecycle updates.

Constructors

Constructor

new AuthService(uow): AuthService

Defined in: src/application/services/AuthService.ts:27

Parameters
uow

UnitOfWork

Returns

AuthService

Methods

verifyEmailToken()

verifyEmailToken(email, token): Promise<"confirmed" | "notAvailable">

Defined in: src/application/services/AuthService.ts:32

Validates email confirmation token and marks email as confirmed when valid.

Parameters
email

string

token

string

Returns

Promise<"confirmed" | "notAvailable">

resendConfirmEmail()

resendConfirmEmail(userId, email): Promise<"error" | "success">

Defined in: src/application/services/AuthService.ts:52

Gets or creates a confirmation token for resending email verification.

Parameters
userId

string

email

string

Returns

Promise<"error" | "success">

getResendConfirmEmailData()

getResendConfirmEmailData(userId, email): Promise<{ status: "error" | "success"; token: string; name: string; }>

Defined in: src/application/services/AuthService.ts:70

Parameters
userId

string

email

string

Returns

Promise<{ status: "error" | "success"; token: string; name: string; }>

verifyForgotPasswordToken()

verifyForgotPasswordToken(email, token): Promise<boolean>

Defined in: src/application/services/AuthService.ts:93

Parameters
email

string

token

string

Returns

Promise<boolean>

getUserAccount()

getUserAccount(userId, permissions): Promise<UserAccountEntity | null>

Defined in: src/application/services/AuthService.ts:99

Parameters
userId

string

permissions

string[]

Returns

Promise<UserAccountEntity | null>

loginByEmail()

loginByEmail(email, password): Promise<{ status: "success"; user: { id: string; email: string; }; } | { status: "failed" | "userbanned" | "userDeleted"; }>

Defined in: src/application/services/AuthService.ts:117

Validates login credentials and returns a normalized status for auth resolvers.

Parameters
email

string

password

string

Returns

Promise<{ status: "success"; user: { id: string; email: string; }; } | { status: "failed" | "userbanned" | "userDeleted"; }>

registerByEmail()

registerByEmail(input): Promise<{ status: "success"; emailToken: string; userId: string | null; email: string; }>

Defined in: src/application/services/AuthService.ts:150

Creates a local email account when there is no active user with the same email.

Parameters
input
firstName?

string

lastName?

string

email

string

password

string

isEmailConfirmed

boolean

Returns

Promise<{ status: "success"; emailToken: string; userId: string | null; email: string; }>

sendForgotPassword()

sendForgotPassword(email): Promise<{ status: "success" | "404"; token: string; name: string; }>

Defined in: src/application/services/AuthService.ts:191

Generates a forgot-password token for existing users.

Parameters
email

string

Returns

Promise<{ status: "success" | "404"; token: string; name: string; }>

changeForgotPassword()

changeForgotPassword(email, newPassword): Promise<boolean>

Defined in: src/application/services/AuthService.ts:217

Updates user password and clears existing forgot-password tokens.

Parameters
email

string

newPassword

string

Returns

Promise<boolean>

updateAdminUser()

updateAdminUser(input): Promise<"email" | "success">

Defined in: src/application/services/AuthService.ts:231

Parameters
input
userId

string

email?

string

type?

string

firstName?

string

lastName?

string

preferredLanguage?

string

preferredCurrency?

string

location?

string

info?

string

userBanStatus?

number

roleId?

number

Returns

Promise<"email" | "success">

clearProfilePicture()

clearProfilePicture(userId): Promise<void>

Defined in: src/application/services/AuthService.ts:284

Parameters
userId

string

Returns

Promise<void>

editProfile()

editProfile(params): Promise<{ status: "email" | "success" | "failed"; token?: string; }>

Defined in: src/application/services/AuthService.ts:290

Parameters
params
userId

string

firstName

string

lastName

string

gender

string

email

string

preferredLanguage

string

preferredCurrency

string

location

string

info

string

loggedinEmail

string

generateToken

(userId, email) => Promise<string>

Returns

Promise<{ status: "email" | "success" | "failed"; token?: string; }>

adminSearchUsers()

adminSearchUsers(params): Promise<{ usersData: AdminSearchUserRow[]; count: number; currentPage: number; }>

Defined in: src/application/services/AuthService.ts:357

Parameters
params
currentPage?

number

searchQuery?

string

Returns

Promise<{ usersData: AdminSearchUserRow[]; count: number; currentPage: number; }>

getUserDashboardStats()

getUserDashboardStats(): Promise<{ totalCount: number; todayCount: number; monthCount: number; }>

Defined in: src/application/services/AuthService.ts:387

Returns

Promise<{ totalCount: number; todayCount: number; monthCount: number; }>

deleteUserAccount()

deleteUserAccount(userId): Promise<{ status: string; errorMessage?: string; }>

Defined in: src/application/services/AuthService.ts:397

Parameters
userId

string

Returns

Promise<{ status: string; errorMessage?: string; }>

adminBanUser()

adminBanUser(userId, banStatus): Promise<{ status: string; }>

Defined in: src/application/services/AuthService.ts:451

Parameters
userId

string

banStatus

number

Returns

Promise<{ status: string; }>

getUserPermissions()

getUserPermissions(userId): Promise<{ permissions: string[]; roleId: number | null; isSuperAdmin: boolean; }>

Defined in: src/application/services/AuthService.ts:463

Parameters
userId

string

Returns

Promise<{ permissions: string[]; roleId: number | null; isSuperAdmin: boolean; }>

createUserAuthToken()

createUserAuthToken(userId, email, expiresIn): Promise<string>

Defined in: src/application/services/AuthService.ts:473

Parameters
userId

string

email

string

expiresIn

number

Returns

Promise<string>