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

# Class: TriggerSourceService

Platform-Agnostic TriggerSource Service

Contains trigger source business logic and operations that work across platforms.
No framework dependencies - pure TypeScript business logic.

## Table of contents

### Constructors

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


### Methods

- [getTriggerSources](/sdk-reference/classes/triggersourceservice#gettriggersources)
- [getTriggerSourceById](/sdk-reference/classes/triggersourceservice#gettriggersourcebyid)
- [createTriggerSource](/sdk-reference/classes/triggersourceservice#createtriggersource)
- [updateTriggerSource](/sdk-reference/classes/triggersourceservice#updatetriggersource)
- [deleteTriggerSource](/sdk-reference/classes/triggersourceservice#deletetriggersource)


## Constructors

### constructor

• **new TriggerSourceService**(`triggerSourceApi`): [`TriggerSourceService`](/sdk-reference/classes/triggersourceservice)

#### Parameters

| Name | Type |
|  --- | --- |
| `triggerSourceApi` | [`TriggerSourceApi`](/sdk-reference/classes/triggersourceapi) |


#### Returns

[`TriggerSourceService`](/sdk-reference/classes/triggersourceservice)

#### Defined in

[trigger-source/services/trigger-source-service.ts:16](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/trigger-source/services/trigger-source-service.ts#L16)

## Methods

### getTriggerSources

▸ **getTriggerSources**(`options?`): `Promise`<`PaginatedResponseDTO`<`TriggerSourceDTO`>>

Get trigger sources with optional filters

#### Parameters

| Name | Type |
|  --- | --- |
| `options?` | [`TriggerSourceQueryOptions`](/sdk-reference/interfaces/triggersourcequeryoptions) |


#### Returns

`Promise`<`PaginatedResponseDTO`<`TriggerSourceDTO`>>

#### Defined in

[trigger-source/services/trigger-source-service.ts:21](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/trigger-source/services/trigger-source-service.ts#L21)

### getTriggerSourceById

▸ **getTriggerSourceById**(`triggerSourceId`): `Promise`<`TriggerSourceDTO`>

Get trigger source by ID

#### Parameters

| Name | Type |
|  --- | --- |
| `triggerSourceId` | `string` |


#### Returns

`Promise`<`TriggerSourceDTO`>

#### Defined in

[trigger-source/services/trigger-source-service.ts:28](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/trigger-source/services/trigger-source-service.ts#L28)

### createTriggerSource

▸ **createTriggerSource**(`triggerSource`): `Promise`<`TriggerSourceDTO`>

ADMIN: Create a new trigger source

#### Parameters

| Name | Type |
|  --- | --- |
| `triggerSource` | `TriggerSourceCreateRequestDTO` |


#### Returns

`Promise`<`TriggerSourceDTO`>

#### Defined in

[trigger-source/services/trigger-source-service.ts:35](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/trigger-source/services/trigger-source-service.ts#L35)

### updateTriggerSource

▸ **updateTriggerSource**(`triggerSourceId`, `triggerSource`): `Promise`<`TriggerSourceDTO`>

ADMIN: Update a trigger source

#### Parameters

| Name | Type |
|  --- | --- |
| `triggerSourceId` | `string` |
| `triggerSource` | `Partial`<`TriggerSourceCreateRequestDTO`> |


#### Returns

`Promise`<`TriggerSourceDTO`>

#### Defined in

[trigger-source/services/trigger-source-service.ts:42](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/trigger-source/services/trigger-source-service.ts#L42)

### deleteTriggerSource

▸ **deleteTriggerSource**(`triggerSourceId`): `Promise`<`boolean`>

ADMIN: Delete a trigger source

#### Parameters

| Name | Type |
|  --- | --- |
| `triggerSourceId` | `string` |


#### Returns

`Promise`<`boolean`>

#### Defined in

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