client-perfmon2-node
Version:
Node.js / ES2017 client sdk for perfmon microservice
68 lines (58 loc) • 2.13 kB
text/typescript
import { IContext } from 'pip-services4-components-node';
import { ConfigParams } from 'pip-services4-components-node';
import { IReferences } from 'pip-services4-components-node';
import { FilterParams } from 'pip-services4-data-node';
import { PagingParams } from 'pip-services4-data-node';
import { DataPage } from 'pip-services4-data-node';
import { CommandableLambdaClient } from 'pip-services4-aws-node';
import { CompositeLogger } from 'pip-services4-observability-node'
import { CompositeCounters } from 'pip-services4-observability-node'
import { CounterV1 } from './CounterV1';
import { IPerfMonClientV1 } from './IPerfMonClientV1';
export class PerfMonCommandableLambdaClientV1 extends CommandableLambdaClient implements IPerfMonClientV1 {
constructor(config?: any) {
super('counters');
if (config != null)
this.configure(ConfigParams.fromValue(config));
}
public setReferences(references: IReferences) {
super.setReferences(references);
this._logger = new CompositeLogger();
this._counters = new CompositeCounters();
}
public async readCounters(context: IContext, filter: FilterParams, paging: PagingParams): Promise<DataPage<CounterV1>> {
return await this.callCommand(
'read_counters',
context,
{
filter: filter,
paging: paging
}
);
}
public async writeCounter(context: IContext, counter: CounterV1): Promise<CounterV1> {
return await this.callCommand(
'write_counter',
context,
{
counter: counter
}
);
}
public async writeCounters(context: IContext, counters: CounterV1[]): Promise<void> {
return await this.callCommand(
'write_counters',
context,
{
counters: counters
}
);
}
public async clear(context: IContext): Promise<void> {
return await this.callCommand(
'clear',
context,
null
);
}
}