@evva/nest-xs3-api-client
v3.0.6
Published
Client implementation for the Xesar 3 MQTT api interface.
Readme
Nest XS3 Api Client
Install
$ npm i @evva/nest-xs3-api-clientDescription
Client implementation for the Xesar 3 MQTT api interface.
Build & Package
# Nest Build
$ nest buildUsage
Import module
import { ClientService } from '@evva/nest-xs3-api-client';
@Module({
imports: [ClientModule],
providers: [AppService],
})
export class AppModule {}Connect
Connect to the broker by passing connect options.
await this.clientService.connect({
host: 'host',
port: 1883,
cert: 'cert',
certCA: 'certCA',
key: 'key',
clientId: 'clientId',
token: 'token',
} as ClientConnectOptions);Query results
Query specific resources from the Xesar API with support for pagination and filters.
let result = await this.clientService.queryPaged({
res: 'evva-components',
limit: 5,
offset: 0,
filters: [
{
type: 'eq',
field: 'status',
value: 'Synced',
},
],
});You can auto-paginate all results by omitting the
limitandoffsetproperties.
A few of the supported resources are:
export type Resource =
| 'identification-media'
| 'authorization-profiles'
| 'access-protocol'
| 'persons'
| 'installation-points'
| 'evva-components'
| 'office-modes'
| 'time-profiles'
| 'zones';Execute commands
Execute specific CQRS commands on the Xesar API.
let result = await this.clientService.commandCQRS(
'RequestAddMediumToInstallationMapi',
{
id: 'id',
commandId: 'commandId',
terminalId: 'terminalId',
hardwareId: 'hardwareId',
},
);For a full list of supported commands and parameters check the /api/docs of your installation.
License
Proprietary
