Skip to content

TableTransactGet

Table-level command to perform a transactional read across multiple entity types.

Unlike TransactGet which operates on a single entity type, this command accepts get operations from multiple entities via entity.prepare(new TransactGet({ keys: [...] })) and returns results grouped by entity in a tuple structure.

const { items } = await table.send(new TableTransactGet({
gets: [
userEntity.prepare(new TransactGet({ keys: [{ userId: 'u1' }] })),
orderEntity.prepare(new TransactGet({ keys: [{ orderId: 'o1' }, { orderId: 'o2' }] })),
],
}))
const [users, orders] = items
// users: (User | undefined)[]
// orders: (Order | undefined)[]

Gets extends PreparedGetTransaction<ZodObject>[]

new TableTransactGet<Gets>(config): TableTransactGet<Gets>;

TableTransactGetConfig<Gets>

TableTransactGet<Gets>

execute(table): Promise<TableTransactGetResult<Gets>>;

DynamoTable

Promise<TableTransactGetResult<Gets>>

TableCommand.execute