component-dbs-core
Version:
DTO objects shared among device backend
82 lines • 3.33 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const uuid_1 = require("uuid");
const aws_sdk_1 = __importDefault(require("aws-sdk"));
/**
* create some dummy transaction data
*/
const createTransactionData = () => __awaiter(void 0, void 0, void 0, function* () {
const deviceUuid = '413edb61-acb0-4475-921a-dfe1aaa59e2f';
const entityUuid = uuid_1.v4();
const siteUuid = uuid_1.v4();
const total = 100;
aws_sdk_1.default.config.update({ region: 'ap-southeast-2' });
const ddb = new aws_sdk_1.default.DynamoDB({ apiVersion: '2012-08-10' });
const proms = [];
const sleep = () => new Promise((resolve) => setTimeout(resolve, 10));
for (let i = 0; i < total; i++) {
const txn = {
id: { S: deviceUuid },
type: { S: `transaction.${new Date().getTime()}` },
transactionUuid: { S: uuid_1.v4() },
timestamp: { S: new Date().toISOString() },
entityUuid: { S: entityUuid },
deviceName: { S: uuid_1.v4() },
siteUuid: { S: siteUuid },
siteName: { S: uuid_1.v4() },
amount: { N: '200' },
saleAmount: { N: '0' },
tipAmount: { N: '100' },
feeAmount: { N: '400' },
surchargeAmount: { N: '500' },
scheme: { S: '' + "AMEX" /* AMEX */ },
transactionType: {
S: i % 2 === 0 ? "PURCHASE" /* PURCHASE */ : "REFUND" /* REFUND */,
},
status: { S: "APPROVED" /* APPROVED */ },
maskedPan: { S: 'masked' },
depositUuid: { S: uuid_1.v4() },
depositDate: { S: new Date().toISOString() },
reference: { S: uuid_1.v4() },
par: { S: uuid_1.v4() },
panToken: { S: uuid_1.v4() },
taxAmounts: {
L: [
{
M: {
name: { S: 'name' },
amount: { N: '100' },
},
},
],
},
};
yield sleep();
const params = {
TableName: 'joey-dbs-api-Devices',
Item: txn,
};
proms.push(ddb.putItem(params).promise());
}
try {
const ret = yield Promise.all(proms);
console.log(ret);
}
catch (err) {
console.error(err);
}
});
createTransactionData();
//# sourceMappingURL=createTransactionDemoData.js.map