pip-clients-positions-node
Version:
Node.js client sdk for positions microservice
109 lines (96 loc) • 3.37 kB
text/typescript
let _ = require('lodash');
import { ConfigParams } from 'pip-services3-commons-node';
import { IReferences } from 'pip-services3-commons-node';
import { FilterParams } from 'pip-services3-commons-node';
import { PagingParams } from 'pip-services3-commons-node';
import { DataPage } from 'pip-services3-commons-node';
import { CommandableLambdaClient } from 'pip-services3-aws-node';
import { ObjectPositionV1 } from './ObjectPositionV1';
import { ObjectPositionsV1 } from './ObjectPositionsV1';
import { IPositionsClientV1 } from './IPositionsClientV1';
export class PositionsLambdaClientV1 extends CommandableLambdaClient implements IPositionsClientV1 {
constructor(config?: any) {
super('positions');
if (config != null)
this.configure(ConfigParams.fromValue(config));
}
public getPositions(correlationId: string, orgId: string, filter: FilterParams, paging: PagingParams,
callback: (err: any, page: DataPage<ObjectPositionsV1>) => void): void {
this.callCommand(
'get_positions',
correlationId,
{
filter: filter,
paging: paging
},
callback
);
}
public getTimelinePositions(correlationId: string, orgId: string, time: Date, filter: FilterParams,
callback: (err: any, states: ObjectPositionV1[]) => void): void {
this.callCommand(
'get_timeline_positions',
correlationId,
{
time: time,
filter: filter
},
callback
);
}
public getPositionsCount(correlationId: string, orgId: string, filter: FilterParams,
callback: (err: any, count: number) => void): void {
this.callCommand(
'get_positions_count',
correlationId,
{
filter: filter
},
(err, result) => {
let count = result ? result.count : null;
callback(err, count);
}
);
}
public addPosition(correlationId: string, orgId: string, objectId: string,
time: Date, lat: number, lng: number, alt: number, speed: number, angle: number,
callback: (err: any) => void): void {
this.callCommand(
'add_position',
correlationId,
{
org_id: orgId,
object_id: objectId,
time: time,
lat: lat,
lng: lng,
alt: alt,
speed: speed,
angle: angle
},
callback
);
}
public addPositions(correlationId: string, orgId: string, positions: ObjectPositionV1[],
callback?: (err: any) => void): void {
this.callCommand(
'add_positions',
correlationId,
{
positions: positions
},
callback
);
}
public deletePositions(correlationId: string, orgId: string, filter: FilterParams,
callback: (err: any, position: ObjectPositionsV1) => void): void {
this.callCommand(
'delete_positions',
correlationId,
{
filter: filter
},
callback
);
}
}