示例#1
0
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);
  });
}
示例#2
0
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);
  });
}
示例#3
0
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);
}
示例#4
0
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);
  });
}
示例#5
0
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]);
  });
}
示例#6
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;
}