Guest User

Untitled

a guest
May 16th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. // Handles the post request for following a user
  2. router.post('/follow-user', function(req, res, next) {
  3.  
  4. // First, find the user from the user page being viewed
  5. User.findOne({ username: req.body.username }, function(err, user) {
  6.  
  7. // Add to users followers with ID of the logged in user
  8. user.followers = req.user._id;
  9.  
  10. // Create variable for user from page being viewed
  11. var followedUser = user._id;
  12.  
  13. // Save followers data to user
  14. user.save();
  15.  
  16. // Secondly, find the user account for the logged in user
  17. User.findOne({ username: req.user.username }, function(err, user) {
  18.  
  19. // Add the user ID from the users profile the follow button was clicked
  20. user.following = followedUser;
  21.  
  22. // Save following data to user
  23. user.save();
  24. });
  25. });
  26. });
  27.  
  28. var userSchema = new Schema({
  29. username: { type: String, required: true, unique: true },
  30. password: { type: String, required: true },
  31. email: { type: String, required: true },
  32. avatar: { type: String },
  33. bio: { type: String },
  34. following: [{ type: Schema.ObjectId, ref: 'User' }],
  35. followers: [{ type: Schema.ObjectId, ref: 'User' }],
  36. });
  37.  
  38. User.findOne({ username: req.body.username }, function(err, user) {
  39.  
  40. user.followers.push(req.user._id);
  41. var followedUser = user._id;
  42. user.save(function(err){
  43. if(err){
  44. //Handle error
  45. //send error response
  46. }
  47. else
  48. {
  49. // Secondly, find the user account for the logged in user
  50. User.findOne({ username: req.user.username }, function(err, user) {
  51.  
  52. user.following.push(followedUser);
  53. user.save(function(err){
  54. if(err){
  55. //Handle error
  56. //send error response
  57. }
  58. else{
  59. //send success response
  60. }
  61. });
  62. });
  63. }
  64. });
  65. });
  66.  
  67. {
  68. //Handle error
  69. //send error response
  70. }
  71. else{
  72. //send success response
  73. }
  74. });
Add Comment
Please, Sign In to add comment