Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. var mongoose = require('mongoose');
  2.  
  3. var User = new mongoose.Schema({
  4. username: String,
  5. password: String,
  6. created_at: {type: Date, default: Date.now}
  7. });
  8.  
  9. var Beep = new mongoose.Schema({
  10. created_by: { type: Schema.ObjectId, ref: 'User' },
  11. created_at: { type: Date, default: Date.now},
  12. text: String
  13. });
  14.  
  15.  
  16. //declaration of models with respective schemas
  17. module.exports = mongoose.model('User', User);
  18. module.exports = mongoose.model('Beep', Beep);
  19.  
  20. var mongoose = require('mongoose');
  21. var User = mongoose.model(User);
  22. var LocalStrategy = require('passport-local').Strategy;
  23. var bCrypt = require('bcrypt-nodejs');
  24.  
  25.  
  26. module.exports = function(passport){
  27.  
  28. passport.serializeUser(function(user, result) {
  29. console.log('serializing user:', user._id);
  30. //return the unique id for the user (the default id provided by mongoDB)
  31. return result(null, user._id);
  32. });
  33.  
  34.  
  35. passport.deserializeUser(function(username, result) {
  36.  
  37. user.findById(id, function(err, user){
  38.  
  39. //in case there's a mongoDB error
  40. if (err){
  41. return result (err, false);
  42. }
  43. //If no user with this username is found
  44. if (!user){
  45. return result('user '+ username + 'not found', false);
  46. }
  47. return result(null,user);
  48. });
  49.  
  50. var express = require('express');
  51. var path = require('path');
  52. var favicon = require('serve-favicon');
  53. var logger = require('morgan');
  54. var cookieParser = require('cookie-parser');
  55. var bodyParser = require('body-parser');
  56. var passport = require('passport');
  57. var session = require('express-session');
  58. var mongoose = require('mongoose');
  59. // Initialize models
  60. require('./models/models');
  61. //connection to mongoDB database
  62. mongoose.connect("mongodb://localhost:27017/bipperDB");
  63.  
  64. var api = require('./routes/api');
  65. var authenticate = require('./routes/authenticate')(passport);
  66.  
  67. var app = express();
  68.  
  69. // view engine setup
  70. app.set('views', path.join(__dirname, 'views'));
  71. app.set('view engine', 'ejs');
  72.  
  73. // uncomment after placing your favicon in /public
  74. //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
  75. app.use(logger('dev'));
  76. app.use(session({
  77. secret: 'super secret'
  78. }));
  79. app.use(bodyParser.json());
  80. app.use(bodyParser.urlencoded({ extended: false }));
  81. app.use(cookieParser());
  82. app.use(express.static(path.join(__dirname, 'public')));
  83. app.use (passport.initialize());
  84. app.use (passport.session());
  85.  
  86. // Initialize Passport
  87. var initPassport = require('./passport-init');
  88. initPassport(passport);
  89.  
  90. app.use('/api', api);
  91. app.use('/auth', authenticate);
  92.  
  93. // catch 404 and forward to error handler
  94. app.use(function(req, res, next) {
  95. var err = new Error('Not Found');
  96. err.status = 404;
  97. next(err);
  98. });
  99.  
  100. // error handler
  101. app.use(function(err, req, res, next) {
  102. // set locals, only providing error in development
  103. res.locals.message = err.message;
  104. res.locals.error = req.app.get('env') === 'development' ? err : {};
  105.  
  106. // render the error page
  107. res.status(err.status || 500);
  108. res.render('error');
  109. });
  110.  
  111. module.exports = app;
  112.  
  113. throw new mongoose.Error.MissingSchemaError(name);
  114. ^
  115. MissingSchemaError: Schema hasn't been registered for model "undefined".
  116. Use mongoose.model(name, schema)
  117. at Mongoose.model (C:wamp64wwwBippernode_modulesmongooselibindex.js:362:13)
  118. at Object.<anonymous> (C:wamp64wwwBipperpassport-init.js:5:21)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement