app.get("/", function(req, res) { var currentLanguage = req.i18n.language; var currentNetwork = PacNEMBlockchain.getNetwork(); var notificationMessage = typeof flash("info") == "undefined" ? "" : req.flash("info"); var viewData = { currentNetwork: currentNetwork, currentLanguage: currentLanguage, PacNEM_Frontend_Config: PacNEM_Frontend_Config, notificationMessage: notificationMessage, isFacebookCanvas: false }; res.render("play", viewData); });
// Drops an existing connection config router.post('/config/drop_config', function (req, res, next){ var nconf = req.nconf.connections; var connPool = require('../connections'); // delete current config delete nconf.store.connections[req.body.curr_config]; connPool.removeConnection(req.body.curr_config, req.app); // save config nconf.save(function (err){ if(err){ console.error('Config error: ' + err); res.status(400).json({'msg': req.i18n.__('Config error') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Config successfully deleted')}); } }); });
// Rename an existing collection router.post('/collection/:conn/:db/:coll/coll_name_edit', function (req, res, next){ var connection_list = req.app.locals.dbConnections; // Check for existance of connection if(connection_list[req.params.conn] === undefined){ res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; } // Validate database name if(req.params.db.indexOf(' ') > -1){ res.status(400).json({'msg': req.i18n.__('Invalid database name')}); } // Get DB form pool var mongo_db = connection_list[req.params.conn].native.db(req.params.db); // change a collection name mongo_db.collection(req.params.coll).rename(req.body.new_collection_name, {'dropTarget': false}, function (err, coll_name){ if(err){ console.error('Error renaming collection: ' + err); res.status(400).json({'msg': req.i18n.__('Error renaming collection') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Collection successfully renamed')}); } }); });
// Facebook Canvas Game app.post("/facebook/game", function(req, res) { var currentLanguage = req.i18n.language; var currentNetwork = PacNEMBlockchain.getNetwork(); var notificationMessage = typeof flash("info") == "undefined" ? "" : req.flash("info"); var isFacebook = req.query.fb && parseInt(req.query.fb) === 1; console.log("[DEBUG] Handling Facebook Canvas request with: body: '" + JSON.stringify(req.body) + "', headers: '" + JSON.stringify(req.headers) + "', query: '" + JSON.stringify(req.query) + "'"); var viewData = { currentNetwork: currentNetwork, currentLanguage: currentLanguage, PacNEM_Frontend_Config: PacNEM_Frontend_Config, notificationMessage: notificationMessage, isFacebookCanvas: isFacebook }; res.render("play", viewData); });
common.render_error(res, req, req.i18n.__('Invalid connection name'), req.params.conn); return; common.render_error(res, req, req.i18n.__('Invalid database name'), req.params.conn); return; res.send(JSON.stringify(data, null, 2)); }else{ common.render_error(res, req, req.i18n.__('Export error: Collection not found'), req.params.conn);
res.status(400).json({'msg': req.i18n.__('Invalid connection name')}); res.status(400).json({'msg': req.i18n.__('Invalid database name')}); }catch(e){ console.error('Syntax error: ' + e); res.status(400).json({'msg': req.i18n.__('Syntax error. Please check the syntax')}); return; if(err){ console.error('Error updating document: ' + err); res.status(400).json({'msg': req.i18n.__('Error updating document') + ': ' + err}); }else{ if(doc['nModified'] === 0){ console.error('Error updating document: Document ID is incorrect'); res.status(400).json({'msg': req.i18n.__('Error updating document: Syntax error')}); }else{ res.status(200).json({'msg': req.i18n.__('Document successfully updated')});
// delete a database router.post('/database/:conn/db_delete', function (req, res, next){ var connection_list = req.app.locals.dbConnections; // Check for existance of connection if(connection_list[req.params.conn] === undefined){ res.status(400).json({'msg': req.i18n.__('Invalid connection')}); } // Get DB form pool var mongo_db = connection_list[req.params.conn].native.db(req.body.db_name); // delete a collection mongo_db.dropDatabase(function (err, result){ if(err){ console.error('Error deleting database: ' + err); res.status(400).json({'msg': req.i18n.__('Error deleting database') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Database successfully deleted'), 'db_name': req.body.db_name}); } }); });
// create a new database router.post('/database/:conn/db_create', function (req, res, next){ var connection_list = req.app.locals.dbConnections; // Check for existance of connection if(connection_list[req.params.conn] === undefined){ res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; } // check for valid DB name if(req.body.db_name.indexOf(' ') >= 0 || req.body.db_name.indexOf('.') >= 0){ res.status(400).json({'msg': req.i18n.__('Invalid database name')}); return; } // Get DB form pool var mongo_db = connection_list[req.params.conn].native.db(req.body.db_name); // adding a new collection to create the DB mongo_db.collection('test').save({}, function (err, docs){ if(err){ console.error('Error creating database: ' + err); res.status(400).json({'msg': req.i18n.__('Error creating database') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Database successfully created')}); } }); });
res.status(400).json({'msg': req.i18n.__('Invalid connection name')}); res.status(400).json({'msg': req.i18n.__('Invalid database name')}); if(err || docs.result.n === 0){ console.error('Error deleting document: ' + err); res.status(400).json({'msg': req.i18n.__('Error deleting document') + ': ' + req.i18n.__('Cannot find document by Id')}); }else{ res.status(200).json({'msg': req.i18n.__('Document successfully deleted')}); res.status(400).json({'msg': req.i18n.__('Cannot find document by Id')});
res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; res.status(400).json({'msg': req.i18n.__('Invalid database name')}); if(err){ console.error('Error creating index: ' + err); res.status(400).json({'msg': req.i18n.__('Error creating Index') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Index successfully created')});
// Drops an existing collection index router.post('/collection/:conn/:db/:coll/drop_index', function (req, res, next){ var connection_list = req.app.locals.dbConnections; // Check for existance of connection if(connection_list[req.params.conn] === undefined){ res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; } // Validate database name if(req.params.db.indexOf(' ') > -1){ res.status(400).json({'msg': req.i18n.__('Invalid database name')}); } // Get DB form pool var mongo_db = connection_list[req.params.conn].native.db(req.params.db); // adding a new index mongo_db.collection(req.params.coll).indexes(function (err, indexes){ mongo_db.collection(req.params.coll).dropIndex(indexes[req.body.index].name, function (err, index){ if(err){ console.error('Error dropping Index: ' + err); res.status(400).json({'msg': req.i18n.__('Error dropping Index') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Index successfully dropped')}); } }); }); });
res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; res.status(400).json({'msg': req.i18n.__('Invalid database name')}); if(err){ console.error('Error deleting collection: ' + err); res.status(400).json({'msg': req.i18n.__('Error deleting collection') + ': ' + err}); }else{ res.status(200).json({ 'msg': req.i18n.__('Collection successfully deleted'), 'coll_name': req.body.collection_name });
// Create a new collection router.post('/collection/:conn/:db/coll_create', function (req, res, next){ var connection_list = req.app.locals.dbConnections; // Check for existance of connection if(connection_list[req.params.conn] === undefined){ res.status(400).json({'msg': req.i18n.__('Invalid connection')}); return; } // Validate database name if(req.params.db.indexOf(' ') > -1){ res.status(400).json({'msg': req.i18n.__('Invalid database name')}); } // Get DB form pool var mongo_db = connection_list[req.params.conn].native.db(req.params.db); // adding a new collection mongo_db.createCollection(req.body.collection_name, function (err, coll){ if(err){ console.error('Error creating collection: ' + err); res.status(400).json({'msg': req.i18n.__('Error creating collection') + ': ' + err}); }else{ res.status(200).json({'msg': req.i18n.__('Collection successfully created')}); } }); });