Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
process.exit(1);
return;
}
const servicePID = storage.getItemSync(serviceName);
let serviceStopped = false;
if (servicePID !== null) {
try {
execSync(`kill -9 ${servicePID} > /dev/null 2>&1`);
serviceStopped = true;
} catch (err) {
// NOOP
}
}
storage.removeItemSync(serviceName);
return serviceStopped;
}
const stopService = serviceId => {
const servicePID = storage.getItemSync(serviceId);
if (servicePID !== null) {
try {
execSync(`kill -9 ${servicePID} > /dev/null 2>&1`);
} catch (err) {
// NOOP
}
}
storage.removeItemSync(serviceId);
};
async.eachLimit(this.mem._pids, this.config.nbb.postsBatchSize, function(_pid, done) {
count++;
var storedPost = storage.getItem('p.' + _pid);
if (!storedPost || !storedPost.normalized) {
logger.warn('[count:' + count + '] skipped post:_pid: ' + _pid + ' it doesn\'t exist in storage');
// todo [async-going-sync-hack]
setTimeout(function(){done();}, 0); return;
}
var normalizedPost = storedPost.normalized,
importedPost = flushed ? null : storedPost.imported,
skippedPost = normalizedPost._skip ? {_pid: _pid} : flushed ? null : storedPost.skipped;
if (importedPost || skippedPost) {
logger.warn('skipping post:_pid: ' + _pid + ' already processed, destiny: ' + (importedPost ? 'imported' : 'skipped'));
// todo [async-going-sync-hack]
setTimeout(function(){done();}, 0);
export async function finishRegistration(jwt?: Accownt.JWT): Promise {
if (jwt === null) throw 'Invalid or expired token';
// Verify JWT's userId matches the userId that the JWT's email points to
// This way only the most recent email verification JWT is valid since it
// will point to the newest user
const userId = await emailToId(jwt.email);
if (userId != jwt.userId)
throw 'This token has been invalidated by a newer one';
// Verify user's email
await storage.init(STORAGE);
const user: Accownt.User = await storage.getItem(`user-${jwt.userId}`);
user.verified = true;
await storage.setItem(`user-${jwt.userId}`, user);
return await signJWT(jwt.userId, jwt.email, JWT_EXPIRES_IN);
}
// Load preferences
storage.initSync();
if (typeof storage.getItem('activePlayer') === 'undefined') {
storage.setItem('activePlayer', 'itunes');
}
var activePlayer = storage.getItem('activePlayer');
console.log("Starting with active player: " + activePlayer);
if (typeof storage.getItem('controlGlobalVolume') === 'undefined') {
storage.setItem('controlGlobalVolume', true);
}
var controlGlobalVolume = storage.getItem('controlGlobalVolume');
console.log("Controls global volume: " + controlGlobalVolume);
// GUI
var localIP;
require('dns').lookup(require('os').hostname(), function (err, add, fam) {
localIP = add;
menu.insert(new gui.MenuItem({
label: 'Server running on ' + localIP,
enabled: false
}), 0);
})
var tray = new gui.Tray({
private async insertResponsesIntoCache(
response: Array
) {
// console.debug(`Preparing to cache ${response.length} coordinate responses`);
for (let i = 0; i < response.length; i++) {
await NodePersist.setItem(response[i].coordinates, response[i]);
}
// console.debug(`Done caching`);
return response;
}
export async function finishRegistration(jwt?: Accownt.JWT): Promise {
if (jwt === null) throw 'Invalid or expired token';
// Verify JWT's userId matches the userId that the JWT's email points to
// This way only the most recent email verification JWT is valid since it
// will point to the newest user
const userId = await emailToId(jwt.email);
if (userId != jwt.userId)
throw 'This token has been invalidated by a newer one';
// Verify user's email
await storage.init(STORAGE);
const user: Accownt.User = await storage.getItem(`user-${jwt.userId}`);
user.verified = true;
await storage.setItem(`user-${jwt.userId}`, user);
return await signJWT(jwt.userId, jwt.email, JWT_EXPIRES_IN);
}
const port = 8080;
var server;
// Load preferences
storage.initSync();
if (typeof storage.getItem('activePlayer') === 'undefined') {
storage.setItem('activePlayer', 'itunes');
}
var activePlayer = storage.getItem('activePlayer');
console.log("Starting with active player: " + activePlayer);
if (typeof storage.getItem('controlGlobalVolume') === 'undefined') {
storage.setItem('controlGlobalVolume', true);
}
var controlGlobalVolume = storage.getItem('controlGlobalVolume');
console.log("Controls global volume: " + controlGlobalVolume);
// GUI
var localIP;
require('dns').lookup(require('os').hostname(), function (err, add, fam) {
localIP = add;
menu.insert(new gui.MenuItem({
label: 'Server running on ' + localIP,
enabled: false
}), 0);
})
async _initStorageSubSystem() {
await storage.init();
try {
const tmpIgnore = await storage.getItem('ignored');
this.Ignore = tmpIgnore || this.Ignore;
const tmpAdmins = await storage.getItem('admins');
if (tmpAdmins) {
this.Admins = tmpAdmins;
} else {
this.Admins = [_.toLower(this.Config.owner.nick)];
await storage.setItem('admins', this.Admins);
}
} catch (err) {
logger.error('Error Loading the Persisted Assets'); // TODO Localize
return;
}
logger.info(t('storage.initialized'));
}
async _initStorageSubSystem() {
await storage.init();
try {
const tmpIgnore = await storage.getItem('ignored');
this.Ignore = tmpIgnore || this.Ignore;
const tmpAdmins = await storage.getItem('admins');
if (tmpAdmins) {
this.Admins = tmpAdmins;
} else {
this.Admins = [_.toLower(this.Config.owner.nick)];
await storage.setItem('admins', this.Admins);
}
} catch (err) {
logger.error('Error Loading the Persisted Assets'); // TODO Localize
return;
}
logger.info(t('storage.initialized'));
}