From 0c785ab730997972b573c48d25f958dea5ad62b9 Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Sun, 24 Jul 2016 01:49:46 -0400 Subject: Implemented messaging system. Form neesds to be fixed --- node_simple.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 4 deletions(-) (limited to 'node_simple.js') diff --git a/node_simple.js b/node_simple.js index 2976b58..cf5c372 100644 --- a/node_simple.js +++ b/node_simple.js @@ -157,7 +157,6 @@ exports.retrieveFollows = function (user_name, callback) { }); }; - // will add comments ASAP /* callback(success, data/message) => callback(boolean, object/String); * @@ -279,7 +278,7 @@ exports.add_user = function (fields, callbackUser) { if (result == false) { // find out if the user_name is taken - exports.find_user_name( fields[1], callbackUser, function (docs) { + exports.find_user_name( fields[1], function (docs) { if (docs == false) { // if not ... // continue console.log("user name is valid"); @@ -333,7 +332,7 @@ exports.add_user = function (fields, callbackUser) { * This (helper) function returns true IFF user_name already exists in the database * Params: user_name - the user name * */ -exports.find_user_name = function (user_name, callbackUser, callback) { +exports.find_user_name = function (user_name, callback) { // make a connection mongoFactory.getConnection(uri) .then(function (db) { @@ -961,7 +960,7 @@ exports.addAdmin = function (admin_data, callback) { console.log("inside addAdmin"); - // Check if the admin username already exists. If it does, then we don't add the admin_data and return a message. + // Check if the admin username already exists. Also check for user username. If it does, then we don't add the admin_data and return a message. exports.adminExists( admin_data.username , function (error, exists, data, message) { console.log("adminExists: " + message); if (!exists && !error) { @@ -1018,7 +1017,68 @@ exports.adminExists = function (username, callback) { }; +/****************************** MAIL *********************************/ + +/* + * mail_data = { + * sender: sender_username, + * receiver: receiver_username, + * message: message, + * date: date, + * } + * + * callback(success, error, message) + * + */ + +exports.sendMail = function (mail_data, callback) { + exports.find_user_name(mail_data.receiver, function (exist){ + if (exist) { + mongoFactory.getConnection(uri).then(function(db) { + var mail = db.collection('mail'); + + mail.insertOne(mail_data, function(err) { + if (err) { + callback(false, true, 'Error: could not send message.'); + db.close(); + } + else { + callback(true, false, "Message sent."); + db.close(); + } + }); + }); + } else { + callback(false, false, 'The receiver\'s username is undefined.'); + } + }); +} +/* + * + * callback(success, error, data, message) + * Returns the user's inbox (array of message objects) + * + */ + +exports.checkMailbox = function (username, callback) { + + mongoFactory.getConnection(uri).then(function(db) { + + var mail = db.collection('mail'); + + mail.find({receiver: username}).toArray(function (err, data) { + if (err) { + callback(false, true, null, 'Error: could not retrieve inbox messages.'); + } else if (!data) { + callback(false, false, null, 'No inbox.'); + } else { + callback(true, false, data, 'Retrieved inbox'); + } + }); + }); + +} -- cgit v1.2.3 From d50d4e2afd3d72ae9c4a24e41d627f80c32845f7 Mon Sep 17 00:00:00 2001 From: HumairAK Date: Sun, 24 Jul 2016 01:51:18 -0400 Subject: minor fixes --- node_simple.js | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'node_simple.js') diff --git a/node_simple.js b/node_simple.js index 74a28db..cb649c2 100644 --- a/node_simple.js +++ b/node_simple.js @@ -279,11 +279,11 @@ exports.add_user = function (fields, callbackUser) { }; // find out if this user already exists by checking their email - exports.find_user( fields[0] ,callbackUser, function (result, callbackUser) { + exports.find_user( fields[0], function (result) { if (result == false) { // find out if the user_name is taken - exports.find_user_name( fields[1], callbackUser, function (docs) { + exports.find_user_name( fields[1], function (docs) { if (docs == false) { // if not ... // continue console.log("user name is valid"); @@ -337,7 +337,7 @@ exports.add_user = function (fields, callbackUser) { * This (helper) function returns true IFF user_name already exists in the database * Params: user_name - the user name * */ -exports.find_user_name = function (user_name, callbackUser, callback) { +exports.find_user_name = function (user_name, callback) { // make a connection mongoFactory.getConnection(uri) .then(function (db) { @@ -364,6 +364,7 @@ exports.find_user_name = function (user_name, callbackUser, callback) { */ exports.retrieveUser = function (username, callback) { + mongoFactory.getConnection(uri).then(function (db) { var users = db.collection('users'); @@ -392,7 +393,6 @@ exports.retrieveUser = function (username, callback) { */ exports.retrievePassword = function (username, callback) { - mongoFactory.getConnection(uri).then(function (db) { var collection = db.collection('logins'); @@ -415,7 +415,7 @@ exports.retrievePassword = function (username, callback) { /* * This (helper) function returns true IFF email already exists in the database * */ -exports.find_user = function (email, callbackUser, callback) { +exports.find_user = function (email, callback) { // make a connection console.log("inside find_user"); mongoFactory.getConnection(uri) @@ -425,10 +425,10 @@ exports.find_user = function (email, callbackUser, callback) { logins.find( { email: email } ).toArray(function (err, result) { if (err) throw err; else if (result.length == 0) { // nothing was found so this user is new - callback(false, callbackUser); + callback(false); } else { - callback(true, callbackUser); + callback(true); } }); // db.close(); @@ -1024,6 +1024,23 @@ exports.adminExists = function (username, callback) { +exports.findUserByID = function (id, callback) { + // make a connection + console.log("inside findUserByID"); + mongoFactory.getConnection(uri) + .then(function (db) { + var logins = db.collection('logins'); + logins.find( { _id : id }, function (err, result) { + callback(err, result); + db.close(); + }); + }) + .catch(function (err) { + console.err(err); + }) +}; + + -- cgit v1.2.3 From cba46a33d60a2ccb42745e6cf3ad5858f1bf98a3 Mon Sep 17 00:00:00 2001 From: HumairAK Date: Sun, 24 Jul 2016 01:51:28 -0400 Subject: minor fixes --- node_simple.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node_simple.js') diff --git a/node_simple.js b/node_simple.js index cb649c2..af6f4ef 100644 --- a/node_simple.js +++ b/node_simple.js @@ -1023,7 +1023,7 @@ exports.adminExists = function (username, callback) { - +//testing exports.findUserByID = function (id, callback) { // make a connection console.log("inside findUserByID"); -- cgit v1.2.3