exports.retrieveResumeForUser = function(user) { var NO_RESUME_MSG = global.ERROR_MESSAGES().no_resume_found; var query = new Parse.Query("Resume"); query.equalTo("user", user[0]); return query.find( function(resumes) { if (resumes.length < 1) return Parse.Promise.error(NO_RESUME_MSG); return resumes[0]; }, function(error) { return Parse.Promise.error(NO_RESUME_MSG); }); }
exports.findUserWithEmail = function(email) { var NO_USER_MSG = global.ERROR_MESSAGES().no_usr_email_found; if (email_handler.findEmailAddresses(email) < 1) return Parse.Promise.error(NO_USER_MSG); var query = new Parse.Query(Parse.User); query.equalTo("email", email); return query.find( function(users) { if (users.length < 1) { return Parse.Promise.error(NO_USER_MSG); } return users[0]; }, function(error) { return Parse.Promise.error(NO_USER_MSG); }); }
exports.receiveSMS = function(sender, message, response) { if (sender == null) { response.error(); return; } if (message == null) { response.error(); return; } var from = sender; var to = global.TWILIO_DATA().number; var msg = message; response.success(); return new SMS(from, to, msg); }
exports.findUserWithPhone = function(phone) { var NO_USER_MSG = global.ERROR_MESSAGES().no_usr_phone_found; if (phone_handler.findPhoneNumbers(phone) < 1) return Parse.Promise.error(NO_USER_MSG); var filteredPhone = phone_handler.filterPhone(phone); var query = new Parse.Query(Parse.User); query.equalTo("phone", phone); return query.find( function(users) { if (users.length < 1) { return Parse.Promise.error(NO_USER_MSG); } return users[0]; }, function(error) { return Parse.Promise.error(NO_USER_MSG); }); }
exports.uploadResumeForUser = function(user) { var NO_SAVE = global.ERROR_MESSAGES().could_not_save; /* * This is what the code should look like to * grab a file from express form */ var fileUploadControl = $("#resumeFile")[0]; if (fileUploadControl.files.length < 1) { return Parse.Promise.error("Invalid file"); } var file = fileUploadControl.files[0]; var parseFile = new Parse.File(fileName, file); return parseFile.save().then(function() { return saveResumeObject(parseFile, user[0]); }); }
// -- Global Vars -- // var global = require('cloud/globals.js'); // -- Twilio SMS Account -- // var Twilio = require('twilio'); Twilio.initialize(global.TWILIO_DATA().accountSid, global.TWILIO_DATA().authToken); function InvalidPhoneException() {} // -- Utilities -- // // Finding phone numbers in strings exports.findPhoneNumbers = function(messageStr) { var phoneNumbersArray = []; if (messageStr.length < 10) return phoneNumbersArray; phoneNumbersArray = messageStr.match(/\+?1?[0-9]{3}[\- ]?[0-9]{3}[\- ]?[0-9]{4}/); return phoneNumbersArray; } exports.filterPhone = function(phone) { var filteredPhone = phone.replace("-",""); var filteredPhone = phone.replace("+",""); if (filteredPhone[0] == '1') filteredPhone = filteredPhone.substring(1,filteredPhone.length); if (filteredPhone.length != 10) throw InvalidPhoneException("Less than 10 digits"); return filteredPhone; }