UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

86 lines (85 loc) 4.09 kB
'use strict'; 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 }); exports.getData = exports.sourceId = void 0; const ansi_colors_1 = require("ansi-colors"); const moment_1 = __importDefault(require("moment")); const endpoints_1 = require("../endpoints"); const index_js_1 = __importDefault(require("../error/index.js")); const constants_1 = require("../util_modules/constants"); const js_1 = require("../util_modules/js"); const index_1 = require("../util_modules/logger/index"); exports.sourceId = 'NULL'; function getData(options = {}) { return __awaiter(this, void 0, void 0, function* () { const tableId = options.table; let columnDetails = constants_1.DEFAULT.datastore.column_details; if (tableId !== undefined) { columnDetails = (yield (yield (0, endpoints_1.datastoreAPI)()).getColumnDetails(tableId).catch((err) => { if (err.status && err.status === 404) { throw new index_js_1.default('Invalid table identifier', { exit: 1, errorId: 'DSTORE-1', arg: [(0, ansi_colors_1.bold)(tableId), (0, ansi_colors_1.bold)('--table')] }); } throw err; })); if (!Array.isArray(columnDetails)) { throw new index_js_1.default('Invalid column details', { exit: 2 }); } const rowColumn = columnDetails.find((col) => col.column_name === 'ROWID'); if (rowColumn === undefined) { throw new index_js_1.default('There is no ROWID column present in the column details', { exit: 2 }); } exports.sourceId = rowColumn.table_id; } else { exports.sourceId = js_1.JS.randomNumber(15).toString(); } return columnDetails.reduce((accumulator, current) => { switch (current.data_type) { case 'bigint': case 'foreignkey': accumulator[0][current.column_name] = js_1.JS.randomNumber(15); break; case 'datetime': accumulator[0][current.column_name] = (0, moment_1.default)().format('YYYY-MM-DD HH:mm:ss:SSS'); break; case 'text': case 'varchar': accumulator[0][current.column_name] = js_1.JS.randomString(10); break; case 'date': accumulator[0][current.column_name] = (0, moment_1.default)().format('YYYY-MM-DD'); break; case 'boolean': accumulator[0][current.column_name] = js_1.JS.random(0, 1) === 1 ? true : false; break; case 'int': case 'double': accumulator[0][current.column_name] = js_1.JS.randomNumber(5); break; default: (0, index_1.debug)('Unknown data_type received: ' + current.data_type); break; } return accumulator; }, [{}])[0]; }); } exports.getData = getData;