PERS SDK - v2.3.26 / Exports / 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.
- getAllUsersPublicProfiles
- getPublicProfileById
- getRemoteUser
- updateRemoteUser
- createOrUpdateUser
- createOrUpdateUsers
- getAllRemoteUsers
- updateUserAsAdmin
- getUserByUniqueIdentifier
- setUserActiveStatus
- deleteUser
- restoreUser
• new UserService(userApi): UserService
| Name | Type |
|---|---|
userApi | UserApi |
user/services/user-service.ts:15
▸ getAllUsersPublicProfiles(filter?, options?): Promise<PaginatedResponseDTO<UserPublicProfileDTO>>
PUBLIC: Get all users public profiles with optional filtering ✅ FIXED: Uses framework-compatible inline filter type
| Name | Type | Default value |
|---|---|---|
filter | null | { key: string ; value: string } | null |
options? | PaginationOptions | undefined |
Promise<PaginatedResponseDTO<UserPublicProfileDTO>>
user/services/user-service.ts:25
▸ getPublicProfileById(id): Promise<UserPublicProfileDTO>
PUBLIC: Get a single user's public profile by ID
| Name | Type |
|---|---|
id | string |
Promise<UserPublicProfileDTO>
user/services/user-service.ts:32
▸ getRemoteUser(options?): Promise<UserDTO>
AUTH: Get current authenticated user
| Name | Type | Description |
|---|---|---|
options? | UserQueryParams | Query options. Use include to specify relations: 'status' (user status types), 'balances' (token balances) |
Promise<UserDTO>
user/services/user-service.ts:45
▸ updateRemoteUser(updateRequest): Promise<UserDTO>
AUTH: Update current authenticated user
| Name | Type |
|---|---|
updateRequest | UserCreateRequestDTO |
Promise<UserDTO>
user/services/user-service.ts:52
▸ 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
| Name | Type | Description |
|---|---|---|
userData | UserCreateRequestDTO | User data for creation/update |
Promise<UserDTO>
Created or updated user
user/services/user-service.ts:70
▸ 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.
| Name | Type | Description |
|---|---|---|
users | UserCreateRequestDTO[] | Array of user data for creation/update |
Promise<UserDTO[]>
Array of created/updated users
user/services/user-service.ts:83
▸ getAllRemoteUsers(options?, search?): Promise<PaginatedResponseDTO<UserDTO>>
ADMIN: Get all remote users ✅ FIXED: Matches API method signature (no parameters needed)
| Name | Type | Description |
|---|---|---|
options? | PaginationOptions | Pagination options |
search? | string | Optional search query |
Promise<PaginatedResponseDTO<UserDTO>>
user/services/user-service.ts:93
▸ updateUserAsAdmin(id, userData): Promise<UserDTO>
ADMIN: Update user as admin
| Name | Type |
|---|---|
id | string |
userData | UserCreateRequestDTO |
Promise<UserDTO>
user/services/user-service.ts:100
▸ getUserByUniqueIdentifier(id, options?): Promise<UserDTO>
ADMIN: Get user by unique identifier
| Name | Type | Description |
|---|---|---|
id | string | User unique identifier (id, email, externalId, accountAddress, etc.) |
options? | UserQueryParams | Query options. Use include to specify relations: 'status' (user status types), 'balances' (token balances) |
Promise<UserDTO>
user/services/user-service.ts:110
▸ setUserActiveStatus(userId, isActive?): Promise<UserDTO>
ADMIN: Set or toggle user active status
| Name | Type | Description |
|---|---|---|
userId | string | User ID |
isActive? | boolean | Optional explicit status. If provided, sets to this value. If omitted, toggles current status. |
Promise<UserDTO>
user/services/user-service.ts:120
▸ 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.
| Name | Type | Description |
|---|---|---|
identifier | string | User unique identifier (id, email, externalId, accountAddress, etc.) |
Promise<{ success: boolean ; message: string }>
Promise resolving to success status and message
user/services/user-service.ts:133
▸ 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.
| Name | Type | Description |
|---|---|---|
identifier | string | User unique identifier (id, email, externalId, accountAddress, etc.) |
Promise<UserDTO>
Promise resolving to restored user data