"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var fs = __importStar(require("fs")); var generate_1 = require("./src/generate"); var vault_1 = require("./src/vault"); var configPath = "", action = -1, pubKey = "", privKey = "", safeFile = "", mails = "", html = ""; for (var i = 1; i < process.argv.length; i++) { if (process.argv[i] === "--config") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { configPath = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--pubkey") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { pubKey = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--privkey") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { privKey = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--safe") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { safeFile = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--mails") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { mails = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--html") { if (i + 1 < process.argv.length && !process.argv[i + 1].startsWith("--")) { html = process.argv[i + 1]; } else { throw new Error("Invalid params"); } } if (process.argv[i] === "--send") { action = 1; } if (process.argv[i] === "--decrypt") { action = 2; } if (process.argv[i] === "--genkey") { action = 3; } } if (action == -1) { throw new Error("No Action specified"); } if (!configPath && action == 1) { throw new Error("Config-Path not specified"); } if (!pubKey && action != 2) { throw new Error("Public-Key not specified"); } if (!safeFile && action != 3) { throw new Error("Safe-file not specified"); } if (!privKey && action >= 2) { throw new Error("Private-Key not specified"); } if (!mails && action == 1) { throw new Error("Mail-Input not specified"); } if (!html && action == 1) { throw new Error("Mail-Template not specified"); } if (action == 1) { var dataSafe_1 = new vault_1.SecureVault(pubKey, privKey); var confRaw = fs.readFileSync(configPath, 'utf8'); var config = {}; try { config = JSON.parse(confRaw); config.inFileMail = mails; config.htmlPath = html; } catch (error) { console.error("Cannote read config file!"); process.exit(100); } generate_1.generateToken(config, dataSafe_1).then(function (el) { console.log(el); dataSafe_1.saveData(safeFile); }).catch(function (err) { return console.error("error", err); }); } else if (action == 2) { var dataSafe = new vault_1.SecureVault(pubKey, privKey); dataSafe.loadData(safeFile); dataSafe.decryptData(); } else if (action == 3) { vault_1.SecureVault.genKey(pubKey, privKey); }