arnaucube
arnaucube/thoughtsPublic Self-hosted repository
thoughts/server.js
server.jsRaw
 1var express         = require("express"),
 2    app             = express(),
 3    bodyParser      = require("body-parser"),
 4    methodOverride  = require("method-override"),
 5    mongoose        = require('mongoose');
 6
 7
 8var morgan      = require('morgan');
 9var jwt    = require('jsonwebtoken'); // used to create, sign, and verify tokens
10var config = require('./config'); // get our config file
11
12
13// Connection to DB
14mongoose.connect(config.database, function(err, res) {
15  if(err) throw err;
16  console.log('Connected to Database');
17});
18app.set('superSecret', config.secret); // secret variable
19
20// Middlewares
21app.use(bodyParser.urlencoded({ extended: false }));
22app.use(bodyParser.json());
23app.use(methodOverride());
24
25// use morgan to log requests to the console
26app.use(morgan('dev'));
27
28// Import Models and controllers
29var userMdl     = require('./models/userModel')(app, mongoose);
30var userCtrl = require('./controllers/userController');
31
32var thoughtMdl     = require('./models/thoughtModel')(app, mongoose);
33var thoughtCtrl = require('./controllers/thoughtController');
34
35/*// Example Route
36var router = express.Router();
37router.get('/', function(req, res) {
38  res.send("Hello world!");
39});
40app.use(router);*/
41app.use(express.static(__dirname + '/web'));
42
43// API routes
44var apiRoutes = express.Router();
45
46apiRoutes.route('/users')
47  .get(userCtrl.findAllUsers)
48  .post(userCtrl.addUser);
49
50apiRoutes.route('/users/:id')
51  .get(userCtrl.findById)
52  .put(userCtrl.updateActivity)
53  .delete(userCtrl.deleteActivity);
54
55apiRoutes.route('/auth')
56    .post(userCtrl.login);
57
58apiRoutes.route('/thoughts')
59  .get(thoughtCtrl.findAllThoughts)
60  .post(thoughtCtrl.addThought);
61
62apiRoutes.route('/thoughts/:id')
63  .get(thoughtCtrl.findById)
64  .put(thoughtCtrl.updateActivity)
65  .delete(thoughtCtrl.deleteActivity);
66
67app.use('/api', apiRoutes);
68
69// Start server
70app.listen(3000, function() {
71  console.log("Node server running on http://localhost:3000");
72});