component-dbs-core
Version:
DTO objects shared among device backend
26 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertDbStreamToDeposit = exports.convertDbItemToDeposit = void 0;
const dynamodbUtils_1 = require("../common_services/dynamodb/dynamodbUtils");
const tableSchema_1 = require("./schema/tableSchema");
const dynamodbUtils = new dynamodbUtils_1.DynamodbUtils();
/**
* map the attributes name different between database and Transaction interface
*/
const dbToDepositNameMapping = {
depositUuid: 'id',
};
/**
* The attributes in database which don't exit in Deposit
*/
const attributesToDelete = ['type', 'depositUuid'];
exports.convertDbItemToDeposit = (item) => dynamodbUtils.convertDbItemToDto(item, dbToDepositNameMapping, attributesToDelete);
exports.convertDbStreamToDeposit = (record) => {
const { dynamodb } = record;
const { NewImage: newImage } = dynamodb;
console.log('new Image ', newImage);
console.log('new Image string', JSON.stringify(newImage));
const deposit = tableSchema_1.unmarshallDeposit(newImage);
return exports.convertDbItemToDeposit(deposit);
};
//# sourceMappingURL=depositUtils.js.map