@kaaiot/services
Version:
Type definitions for KaaIoT platform REST API service communication
47 lines (46 loc) • 1.7 kB
TypeScript
import { FetchResponse } from "../service-requester";
export declare type AnalyticsQuery = Record<string, any>;
export declare type AnalyticsFieldType = 'float' | 'long' | 'boolean' | 'text' | 'keyword' | 'date' | 'object';
export interface MappingFieldInfo {
type: AnalyticsFieldType;
fields?: {
keyword: {
type: 'keyword';
ignore_above: number;
};
};
}
declare type MappingField = Record<string, MappingFieldInfo & Mapping>;
export interface Mapping {
properties?: Record<string, MappingField>;
}
export interface AnalyticsMapping {
mappings: Mapping | MappingField;
}
export declare type AnalyticsMappingsResponse = Record<string, AnalyticsMapping>;
export interface AnalyticsClientProvider {
search(index: string, query: AnalyticsQuery): Promise<FetchResponse<any>>;
msearch(query: MultiSearchQuery[]): Promise<FetchResponse<any>>;
msearchCombined(query: MultiSearchQuery[]): Promise<FetchResponse<any>>;
}
export interface SearchRequestOptions {
index: string;
body: Record<string, any>;
interval: number;
}
export declare type SearchSubscribeCallbackSuccess = (data: FetchResponse<any>) => void;
export declare type SearchSubscribeCallbackError = (data: FetchResponse<any>) => void;
export interface SubscribeSearchOptions {
requestOptions: SearchRequestOptions;
callback: (data: FetchResponse<any>) => void;
errorCallback: (error: any) => void;
}
export declare type MultiSearchHeader = Record<string, any> & {
index: string;
};
export declare type MultiSearchBody = Record<string, any>;
export interface MultiSearchQuery {
header: MultiSearchHeader;
body: MultiSearchBody;
}
export {};