Skip to content
Last updated

PERS SDK - v2.3.26 / Exports / UserService

Class: UserService

Platform-Agnostic User Service

Contains user business logic and operations that work across platforms. No framework dependencies - pure TypeScript business logic. Matches framework UserApiService capabilities exactly.

Table of contents

Constructors

Methods

Constructors

constructor

new UserService(userApi): UserService

Parameters

NameType
userApiUserApi

Returns

UserService

Defined in

user/services/user-service.ts:15

Methods

getAllUsersPublicProfiles

getAllUsersPublicProfiles(filter?, options?): Promise<PaginatedResponseDTO<UserPublicProfileDTO>>

PUBLIC: Get all users public profiles with optional filtering ✅ FIXED: Uses framework-compatible inline filter type

Parameters

NameTypeDefault value
filternull | { key: string ; value: string }null
options?PaginationOptionsundefined

Returns

Promise<PaginatedResponseDTO<UserPublicProfileDTO>>

Defined in

user/services/user-service.ts:25


getPublicProfileById

getPublicProfileById(id): Promise<UserPublicProfileDTO>

PUBLIC: Get a single user's public profile by ID

Parameters

NameType
idstring

Returns

Promise<UserPublicProfileDTO>

Defined in

user/services/user-service.ts:32


getRemoteUser

getRemoteUser(options?): Promise<UserDTO>

AUTH: Get current authenticated user

Parameters

NameTypeDescription
options?UserQueryParamsQuery options. Use include to specify relations: 'status' (user status types), 'balances' (token balances)

Returns

Promise<UserDTO>

Defined in

user/services/user-service.ts:45


updateRemoteUser

updateRemoteUser(updateRequest): Promise<UserDTO>

AUTH: Update current authenticated user

Parameters

NameType
updateRequestUserCreateRequestDTO

Returns

Promise<UserDTO>

Defined in

user/services/user-service.ts:52


createOrUpdateUser

createOrUpdateUser(userData): Promise<UserDTO>

BUSINESS/ADMIN: Create or update user account

Creates a new user or updates an existing one.

  • Business auth: Can create/update single users (requires canManageUsers permission)
  • Admin auth: Can create/update single users or bulk operations

Parameters

NameTypeDescription
userDataUserCreateRequestDTOUser data for creation/update

Returns

Promise<UserDTO>

Created or updated user

Defined in

user/services/user-service.ts:70


createOrUpdateUsers

createOrUpdateUsers(users): Promise<UserDTO[]>

ADMIN: Bulk create or update users

Creates or updates multiple users in a single operation. Requires admin authentication - business auth cannot perform bulk operations.

Parameters

NameTypeDescription
usersUserCreateRequestDTO[]Array of user data for creation/update

Returns

Promise<UserDTO[]>

Array of created/updated users

Defined in

user/services/user-service.ts:83


getAllRemoteUsers

getAllRemoteUsers(options?, search?): Promise<PaginatedResponseDTO<UserDTO>>

ADMIN: Get all remote users ✅ FIXED: Matches API method signature (no parameters needed)

Parameters

NameTypeDescription
options?PaginationOptionsPagination options
search?stringOptional search query

Returns

Promise<PaginatedResponseDTO<UserDTO>>

Defined in

user/services/user-service.ts:93


updateUserAsAdmin

updateUserAsAdmin(id, userData): Promise<UserDTO>

ADMIN: Update user as admin

Parameters

NameType
idstring
userDataUserCreateRequestDTO

Returns

Promise<UserDTO>

Defined in

user/services/user-service.ts:100


getUserByUniqueIdentifier

getUserByUniqueIdentifier(id, options?): Promise<UserDTO>

ADMIN: Get user by unique identifier

Parameters

NameTypeDescription
idstringUser unique identifier (id, email, externalId, accountAddress, etc.)
options?UserQueryParamsQuery options. Use include to specify relations: 'status' (user status types), 'balances' (token balances)

Returns

Promise<UserDTO>

Defined in

user/services/user-service.ts:110


setUserActiveStatus

setUserActiveStatus(userId, isActive?): Promise<UserDTO>

ADMIN: Set or toggle user active status

Parameters

NameTypeDescription
userIdstringUser ID
isActive?booleanOptional explicit status. If provided, sets to this value. If omitted, toggles current status.

Returns

Promise<UserDTO>

Defined in

user/services/user-service.ts:120


deleteUser

deleteUser(identifier): Promise<{ success: boolean ; message: string }>

ADMIN: Delete user by identifier (soft delete)

Soft deletes a user. The user data is retained for 30 days before GDPR anonymization. Use restoreUser() to restore within the grace period.

Parameters

NameTypeDescription
identifierstringUser unique identifier (id, email, externalId, accountAddress, etc.)

Returns

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

Promise resolving to success status and message

Defined in

user/services/user-service.ts:133


restoreUser

restoreUser(identifier): Promise<UserDTO>

ADMIN: Restore deleted user by identifier

Restores a soft-deleted user within the 30-day grace period. After GDPR anonymization (30 days), restoration is not possible.

Parameters

NameTypeDescription
identifierstringUser unique identifier (id, email, externalId, accountAddress, etc.)

Returns

Promise<UserDTO>

Promise resolving to restored user data

Defined in

user/services/user-service.ts:146