ConditionalPut
Command to create or replace an item with a condition expression.
Example
Section titled “Example”import { DynamoTable, DynamoEntity, key, ConditionalPut, notExists } from 'dynamo-document-builder';
const table = new DynamoTable({ tableName: 'ExampleTable', documentClient,});
const userEntity = new DynamoEntity({ table, schema: z.object({ userId: z.string(), name: z.string(), status: z.string(), }), partitionKey: user => key('USER', user.userId), sortKey: () => 'METADATA',});
const conditionalPutCommand = new ConditionalPut({ item: { userId: 'user123', name: 'John', status: 'active' }, condition: { status: 'draft' }, returnValuesOnConditionCheckFailure: 'ALL_OLD',});
await userEntity.send(conditionalPutCommand);Type Parameters
Section titled “Type Parameters”Schema
Section titled “Schema”Schema extends ZodObject
The Zod schema defining the structure of the entity.
Implements
Section titled “Implements”BaseCommand<ConditionalPutResult<Schema>,Schema>WriteTransactable<Schema>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ConditionalPut<Schema>(config): ConditionalPut<Schema>;Parameters
Section titled “Parameters”config
Section titled “config”ConditionalPutConfig<Schema>
Returns
Section titled “Returns”ConditionalPut<Schema>
Methods
Section titled “Methods”buildItem()
Section titled “buildItem()”buildItem(entity): Promise< | output<Schema> & DynamoKey | input<Schema> & DynamoKey>;Parameters
Section titled “Parameters”entity
Section titled “entity”DynamoEntity<Schema>
Returns
Section titled “Returns”Promise<
| output<Schema> & DynamoKey
| input<Schema> & DynamoKey>
execute()
Section titled “execute()”execute(entity): Promise<ConditionalPutResult<Schema>>;Parameters
Section titled “Parameters”entity
Section titled “entity”DynamoEntity<Schema>
Returns
Section titled “Returns”Promise<ConditionalPutResult<Schema>>
Implementation of
Section titled “Implementation of”prepareWriteTransaction()
Section titled “prepareWriteTransaction()”prepareWriteTransaction(entity): Promise<TransactWriteOperation>;Parameters
Section titled “Parameters”entity
Section titled “entity”DynamoEntity<Schema>
Returns
Section titled “Returns”Promise<TransactWriteOperation>