@studyportals/sp-r2d2
Version:
A framework that contains various components used when developing projects that will be deployed via AWS λ.
17 lines (16 loc) • 1.05 kB
TypeScript
import { BatchGetItemInput, DeleteItemInput, GetItemInput, PutItemInput, QueryInput, ScanInput, UpdateItemInput, UpdateItemOutput } from '@aws-sdk/client-dynamodb';
import { IDynamoDBTransactionWrite } from '../';
import { BatchGetItemsResult } from '../aws-services-adapters/batch-get-item-result.class';
import { DynamoDBItem } from './dynamodb-item.type';
export interface IDynamoDBAdapter {
query(input: QueryInput): Promise<DynamoDBItem[]>;
putItem(input: PutItemInput): Promise<void>;
getItem(input: GetItemInput): Promise<DynamoDBItem | null>;
batchGetItem(input: BatchGetItemInput): Promise<BatchGetItemsResult | undefined>;
updateItem(input: UpdateItemInput): Promise<UpdateItemOutput | undefined>;
deleteItem(input: DeleteItemInput): Promise<void>;
scan(input: ScanInput): Promise<DynamoDBItem[]>;
beginWriteTransaction(): IDynamoDBTransactionWrite;
commitWriteTransaction(transaction: IDynamoDBTransactionWrite): Promise<void>;
documentUpdateItem(input: UpdateItemInput): Promise<UpdateItemOutput>;
}