@env0/dynamo-easy
Version:
DynamoDB client for NodeJS and browser with a fluent api to build requests. We take care of the type mapping between JS and DynamoDB, customizable trough typescript decorators.
31 lines • 1.13 kB
JavaScript
import { createLogger } from '../../../logger/logger';
import { toDb } from '../../../mapper/mapper';
import { createIfNotExistsCondition } from '../../expression/create-if-not-exists-condition.function';
import { WriteRequest } from '../write.request';
/**
* Request class for the PutItem operation.
*/
export class PutRequest extends WriteRequest {
constructor(dynamoDBWrapper, modelClazz, item) {
super(dynamoDBWrapper, modelClazz);
this.logger = createLogger('dynamo.request.PutRequest', modelClazz);
this.params.Item = toDb(item, this.modelClazz);
}
/**
* Adds a condition expression to the request, which makes sure the item will only be saved if the id does not exist
*/
ifNotExists(predicate = true) {
if (predicate) {
this.onlyIf(...createIfNotExistsCondition(this.metadata));
}
return this;
}
returnValues(returnValues) {
this.params.ReturnValues = returnValues;
return this;
}
doRequest(params) {
return this.dynamoDBWrapper.putItem(params);
}
}
//# sourceMappingURL=put.request.js.map