Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
{
let buffer = lua.to_luastring("return " + input);
status = lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin);
}
if (status !== lua.LUA_OK) {
lua.lua_pop(L, 1);
let buffer = lua.to_luastring(input);
if (lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin) === lua.LUA_OK) {
status = lua.LUA_OK;
}
}
while (status === lua.LUA_ERRSYNTAX && lua.lua_tojsstring(L, -1).endsWith("")) {
/* continuation */
lua.lua_pop(L, 1);
lua.lua_getglobal(L, _PROMPT2);
input += "\n" + readlineSync.prompt({
prompt: lua.lua_tojsstring(L, -1) || '>> '
});
lua.lua_pop(L, 1);
let buffer = lua.to_luastring(input);
status = lauxlib.luaL_loadbuffer(L, buffer, buffer.length, stdin);
}
if (status === lua.LUA_OK) {
status = docall(L, 0, lua.LUA_MULTRET);
}
if (status === lua.LUA_OK) {
let n = lua.lua_gettop(L);
if (n > 0) { /* any result to be printed? */
lua.lua_getglobal(L, lua.to_luastring("print"));
lua.lua_insert(L, 1);
if (lua.lua_pcall(L, n, 0, 0) != lua.LUA_OK) {
lauxlib.lua_writestringerror(`error calling 'print' (${lua.lua_tojsstring(L, -1)})\n`);
}
// Hide the `topResult` action in action list (because this update does not overwrite `topResult`).
delete actions.e
}
// Print prompt choices.
util.log()
for (var actionKey in actions) {
util.log(actionKey, '-', actions[actionKey])
}
// Require user to input one of the specified action keys.
var actionKeys = Object.keys(actions)
var query = '(' + (testIndex + 1) + ' of ' + tests.length + ') Overwrite this test [' + actionKeys + ']? '
var actionKey = readlineSync.keyIn(util.colors.bold.blue(query), {
limit: actionKeys,
caseSensitive: true,
})
switch (actionKey) {
case 'y':
// Overwrite this entire test.
return true
case 'e':
// Restore original `topResult` in new test.
util.log('Original `topResult` restored.')
newTest.topResult = existingTest.topResult
return true
case 'n':
// Skip this test.
return false
function main(args) {
var collection, baasConn, opt = getopt.parse(args);
try {
baasConn = common.processOptions(opt);
if (baasConn.collection) {
console.log('using org:%s app:%s, delete all items from collection: %s\n',
baasConn.org, baasConn.app, baasConn.collection);
console.log('** YOU WILL LOSE DATA.');
if (!readlineSync.keyInYN('Are you sure? : ')) {
// the user did not press Y
console.log('abort.');
process.exit();
}
common.logWrite('start');
var startTime = new Date();
common.usergridAuth(baasConn, function (e, ugClient) {
if (e) {
common.logWrite(JSON.stringify(e, null, 2) + '\n');
process.exit(1);
}
common.ugCollectionForEach(ugClient,
{ type:baasConn.collection, qs:{limit:pageSize} },
deleteOneEntity,
function(e) { allDone(e, startTime); });
});
function main(args) {
var collection, baasConn, opt = getopt.parse(args);
try {
baasConn = common.processOptions(opt, getopt);
if (baasConn.collection && opt.options.file) {
console.log('using org:%s app:%s, export all items from collection: %s to file %s\n',
baasConn.org, baasConn.app, baasConn.collection, opt.options.file);
if (!readlineSync.keyInYN('Continue? : ')) {
// the user did not press Y
console.log('abort.');
process.exit();
}
common.logWrite('start');
var startTime = new Date();
common.usergridAuth(baasConn, function (e, ugClient) {
if (e) {
common.logWrite(JSON.stringify(e, null, 2) + '\n');
process.exit(1);
}
var writer = fs.createWriteStream(opt.options.file);
var entityStorer = curry(storeOneEntity, writer);
writer.write('[', null, function(e) {
function commandResetSecurity (options) {
const
cout = new ColorOutput(options);
let userIsSure = false;
console.log(cout.warn('[ℹ] You are about to clear all created users, profiles and roles.'));
console.log(cout.warn('[ℹ] This operation cannot be undone.\n'));
if (!params.noint) {
userIsSure = readlineSync.question('[❓] Are you sure? If so, please type "I am sure": ') === 'I am sure';
}
else {
// non-interactive mode
userIsSure = true;
}
if (userIsSure) {
console.log(cout.notice('[ℹ] Processing...\n'));
const query = {
controller: 'admin',
action: 'resetSecurity'
};
return sendAction(query, options)
.then(() => {
console.log(cout.ok('[✔] Kuzzle users, profiles and roles have been successfully reset'));
if (fs.existsSync(infoPath)) {
info = JSON.parse(fs.readFileSync(infoPath)) || {};
} else {
console.log('Creating ' + infoPath + ' -- please add it to .gitignore if applicable');
}
if (info.root !== root) {
writeInfo(info, { root: root });
}
if (info.dir !== dirPath) {
writeInfo(info, { dir: dirPath });
}
if (!info.clientId || resetAuth) {
var clientId = readlineSync.question(
'Enter your client ID: '
);
writeInfo(info, { clientId: clientId });
}
if (!info.secretKey || resetAuth) {
var secretKey = readlineSync.question(
'Enter your client secret key: ', {
hideEchoBack: true
}
);
// Encrypt key just in case it gets committed or shared
writeInfo(info, { secretKey: encryptSecret(secretKey) });
}
resetAuth = false;
async execute(options: CommandOptions) {
await this.setupConfig();
let divisibility = OptionsResolver(options, 'divisibility', () => { return ''; }, 'Enter a mosaic divisibility: ');
divisibility = divisibility < 0 ? 0 : divisibility > 6 ? 6 : divisibility
console.log('');
const supplyMutable = readlineSync.keyInYN(
'Should the mosaic supply be mutable? ');
console.log('');
const transferable = readlineSync.keyInYN(
'Should the mosaic be transferable? ');
console.log('');
const restrictable = readlineSync.keyInYN(
'Should the mosaic be restrictable? ');
// add a block monitor
this.monitorBlocks();
const address = this.getAddress("tester1").plain();
this.monitorAddress(address);
return await this.createMosaic(divisibility, supplyMutable, transferable, restrictable);
}
function particleLogin() {
clear();
//prompt for user and password
var userName = readlineSync.questionEMail('Particle Username/Email:');
var password = readlineSync.question('Particle Password:', {
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
});
console.log('Logging in to Particle...'.green);
spark.login({username: userName.trim(), password: password.trim()},loginCallback);
}
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
});
try {
return web3.eth.accounts.decrypt(keyStore, password);
} catch (error) {
console.log(chalk.red('Could not decrypt your key store. Probably your password is wrong, please try again.'));
return getAccount(filePath);
}
} else {
let privKey = readlineSync.question('Enter your private key to generate your key store file: ', {
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
});
if (privKey.substr(0, 2) !== '0x') {
privKey = '0x' + privKey;
}
const password = readlineSync.questionNewPassword(
'Enter a password to encrypt your private key: ',
{ confirmMessage: 'Enter the same password to confirm: ', min: 6 }
);
const keyStore = web3.eth.accounts.encrypt(privKey, password);
fs.writeFileSync(filePath, JSON.stringify(keyStore));
return getAccount(filePath);
}
}
function continueLoop() {
var answer = readline.question("\nPress q to break, any other key to continue.\n")
if (answer.toLowerCase() === 'q') {
return false;
}
return true;
}
//