[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / UserStatusManager

# Class: UserStatusManager

User Status Manager - Clean, high-level interface for user status operations

Provides a simplified API for common user status management tasks while maintaining
access to the full user status SDK for advanced use cases.

## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/userstatusmanager#constructor)


### Methods

- [getUserStatusTypes](/sdk-reference/classes/userstatusmanager#getuserstatustypes)
- [getEarnedUserStatus](/sdk-reference/classes/userstatusmanager#getearneduserstatus)
- [createUserStatusType](/sdk-reference/classes/userstatusmanager#createuserstatustype)
- [updateUserStatusType](/sdk-reference/classes/userstatusmanager#updateuserstatustype)
- [deleteUserStatusType](/sdk-reference/classes/userstatusmanager#deleteuserstatustype)
- [getUserStatusSDK](/sdk-reference/classes/userstatusmanager#getuserstatussdk)


## Constructors

### constructor

• **new UserStatusManager**(`apiClient`): [`UserStatusManager`](/sdk-reference/classes/userstatusmanager)

#### Parameters

| Name | Type |
|  --- | --- |
| `apiClient` | [`PersApiClient`](/sdk-reference/classes/persapiclient) |


#### Returns

[`UserStatusManager`](/sdk-reference/classes/userstatusmanager)

#### Defined in

[managers/user-status-manager.ts:16](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L16)

## Methods

### getUserStatusTypes

▸ **getUserStatusTypes**(`options?`): `Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>>

Get all user status types

#### Parameters

| Name | Type |
|  --- | --- |
| `options?` | `PaginationOptions` |


#### Returns

`Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>>

Promise resolving to paginated user status types

#### Defined in

[managers/user-status-manager.ts:25](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L25)

### getEarnedUserStatus

▸ **getEarnedUserStatus**(`options?`): `Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>>

Get earned user status for authenticated user

#### Parameters

| Name | Type |
|  --- | --- |
| `options?` | `PaginationOptions` |


#### Returns

`Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>>

Promise resolving to paginated earned user status

#### Defined in

[managers/user-status-manager.ts:34](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L34)

### createUserStatusType

▸ **createUserStatusType**(`userStatusType`): `Promise`<`UserStatusTypeDTO`>

Admin: Create new user status type

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `userStatusType` | `UserStatusTypeDTO` | User status type data |


#### Returns

`Promise`<`UserStatusTypeDTO`>

Promise resolving to created user status type

#### Defined in

[managers/user-status-manager.ts:44](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L44)

### updateUserStatusType

▸ **updateUserStatusType**(`id`, `userStatusType`): `Promise`<`UserStatusTypeDTO`>

Admin: Update existing user status type

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `id` | `number` | User status type ID |
| `userStatusType` | `UserStatusTypeDTO` | User status type data |


#### Returns

`Promise`<`UserStatusTypeDTO`>

Promise resolving to updated user status type

#### Defined in

[managers/user-status-manager.ts:55](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L55)

### deleteUserStatusType

▸ **deleteUserStatusType**(`id`): `Promise`<`void`>

Admin: Delete user status type

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `id` | `number` | User status type ID |


#### Returns

`Promise`<`void`>

Promise resolving when deleted

#### Defined in

[managers/user-status-manager.ts:65](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L65)

### getUserStatusSDK

▸ **getUserStatusSDK**(): `Object`

Get the full user status SDK for advanced operations

#### Returns

`Object`

UserStatusSDK instance

| Name | Type |
|  --- | --- |
| `getRemoteUserStatusTypes` | (`options?`: `PaginationOptions`) => `Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>> |
| `getRemoteEarnedUserStatus` | (`options?`: `PaginationOptions`) => `Promise`<`PaginatedResponseDTO`<`UserStatusTypeDTO`>> |
| `createUserStatusType` | (`userStatusType`: `UserStatusTypeDTO`) => `Promise`<`UserStatusTypeDTO`> |
| `updateUserStatusType` | (`id`: `number`, `userStatusType`: `UserStatusTypeDTO`) => `Promise`<`UserStatusTypeDTO`> |
| `deleteUserStatusType` | (`id`: `number`) => `Promise`<`void`> |
| `api` | [`UserStatusApi`](/sdk-reference/classes/userstatusapi) |
| `service` | [`UserStatusService`](/sdk-reference/classes/userstatusservice) |


#### Defined in

[managers/user-status-manager.ts:74](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/managers/user-status-manager.ts#L74)