Skip to content

ConditionalDelete

Command to remove an item with a condition expression.

import { DynamoTable, DynamoEntity, key, ConditionalDelete } from 'dynamo-document-builder';
const table = new DynamoTable({
tableName: 'ExampleTable',
documentClient,
});
const userEntity = new DynamoEntity({
table,
schema: z.object({
userId: z.string(),
status: z.string(),
}),
partitionKey: user => key('USER', user.userId),
sortKey: () => 'METADATA',
});
const conditionalDeleteCommand = new ConditionalDelete({
key: { userId: 'user123' },
condition: { status: 'inactive' },
returnValues: 'ALL_OLD',
});
const { deletedItem } = await userEntity.send(conditionalDeleteCommand);

Schema extends ZodObject

The Zod schema defining the structure of the entity.

new ConditionalDelete<Schema>(config): ConditionalDelete<Schema>;

ConditionalDeleteConfig<Schema>

ConditionalDelete<Schema>

execute(entity): Promise<ConditionalDeleteResult<Schema>>;

DynamoEntity<Schema>

Promise<ConditionalDeleteResult<Schema>>

BaseCommand.execute


prepareWriteTransaction(entity): Promise<TransactWriteOperation>;

DynamoEntity<Schema>

Promise<TransactWriteOperation>

WriteTransactable.prepareWriteTransaction