@meshwatch/backend-core
Version:
Meshwatch backend core services.
25 lines (24 loc) • 1.15 kB
TypeScript
import { MonitoringExecutor } from '@meshwatch/types';
import { Pool, QueryResult } from 'pg';
import { MonitorExecutorCheck } from '../../types';
import { LatencyRow } from './latency/types';
declare type IdentifiableMonitorExecutorCheck<T extends MonitorExecutorCheck> = {
userId: string;
monitorId: string;
region: string;
created: Date;
data: T;
};
export interface MonitorCheckStorage {
createChecksSchema: () => Promise<QueryResult>;
insertCheckData: <T extends MonitorExecutorCheck>(data: IdentifiableMonitorExecutorCheck<T>, executorType: MonitoringExecutor) => Promise<LatencyRow>;
}
export declare class TimescaleMonitorCheckStorage implements MonitorCheckStorage {
private latencyStorage;
private postgresPool;
constructor(postgresPool?: Pool);
createChecksSchema: () => Promise<QueryResult>;
insertCheckData: <T extends MonitorExecutorCheck>(data: IdentifiableMonitorExecutorCheck<T>, executorType: MonitoringExecutor) => Promise<LatencyRow>;
}
declare const timescaleMonitorCheckStorage: TimescaleMonitorCheckStorage;
export default timescaleMonitorCheckStorage;