Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. app.get('/authenticate', function(req, res) {
  2. linkedin.people.me(['id', 'first-name', 'last-name', 'email-address', 'positions', 'picture-url::(original)', 'industry', 'headline'], function(err, $in) {
  3. if ( err )
  4. return console.log(err);
  5.  
  6. req.session.linkedinID: linkedinID;
  7.  
  8. var linkedInUser = {
  9. currentPosition: $in.positions.values[0].company.name,
  10. linkedinID: $in.id,
  11. firstname: $in.firstName,
  12. lastname: $in.lastName,
  13. email: $in.emailAddress,
  14. pictureURL: $in.pictureUrl
  15. }
  16.  
  17. // for a user with the same id as the recID
  18. User.findOne({ 'linkedIn.linkedinID' : linkedinID}, function(err, user) {
  19. if (err)
  20. return (err);
  21. // if the user is found, then log them in
  22. if (user) {
  23. req.session.user = user;
  24. // find recruiter with the same id
  25. Recruiter.findById(user._id, function(err, recruiter) {
  26. if (err) throw err;
  27. // associating reviews
  28. user.reviews = recruiter.reviews;
  29. // save the user
  30. user.save(function(err) {
  31. if (err) throw err;
  32. });
  33. });
  34. return res.redirect('/authenticated-profile/' + user._id); // user found, return that user
  35.  
  36. } else {
  37.  
  38. var recruiterID = req.session.recruiter_id;
  39. var ratings = [];
  40. // Create new user and associate with recruiter
  41. Recruiter.findByIdAndUpdate(
  42. recruiterID,
  43. {$push: {pictureURL: pictureURL}},
  44. {safe: true, upsert: true, new : true},
  45. function(err, recruiter) {
  46. if (err) throw err;
  47.  
  48. ratings = recruiter.reviews;
  49. var newUser = new User();
  50. newUser = {
  51. linkedIn: {
  52. _id: recruiterID,
  53. currentPosition: linkedInUser.currentPosition,
  54. linkedinID: linkedInUser.linkedinID,
  55. linkedinToken: req.session.token,
  56. firstname: linkedInUser.firstname,
  57. lastname: linkedInUser.lastname,
  58. emailAddress: linkedInUser.emailAddress,
  59. pictureURL: linkedInUser.pictureURL,
  60. reviews: ratings
  61. }
  62. }
  63.  
  64. // saving user to the database
  65. newUser.save(function(err) {
  66. if (err)
  67. throw err;
  68. req.flash('successMessage', 'authenticated');
  69. // if successful, return the new user
  70. req.session.user = newUser;
  71. return res.redirect('/authenticated-profile/' + newUser._id);
  72. });
  73. });
  74. }
  75. });
  76. });
  77. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement