component-dbs-core
Version:
DTO objects shared among device backend
27 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertDbStreamToTransaction = exports.convertDbItemToTransaction = void 0;
const tableSchema_1 = require("./schema/tableSchema");
const dynamodbUtils_1 = require("../common_services/dynamodb/dynamodbUtils");
const dynamodbUtils = new dynamodbUtils_1.DynamodbUtils();
/**
* map the attributes name different between database and Transaction interface
*/
const dbToTransactionNameMapping = {
id: 'deviceUuid',
transactionUuid: 'id',
};
/**
* The attributes in database which don't exit in Transaction
*/
const attributesToDelete = ['type', 'transactionUuid', 'panToken', 'par'];
exports.convertDbItemToTransaction = (item) => dynamodbUtils.convertDbItemToDto(item, dbToTransactionNameMapping, attributesToDelete);
exports.convertDbStreamToTransaction = (record) => {
const { dynamodb } = record;
const { NewImage: newImage } = dynamodb;
console.log('new Image ', newImage);
console.log('new Image string', JSON.stringify(newImage));
const transaction = tableSchema_1.unmarshallTransaction(newImage);
return exports.convertDbItemToTransaction(transaction);
};
//# sourceMappingURL=transactionUtils.js.map