@meshwatch/backend-core
Version:
Meshwatch backend core services.
45 lines (44 loc) • 2.36 kB
TypeScript
import { CreateStatusPageDTO, StatusPageDTO } from '@meshwatch/types';
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';
export interface StatusPageDatasource {
getStatusPage(id: string): Promise<StatusPageDTO>;
lookupStatusPage(customDomain: string): Promise<StatusPageDTO>;
createStatusPage(params: CreateStatusPageDTO): Promise<StatusPageDTO>;
findStatusPages(userId: string): Promise<StatusPageDTO[]>;
deleteStatusPage(id: string): Promise<PromiseResult<DeleteItemOutput, AWSError>>;
updateStatusPage(params: StatusPageDTO): Promise<StatusPageDTO>;
}
export declare class DynamoStatusPageDatasource implements StatusPageDatasource {
private readonly dynamoClient;
constructor(dynamoClient?: DynamoDBClient);
createTable: () => Promise<PromiseResult<CreateTableOutput, AWSError>>;
updateStatusPage: (params: import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>) => Promise<import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>>;
createStatusPage: (params: CreateStatusPageDTO) => Promise<import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>>;
private putStatusPage;
findStatusPages: (userId: string) => Promise<import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>[]>;
deleteStatusPage: (id: string) => Promise<PromiseResult<import("aws-sdk/clients/dynamodb").DocumentClient.DeleteItemOutput, AWSError>>;
lookupStatusPage: (customDomain: string) => Promise<import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>>;
getStatusPage: (id: string) => Promise<import("@meshwatch/types/dist/common").WithCreated<CreateStatusPageDTO & {
id: string;
}>>;
private statusPageToDynamoItem;
private statusPageFromDynamoItem;
private encodeId;
private encodeUserId;
private decodeHashKey;
}
declare const dynamoStatusPageDatasource: DynamoStatusPageDatasource;
export default dynamoStatusPageDatasource;