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

# Class: UserStatusService

Platform-Agnostic User Status Service

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

## Table of contents

### Constructors

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


### Methods

- [getRemoteUserStatusTypes](/sdk-reference/classes/userstatusservice#getremoteuserstatustypes)
- [getRemoteEarnedUserStatus](/sdk-reference/classes/userstatusservice#getremoteearneduserstatus)
- [createUserStatusType](/sdk-reference/classes/userstatusservice#createuserstatustype)
- [updateUserStatusType](/sdk-reference/classes/userstatusservice#updateuserstatustype)
- [deleteUserStatusType](/sdk-reference/classes/userstatusservice#deleteuserstatustype)


## Constructors

### constructor

• **new UserStatusService**(`userStatusApi`): [`UserStatusService`](/sdk-reference/classes/userstatusservice)

#### Parameters

| Name | Type |
|  --- | --- |
| `userStatusApi` | [`UserStatusApi`](/sdk-reference/classes/userstatusapi) |


#### Returns

[`UserStatusService`](/sdk-reference/classes/userstatusservice)

#### Defined in

[user-status/services/user-status-service.ts:14](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/user-status/services/user-status-service.ts#L14)

## Methods

### getRemoteUserStatusTypes

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

PUBLIC: Get remote user status types

#### Parameters

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


#### Returns

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

#### Defined in

[user-status/services/user-status-service.ts:23](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/user-status/services/user-status-service.ts#L23)

### getRemoteEarnedUserStatus

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

AUTH: Get earned user status for authenticated user

#### Parameters

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


#### Returns

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

#### Defined in

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

### createUserStatusType

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

ADMIN: Create user status type

#### Parameters

| Name | Type |
|  --- | --- |
| `userStatusType` | `UserStatusTypeDTO` |


#### Returns

`Promise`<`UserStatusTypeDTO`>

#### Defined in

[user-status/services/user-status-service.ts:45](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/user-status/services/user-status-service.ts#L45)

### updateUserStatusType

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

ADMIN: Update user status type

#### Parameters

| Name | Type |
|  --- | --- |
| `id` | `number` |
| `userStatusType` | `UserStatusTypeDTO` |


#### Returns

`Promise`<`UserStatusTypeDTO`>

#### Defined in

[user-status/services/user-status-service.ts:52](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/user-status/services/user-status-service.ts#L52)

### deleteUserStatusType

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

ADMIN: Delete user status type

#### Parameters

| Name | Type |
|  --- | --- |
| `id` | `number` |


#### Returns

`Promise`<`void`>

#### Defined in

[user-status/services/user-status-service.ts:59](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/user-status/services/user-status-service.ts#L59)