@kaaiot/services
Version:
Type definitions for KaaIoT platform REST API service communication
72 lines (71 loc) • 1.95 kB
TypeScript
import { AxiosResponse } from 'axios';
export interface TimeSeriesByAppConfig {
[appName: string]: TimeSeriesDefinition[];
}
export declare type TimeSeriesConfigResponse = TimeSeriesByAppConfig;
export interface TimeSeriesDefinition {
name: string;
values: string[] | null;
}
export interface LastDataParams {
applicationName: string;
timeSeriesName: string;
endpointId?: string;
beforeDate?: string;
}
export interface LastDataPostParams {
applicationName: string;
timeSeriesNames: string[];
endpointIDs?: string[];
beforeDate?: string;
}
export interface DeletesTimeSeriesData {
appName: string;
endpointID: string;
queryParams: {
fromDate: string;
toDate: string;
};
data: {
timeSeriesNames?: string[];
};
}
export interface DeletesSeriesFromApplication {
appName: string;
data: {
timeSeriesNames?: string[];
};
}
export interface HistoricalDataParams {
applicationName: string;
fromDate: string;
toDate: string;
includeTime?: 'from' | 'to' | 'both' | 'none';
sort?: 'ASC' | 'DESC';
}
export interface HistoricalDataGetParams extends HistoricalDataParams {
timeSeriesName: string;
endpointId?: string;
}
export interface HistoricalDataPostParams extends HistoricalDataParams {
timeSeriesNames: string[];
endpointIDs?: string[];
}
export interface UpdateTimeseriesParams {
appVersionName: string;
data: EndpointTimeSeries;
}
export interface TimeSeriesDataPoint {
timestamp: string;
values: Record<string, number | string | boolean | null>;
}
export interface TimeSeries {
[timeSeriesName: string]: TimeSeriesDataPoint[];
}
export interface EndpointTimeSeries {
[endpointId: string]: TimeSeries;
}
export declare type TimeSeriesPayload = EndpointTimeSeries[];
export interface TimeSeriesClient {
getTimeSeriesConfig(): Promise<AxiosResponse<TimeSeriesConfigResponse>>;
}