Advertisement
Guest User

Untitled

a guest
Apr 14th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. var mongoose = require('mongoose');
  2. var plm = require('passport-local-mongoose');
  3.  
  4. var userSchema = new mongoose.Schema({
  5. username:{type:String},
  6. password: {type:String},
  7. users_answers:[{question:String,answer_text:String,postdate:Date}],
  8. goals_checklist:[{label:String, status:String}],
  9. diarylog_user:[{slider:String, value:String, postdate:Date}]
  10. });
  11.  
  12. userSchema.plugin(plm);
  13.  
  14. module.exports = mongoose.model('User', userSchema);
  15.  
  16. var express = require('express');
  17. var router = express.Router();
  18. var mongoose = require('mongoose');
  19. var Question = require('../models/Question.js');
  20. var User = require('../models/User.js');
  21. var app = express();
  22.  
  23. function isLoggedIn(req, res, next){
  24. if(req.isAuthenticated()){
  25. return next();
  26. }
  27. res.redirect('/');
  28. }
  29.  
  30.  
  31. router.get('/', function(req, res, next) {
  32. Question.find(function(err, questions){
  33. if(err) return next(err);
  34.  
  35. res.json(questions);
  36.  
  37. });
  38. });
  39.  
  40.  
  41. router.post('/saved-questions', function(req, res, next){
  42.  
  43. var now = Date();
  44. User.findById('58f1939d4978c29078d8295c', function(err, user){
  45.  
  46. var newanswer1 = {
  47. question: '58ccb991caf9756f8e1d8a6c',
  48. answer_text: req.body.Q1,
  49. postdate: now
  50. }
  51.  
  52. user.users_answers.push(newanswer1);
  53.  
  54. user.save(function(err){
  55. if(err) {
  56. console.log('error sorry');
  57. } else{
  58. console.log('save');
  59. //console.log(user.username);
  60. }
  61. });
  62. });
  63.  
  64.  
  65. });
  66. module.exports = router;
  67.  
  68. var express = require('express');
  69. var path = require('path');
  70. var favicon = require('serve-favicon');
  71. var logger = require('morgan');
  72. var cookieParser = require('cookie-parser');
  73. var bodyParser = require('body-parser');
  74. var mongoose = require('mongoose');
  75. var session = require('express-session');
  76. var passport = require('passport');
  77. var flash = require('connect-flash');
  78. var validator = require('express-validator');
  79.  
  80. var LocalStrategy = require('passport-local').Strategy;
  81.  
  82. var User = require('./models/User.js');
  83.  
  84.  
  85. var app = express();
  86.  
  87. mongoose.Promise = global.Promise
  88. mongoose.Promise = require('bluebird');
  89.  
  90. mongoose.connect('mongodb://localhost/healthycopeDB', function(err) {
  91. if(err) {
  92. console.log('error connecting', err);
  93. }else{
  94. console.log('connected');
  95. }
  96. });
  97.  
  98.  
  99. app.use(function(req,res,next){
  100. res.header('Access-Control-Allow-Origin', "*");
  101. res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
  102. res.header('Access-Control-Allow-Headers', 'Content-Type');
  103. next();
  104. })
  105.  
  106. var index = require('./routes/index');
  107. var users = require('./routes/users');
  108. var questions = require('./routes/questions');
  109. var goallists= require('./routes/goallists');
  110. var categories = require('./routes/categories');
  111. var levels = require('./routes/levels');
  112. var diarylogs = require('./routes/diarylogs');
  113. var ratings = require('./routes/ratings');
  114. var emotionregs = require('./routes/emotionregs');
  115.  
  116.  
  117.  
  118. // view engine setup
  119. app.set('views', path.join(__dirname, 'views'));
  120. app.set('view engine', 'ejs');
  121.  
  122. app.use(logger('dev'));
  123. app.use(bodyParser.json());
  124. app.use(bodyParser.urlencoded({ extended: false }));
  125. app.use(validator());
  126. app.use(cookieParser());
  127. app.use(session({ secret: 'mysupersecret', resave: false, saveUninitialized:
  128. false}));
  129. app.use(flash());
  130. app.use(passport.initialize());
  131. app.use(passport.session());
  132. app.use(express.static(path.join(__dirname, 'public')));
  133.  
  134.  
  135. passport.use(new LocalStrategy(User.authenticate()));
  136. passport.serializeUser(User.serializeUser());
  137. passport.deserializeUser(User.deserializeUser());
  138.  
  139.  
  140. var index = require('./routes/index');
  141. var users = require('./routes/users');
  142. var questions = require('./routes/questions');
  143. var goallists= require('./routes/goallists');
  144. var categories = require('./routes/categories');
  145. var levels = require('./routes/levels');
  146. var diarylogs = require('./routes/diarylogs');
  147. var ratings = require('./routes/ratings');
  148. var emotionregs = require('./routes/emotionregs');
  149.  
  150. app.use('/users', users);
  151. app.use('/questions', questions);
  152. app.use('/goallists', goallists);
  153. app.use('/categories', categories);
  154. app.use('/levels',levels);
  155. app.use('/diarylogs', diarylogs);
  156. app.use('/ratings', ratings);
  157. app.use('/emotionregs',emotionregs);
  158.  
  159.  
  160. app.use('/', index);
  161.  
  162. // catch 404 and forward to error handler
  163. app.use(function(req, res, next) {
  164. var err = new Error('Not Found');
  165. err.status = 404;
  166. next(err);
  167. });
  168.  
  169. // error handlers
  170.  
  171. // development error handler
  172. // will print stacktrace
  173.  
  174. if (app.get('env') === 'development') {
  175. app.use(function(err, req, res, next) {
  176. res.status(err.status || 500);
  177. res.render('error', {
  178. message: err.message,
  179. error: err
  180. });
  181. });
  182. }
  183.  
  184. // production error handler
  185. // no stacktraces leaked to user
  186. app.use(function(err, req, res, next) {
  187. res.status(err.status || 500);
  188. res.render('error', {
  189. message: err.message,
  190. error: {}
  191. });
  192. });
  193.  
  194.  
  195. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement