@meshwatch/backend-core
Version:
Meshwatch backend core services.
24 lines (23 loc) • 1.31 kB
TypeScript
import { CreateTableOutput, DeleteItemOutput } from 'aws-sdk/clients/dynamodb';
import { AWSError } from 'aws-sdk/lib/error';
import { PromiseResult } from 'aws-sdk/lib/request';
import { DynamoDBClient } from '../../shared/aws/dynamodb';
declare type MonitorConnection = {
connectionId: string;
monitorId: string;
};
export interface ConnectionDatasource {
createConnection(monitorId: string): Promise<string>;
deleteConnection(monitorId: string, connectionId: string): Promise<PromiseResult<DeleteItemOutput, AWSError>>;
findConnectionsForMonitor(monitorId: string): Promise<MonitorConnection[]>;
}
export declare class DynamoConnectionDatasource implements ConnectionDatasource {
private readonly dynamoClient;
constructor(dynamoClient?: DynamoDBClient);
createTable: () => Promise<PromiseResult<CreateTableOutput, AWSError>>;
createConnection: (monitorId: string) => Promise<string>;
deleteConnection: (monitorId: string, connectionId: string) => Promise<PromiseResult<import("aws-sdk/clients/dynamodb").DocumentClient.DeleteItemOutput, AWSError>>;
findConnectionsForMonitor: (monitorId: string) => Promise<MonitorConnection[]>;
}
declare const dynamoConnectionDatasource: DynamoConnectionDatasource;
export default dynamoConnectionDatasource;