/** * @param {Object} data * @return {Promise} */ function post(data) { var defer = q.defer(), db = mongo.db('localhost', 27017, 'esthry'), upload_image, prepData; validation.validateObject(schema, data); // upload from URL if (data.image_url) { prepData = q.all([s3put.putFromUrl(data.image_url), imageUtils.getInfoFromUrl(data.image_url)]) .spread((s3_filename, image_data) => { data.date_created = Math.floor(new Date().getTime() / 1000); data.tags = _.isArray(data.tags) ? data.tags : [data.tags]; data.s3_url = s3_filename; data.type = image_data.type; data.size = image_data.size; delete data.image_url; return data; }); } else { // upload from image data prepData = s3put.putImageFromBase64(data.image_data.data, data.image_data.type) .then((s3_filename) => { data.date_created = Math.floor(new Date().getTime() / 1000); data.tags = _.isArray(data.tags) ? data.tags : [data.tags]; data.s3_url = s3_filename; data.type = data.image_data.type; data.size = data.image_data.size; delete data.image_data; return data; }); } // save object to mongo prepData.then((data) => { db.collection('assets'); db.assets.save(data, function(err, asset) { db.close(); if (err) { defer.reject(err); } defer.resolve(asset); }); }).done(); return defer.promise; }
var database = require('db'); db = database.db('ajoyal'); exports.index = function(req, res){ res.redirect('/othello'); }; exports.playOthello = function(req, res){ var user; (req.session.user) ? user = true : user = false; res.render('othello', {title: "Othello", game: "", user: user}) } exports.newuser = function(req, res){ res.render('newuser', {title: 'Register', user: false, error: ""}); } exports.createuser = function(req, res){ var name = req.body.name; var password = req.body.password; var email = req.body.email; db.getUserByEmail(email, function(err, result){ if(err){ console.log(err); } else { if (result.rows.length == 0){ var user = { 'name': name,