put method
Future<OperationOutput>
put({
- required Map<
String, dynamic> item, - required String tableName,
- String? conditionExpression,
- ConditionalOperator? conditionalOperator,
- Map<
String, ExpectedAttributeValueDC> ? expected, - Map<
String, String> ? expressionAttributeNames, - Map<
String, dynamic> ? expressionAttributeValues, - ReturnConsumedCapacity? returnConsumedCapacity,
- ReturnItemCollectionMetrics? returnItemCollectionMetrics,
- ReturnValue? returnValues,
Creates a new item, or replaces an old item with a new item by delegating to AWS.DynamoDB.putItem().
Implementation
Future<OperationOutput> put({
required Map<String, dynamic> item,
required String tableName,
String? conditionExpression,
ConditionalOperator? conditionalOperator,
Map<String, ExpectedAttributeValueDC>? expected,
Map<String, String>? expressionAttributeNames,
Map<String, dynamic>? expressionAttributeValues,
ReturnConsumedCapacity? returnConsumedCapacity,
ReturnItemCollectionMetrics? returnItemCollectionMetrics,
ReturnValue? returnValues,
}) async {
final pr = await dynamoDB.putItem(
item: item.fromJsonToAttributeValue(),
tableName: tableName,
conditionExpression: conditionExpression,
conditionalOperator: conditionalOperator,
expected: expected?.map((key, value) => MapEntry(
key,
ExpectedAttributeValue(
attributeValueList:
value.attributeValueList.map(toAttributeValue).toList(),
comparisonOperator: value.comparisonOperator,
exists: value.exists,
value: toAttributeValue(value.value),
))),
expressionAttributeNames: expressionAttributeNames,
expressionAttributeValues:
expressionAttributeValues?.fromJsonToAttributeValue(),
returnConsumedCapacity: returnConsumedCapacity,
returnItemCollectionMetrics: returnItemCollectionMetrics,
returnValues: returnValues,
);
return OperationOutput(
attributes: pr.attributes?.toJson() ?? {},
consumedCapacity: pr.consumedCapacity,
itemCollectionMetrics: ItemCollectionMetricsDC(
itemCollectionKey:
pr.itemCollectionMetrics?.itemCollectionKey?.toJson() ?? {},
sizeEstimateRangeGB: pr.itemCollectionMetrics?.sizeEstimateRangeGB,
),
);
}