Guest User

Untitled

a guest
Dec 12th, 2017
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.05 KB | None | 0 0
  1. PM2 | App [Lerative] with id [0] and pid [27744], exited with code [1] via signal [SIGINT]
  2. PM2 | Starting execution sequence in -fork mode- for app name:Lerative id:0
  3. PM2 | App name:Lerative id:0 online
  4. 0|Lerative | ObjectParameterError: Parameter "obj" to Document() must be an object, got function (req, res, next) {
  5. 0|Lerative | app.handle(req, res, next);
  6. 0|Lerative | }
  7. 0|Lerative | at new ObjectParameterError (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/error/objectParameter.js:23:11)
  8. 0|Lerative | at model.Document (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/document.js:54:11)
  9. 0|Lerative | at model.Model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:55:12)
  10. 0|Lerative | at new model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:3901:13)
  11. 0|Lerative | at model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:3899:16)
  12. 0|Lerative | at module.exports (/home/ec2-user/lerative-backend/api/models/index.js:5:5)
  13. 0|Lerative | at NativeConnection.<anonymous> (/home/ec2-user/lerative-backend/server.js:30:28)
  14. 0|Lerative | at Object.onceWrapper (events.js:254:19)
  15. 0|Lerative | at NativeConnection.emit (events.js:159:13)
  16. 0|Lerative | at /home/ec2-user/lerative-backend/node_modules/mongoose/lib/connection.js:860:13
  17. 0|Lerative | at connectCallback (/home/ec2-user/lerative-backend/node_modules/mongoose/node_modules/mongodb/lib/mongo_client.js:515:5)
  18. 0|Lerative | at /home/ec2-user/lerative-backend/node_modules/mongoose/node_modules/mongodb/lib/mongo_client.js:430:11
  19. 0|Lerative | at _combinedTickCallback (internal/process/next_tick.js:131:7)
  20. 0|Lerative | at process._tickDomainCallback (internal/process/next_tick.js:218:9)
  21.  
  22. mongoose.Promise = global.Promise;
  23. mongoose.connect(mongoURL, { useMongoClient : true});
  24. // configure app to use bodyParser()
  25. // this will let us get the data from a POST
  26. app.use(bodyParser.urlencoded({ extended: true }));
  27. app.use(bodyParser.json());
  28.  
  29. var port = process.env.PORT || 3000; // set our PORT
  30.  
  31.  
  32. // REGISTER ROUTES
  33. // all of our routes will be prefixed with /api
  34.  
  35. // START THE server
  36. // ============================================================
  37. var db = mongoose.connection;
  38. db.on('error', console.error.bind(console, 'connection error:'));
  39. db.once('open', function() {
  40. require('./api/models')(app, db);
  41. require('./api/routes')(app, db);
  42. app.listen(port, () => {
  43. console.log('We are live on ' + port);
  44. });
  45. });
  46.  
  47. var mongoose = require('mongoose');
  48.  
  49. var Schema = mongoose.Schema;
  50.  
  51. var userSchema = Schema({
  52. firstName: { type:String, required: [true, 'First name is empty.']},
  53. lastName : { type:String, required: [true, 'Last name is empty.']},
  54. username : { type:String, required: [true, 'Username is empty.']},
  55. password : { type:String, required: [true, 'Password is empty.']},
  56. mail : { type:String, required: [true, 'Mail is empty.']},
  57. created_at: { type: Date, default: new Date() },
  58. updated_at: { type: Date, default: new Date() },
  59. interests: [],
  60. readingLists: [],
  61. library: {},
  62. contributions: []
  63. });
  64.  
  65.  
  66.  
  67. module.exports = mongoose.model('User', userSchema,'User');
  68.  
  69. // routes/user_routes.js
  70.  
  71. const User = require("../models/user_model");
  72. const ObjectID = require('mongodb').ObjectID;
  73.  
  74. module.exports = function(app, db) {
  75.  
  76. // GET USER WITH ID
  77. app.get('/user/:id', (req, res) => {
  78. const id = { '_id' : new ObjectID(req.params.id) };
  79. User.findById(req.params.id, (err, user) => {
  80. if (err) {
  81. res.status(500).send(err); // 500 means database error
  82. }
  83. if (user) {
  84. res.status(200).send(user); // 200 means success
  85. }else {
  86. res.status(404).send("No user found with this ID.");
  87. }
  88. });
  89. });
  90.  
  91. // POST -- CREATE NEW USER
  92. app.post('/user', (req, res) => {
  93. let newUser = new User(req.body);
  94. newUser.save((err, createdUser) => {
  95. if (err) {
  96. res.status(500).send(err);
  97. }else {
  98. // This createdUser is the same one we saved, but after Mongo
  99. // added its additional properties like _id.
  100. res.status(200).send(createdUser);
  101. }
  102. });
  103. });
  104.  
  105. // DELETE EXISTING USER
  106. app.delete('/user/:id', (req, res) => {
  107. const id = { '_id' : new ObjectID(req.params.id) };
  108. User.findByIdAndRemove(req.params.id, (err, user) => {
  109. if (err) {
  110. res.status(500).send(err);
  111. }else {
  112. res.status(200).send({ 'message' : req.params.id + 'successfully deleted.' });
  113. }
  114. });
  115. });
  116.  
  117. // PUT - UPDATE EXISTING USER
  118. app.put('/user/:id', (req, res) => {
  119. const id = { '_id' : new ObjectID(req.params.id) };
  120. User.findByIdAndUpdate(id, req.body, (err, user) => {
  121. if (err) {
  122. res.status(500).send(err);
  123. }else {
  124. res.status(200).send(req.body);
  125. }
  126. });
  127. });
  128. };
Add Comment
Please, Sign In to add comment