diff --git a/core/db.js b/core/db.js index 2ee7982..bac97c9 100644 --- a/core/db.js +++ b/core/db.js @@ -151,7 +151,7 @@ exports.saveEntry = function(fields, callback){ connection.query(sqlEmailExists, [data.email], function(err, results) { if(!err) { if(results[0]['cnt'] > 0){ - callback(true); + callback({email: "Email address already exists"}); return; }else{ let sql = "INSERT INTO entries (firstname, lastname, email, country, message, anon, ipv4, image, " @@ -180,7 +180,7 @@ exports.saveEntry = function(fields, callback){ function(err, results) { connection.release(); console.log('this.sql', this.sql); //command/query - if(err) { callback(true); return; } + if(err) { callback({error: "Internal server error"}); return; } callback(false, results); } ); diff --git a/core/entryController.js b/core/entryController.js index 2b6bae3..e9504af 100644 --- a/core/entryController.js +++ b/core/entryController.js @@ -124,6 +124,7 @@ exports.createEntry = function(req, res) { fields = {}, files = [], errorFields = [], + out = {}, requiredFields = ['email', 'firstname', 'anon', 'message'], allowedFields = ['email', 'firstname', 'lastname', 'anon', 'message', 'country', 'beta', 'newsletter', 'pax']; @@ -148,6 +149,7 @@ exports.createEntry = function(req, res) { if(value === undefined || value === ''){ errorFields.push(field); + out[field] = "Missing required field"; } } @@ -171,25 +173,18 @@ exports.createEntry = function(req, res) { // TODO: ensure valid email format if(requiredFields.length > 0 || typeError || sizeError || errorFields.length > 0){ - let out = {success : false}; + out ["success"] = false; + out['test'] = true; if(hasFile){ fs.unlinkSync(files[0].path); } if(typeError){ - out["mimeError"] = "wrong filetype "+files[0].type + out["file"] = "Wrong filetype "+files[0].type } if(sizeError){ - out["sizeError"] = "file size exceeded max size "+form.maxFieldsSize; - } - - if(requiredFields.length > 0){ - out["missingFields"] = requiredFields; - } - - if(errorFields.length > 0){ - out["fieldErrors"] = errorFields; + out["file"] = "File size exceeded max size of "+form.maxFieldsSize; } res.status(400).json(out); @@ -219,7 +214,8 @@ exports.createEntry = function(req, res) { res.status(200).json({success : true}); }else{ - res.status(400).json({success : false, message : "error"}); + console.log(err); + res.status(400).json(Object.assign({success : false}, err)); } }); }