Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var app = express();
- var mongoose = require('mongoose');
- var bodyParser = require('body-parser');
- var passport = require('passport');
- mongoose.connect('mongodb://localhost/somedatabasename');
- app.set('port', process.env.PORT || 3000);
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(bodyParser.json());
- app.use(passport.initialize());
- // ... Passport JWT Strategy goes here - omitted for simplicity ...
- var userRouter = require('./api/users/routes');
- app.use('/users', userRouter);
- var todoRouter = require('./api/todos/routes');
- app.use('/todos', todoRouter);
- app.listen(app.get('port'), function() {
- console.log('App now running on http://localhost:' + app.get('port'));
- });
- var router = require('express').Router();
- var controller = require('./controller');
- var passport = require('passport');
- router.route('/')
- .all(passport.authenticate('jwt', { session: false}))
- .get(controller.getAll)
- .post(controller.create);
- router.route('/:id')
- .all(passport.authenticate('jwt', { session: false}))
- .get(controller.getOne)
- .put(controller.update)
- .delete(controller.delete);
- module.exports = router;
- var router = require('express').Router();
- var controller = require('./controller');
- var passport = require('passport');
- router.route('/')
- // User signup
- .post(controller.create);
- router.route('/me')
- // User Login
- .post(passport.authenticate('local', { session: false}), controller.login)
- // Get current user's data
- .get(passport.authenticate('jwt', { session: false}), controller.getOne)
- // Update current user's data
- .put(passport.authenticate('jwt', { session: false}), controller.update)
- // Delete current user
- .delete(passport.authenticate('jwt', { session: false}), controller.delete);
- module.exports = router;
- var mongoose = require('mongoose');
- var bcrypt = require('bcrypt');
- var UserSchema = new mongoose.Schema({
- username: {
- type: String,
- required: true,
- unique: true
- },
- password: {
- type: String,
- required: true
- }
- });
- // ... for simplicity imagine methods here to
- // - hash passwords on a pre save hook using bcrypt
- // - compare passwords using bcrypt when logging in
- module.exports = mongoose.model('User', UserSchema);
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- var momentSchema = new Schema({
- title: {
- type: String
- },
- // Bunch of other fields here...
- _user: {
- type: Schema.Types.ObjectId,
- ref: 'User'
- }
- });
- module.exports = mongoose.model('Moment', momentSchema);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement