UNPKG

@meshwatch/backend-core

Version:

Meshwatch backend core services.

45 lines (44 loc) 2.36 kB
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;