import { DeleteItemCommandInput, PutItemCommandInput, QueryCommandInput, UpdateItemCommandInput } from '@aws-sdk/client-dynamodb'; import { BaconAWSDataRequestInstructions } from '../../types/enums/bacon-aws-data-req-instructions'; import { BaconDataLayerKinds } from '../../types/enums/bacon-data-layer-kinds'; export abstract class BaconBaseAWSDataRequestStrategy { instruction: BaconAWSDataRequestInstructions; kind: BaconDataLayerKinds; inputCommand: DeleteItemCommandInput | PutItemCommandInput | QueryCommandInput | UpdateItemCommandInput; /** *Creates an instance of BaconBaseAWSDataRequestStrategy. * @override * @param {BaconAWSDataRequestInstructions} instruction * @param {BaconDataLayerKinds} kind * @param {(DeleteItemCommandInput | PutItemCommandInput | QueryCommandInput | UpdateItemCommandInput)} inputCommand * @memberof BaconBaseAWSDataRequestStrategy */ constructor (instruction: BaconAWSDataRequestInstructions, kind: BaconDataLayerKinds, inputCommand: DeleteItemCommandInput | PutItemCommandInput | QueryCommandInput | UpdateItemCommandInput) { this.instruction = instruction; this.kind = kind; this.inputCommand = inputCommand; } }