const description = dynamoDB.describeTable(params, function(errDesc, dataDesc) { if (errDesc) { console.error("THERE IS A BIG PROBLEM! SEEMS THAT THE TABLE WHICH MUST CONTAIN THE MODEL DOESN'T EXIST: ", errDesc);
it("generates next object", async () => { documentClient.scan.mockImplementation(yields({ Items: ["Foo"] })); const reader = new DynamoDbItemReader( "SCAN", new AWS.DynamoDB.DocumentClient(), dynamoDbParams ); const next = await reader.next(); expect(next).toEqual({ item: "Foo", cursor: { index: 0 }, finished: true }); });
const clientConstructor = (options = {}) => { const dynamoClient = new DynamoDB.DocumentClient(options) promisifyDocumentClient(dynamoClient) autoRetry(dynamoClient) appendDeleteAll(dynamoClient) appendPutAll(dynamoClient) appendQueryExtensions(dynamoClient) appendScanExtensions(dynamoClient) return dynamoClient }
const genDynamoEvent = (correlationIDs = {}) => { const event = _.cloneDeep(dynamo) const data = { '__context__': correlationIDs } const record = event.Records[0] const unmarshalledNewImage = dynamoDbClient.Converter.unmarshall(record.dynamodb.NewImage) const newImage = Object.assign(unmarshalledNewImage, data) record.dynamodb.NewImage = dynamoDbClient.Converter.marshall(newImage) return event }
db.scan({TableName: 'grumblr', AttributesToGet: ['id', 'date', 'title']}, function(err, res) { if (err) return cb(err) cb(null, res.Items.map(fromDynamo).sort(function(post1, post2) { return post1.date.localeCompare(post2.date) })) })
constructor(connectionTableName, endpoint) { this.connectionTableName = connectionTableName; this.DDB = new AWS.DynamoDB(); this.documentClient = new AWS.DynamoDB.DocumentClient(); this.endpoint = endpoint; }
function deleteItem(pk, callback) { var params = { TableName: TABLE_NAME, Key: { pk: { S: pk } } } ddb.deleteItem(params, callback) }
it("throws error when operation is not supported", async () => { expect( () => new DynamoDbItemReader( "BOOM", new AWS.DynamoDB.DocumentClient(), dynamoDbParams ) ).toThrow( "Unsupported DynamoDB operation! Supported operations are SCAN and QUERY." ); });
db.getItem({TableName: 'grumblr', Key: {id: {S: id}}}, function(err, res) { if (err) return cb(err) if (!res.Item) return cb(new Error('NotFound')) cb(null, fromDynamo(res.Item)) })
function User() { this.saltRounds = 10; this.dynamoDB = new AWS.DynamoDB.DocumentClient({ region: config.REGION, endpoint: config.DYNAMODB_ENDPOINT }); this.tableName = `${config.ENV_NAME}_Users`; }
function Message() { this.dynamoDB = new AWS.DynamoDB.DocumentClient({ region: config.REGION, endpoint: config.DYNAMODB_ENDPOINT }); this.tableName = `${config.ENV_NAME}_Messages`; }
constructor(connectionTableName, endpoint) { this.connectionTableName = connectionTableName; this.DDB = new AWS.DynamoDB(); this.documentClient = new AWS.DynamoDB.DocumentClient(); this.endpoint = endpoint; }
const genDynamoEvent = (correlationIDs = {}) => { const event = _.cloneDeep(dynamo) const data = { '__context__': correlationIDs } const record = event.Records[0] const unmarshalledNewImage = dynamoDbClient.Converter.unmarshall(record.dynamodb.NewImage) const newImage = Object.assign(unmarshalledNewImage, data) record.dynamodb.NewImage = dynamoDbClient.Converter.marshall(newImage) return event }
it("throws error when operation is not supported", async () => { expect( () => new DynamoDbItemReader( "BOOM", new AWS.DynamoDB.DocumentClient(), dynamoDbParams ) ).toThrow( "Unsupported DynamoDB operation! Supported operations are SCAN and QUERY." ); });
it("generates next object", async () => { documentClient.scan.mockImplementation(yields({ Items: ["Foo"] })); const reader = new DynamoDbItemReader( "SCAN", new AWS.DynamoDB.DocumentClient(), dynamoDbParams ); const next = await reader.next(); expect(next).toEqual({ item: "Foo", cursor: { index: 0 }, finished: true }); });