const deleteAllItems = async (tableName, keyName, keyValue) => { const params = { TableName: tableName }; const data = await documentClient.scan(params).promise(); for (const item of data.Items) { const deleteParams = { TableName: tableName, Key: { [keyName]: keyValue(item) } }; await documentClient.delete(deleteParams).promise(); } }
function deleteOrder(orderId) { return docClient .delete({ TableName: "pizza-orders", Key: { orderId: orderId } }) .promise() .then(result => { console.log("Order is deleted!", result); return result; }) .catch(deleteError => { console.log(`Oops, order is not deleted :(`, deleteError); throw deleteError; }); }
function createDynamoClient() { const docClient = new DynamoDB.DocumentClient(dynamo); async function del(ids) { await ids.map(async id => docClient.delete(params(id)).promise() ); } async function hasItem(id) { return docClient.get(params(id)).promise() .then(res => !!res); } function params(id) { return { TableName: dynamo.itemsTable, Key: { id, }, }; } return { del, hasItem, }; }
app.delete('/todos/:todoId', (req, res) => { const { todoId } = req.params; const params = { TableName: TODOS_TABLE, Key: { todoId, }, }; dynamoDb.delete(params, (error) => { if (error) { console.log(`Error updating Todo with id ${todoId}`, error); res.status(400).json({ error: 'Could not delete Todo' }); } res.json({ success: true }); }); });
function createDynamoClient() { const docClient = new DynamoDB.DocumentClient({ region: 'eu-central-1', endpoint: 'http://localhost:4569', // !! tests are hitting localhost, not localstack! }); async function del(ids) { await ids.map(async id => docClient.delete(params(id)).promise() ); } async function hasItem(id) { return docClient.get(params(id)).promise() .then(res => !!res); } function params(id) { return { TableName: 'items', Key: { id, }, }; } return { del, hasItem, }; }
const deleteAllItems = async (tableName, keyName, keyValue) => { const params = { TableName: tableName }; const data = await documentClient.scan(params).promise(); for (const item of data.Items) { const deleteParams = { TableName: tableName, Key: { [keyName]: keyValue(item) } }; await documentClient.delete(deleteParams).promise(); } }