Skip to content

ConditionCheck

Command to verify a condition without modifying data in a transaction.

import { DynamoTable, DynamoEntity, key, TransactWrite, ConditionCheck, Update } from 'dynamo-document-builder';
const table = new DynamoTable({
tableName: 'ExampleTable',
documentClient,
});
const userEntity = new DynamoEntity({
table,
schema: z.object({
userId: z.string(),
balance: z.number(),
}),
partitionKey: user => key('USER', user.userId),
sortKey: () => 'METADATA',
});
const transactWriteCommand = new TransactWrite({
writes: [
new ConditionCheck({
key: { userId: 'user1' },
condition: { balance: greaterThan(100) },
}),
new Update({ key: { userId: 'user2' }, update: { balance: add(50) } }),
],
});
await userEntity.send(transactWriteCommand);

Schema extends ZodObject

The Zod schema defining the structure of the entity.

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

ConditionCheckConfig<Schema>

ConditionCheck<Schema>

prepareWriteTransaction(entity): Promise<TransactWriteOperation>;

DynamoEntity<Schema>

Promise<TransactWriteOperation>

WriteTransactable.prepareWriteTransaction