Advertisement
purxiz

Untitled

Apr 17th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express     = require('express');
  2. var router      = express.Router();
  3.  
  4. var Event = require('../models/event');
  5.  
  6. var jwt         = require('jsonwebtoken');
  7.  
  8. router.use(function(req, res, next) {
  9.     console.log('API request has been received');
  10.     next();
  11. });
  12.  
  13. router.route('/')
  14.     .get(function(req, res){ //Load All Events
  15.         Event.find(function(err, events) {
  16.             if(err){
  17.                 res.send(err);
  18.                 return;
  19.             }
  20.             res.status(200).json(events);
  21.         });
  22.     })
  23. ;
  24.  
  25. router.route('/recent/:numToReturn/:offset')
  26.     .get(function(req, res) {
  27.         Event.find().sort({'createdAt': -1}).skip(parseInt(req.params.offset)).limit(parseInt(req.params.numToReturn)).exec(function(err, events) {
  28.             if(err){
  29.                 res.send(err);
  30.                     return;
  31.                 }
  32.             res.json(events);
  33.         });
  34.     })
  35. ;
  36.  
  37. router.route('/:token')
  38.     .post(function(req, res){ //Save New Event
  39.         jwt.verify(req.params.token, 'test-secret', function(err, userID) {
  40.             if(err) {
  41.                 res.send(err);
  42.                 return;
  43.             }
  44.             var event = new Event();
  45.             event.creatorID = userID.userID;
  46.             event.title     = req.body.title;
  47.             event.date      = req.body.date;
  48.             event.location  = req.body.location;
  49.             event.bodyText  = req.body.bodyText;
  50.             event.save(function(err) {
  51.                 if(err){
  52.                     res.send(err);
  53.                     return;
  54.                 }
  55.                 res.json( { message: 'EVENT POSTED' } );
  56.             });
  57.         });
  58.     })
  59. ;
  60.  
  61. router.route('/:token/:numToReturn/:offset')
  62.     .get(function(req, res){ //Load An Amount of Creator's Events
  63.         jwt.verify(req.params.token, 'test-secret', function(err, userID) {
  64.             if(err) {
  65.                 res.send(err);
  66.                 return;
  67.             }
  68.             Event.find({creatorID : userID.userID}).skip(parseInt(req.params.offset)).limit(parseInt(req.params.numToReturn)).exec(function(err, events) {
  69.                 if(err){
  70.                     res.send(err);
  71.                     return;
  72.                 }
  73.                 res.json(events);
  74.             });
  75.         });
  76.     })
  77. ;
  78.  
  79. router.route('/:token/:eventID')
  80.     .put(function(req, res){ //Edit Creator's Event(Title)
  81.         jwt.verify(req.params.token, 'test-secret', function(err, userID) {
  82.             if(err) {
  83.                 res.send(err);
  84.                 return;
  85.             }
  86.             Event.findById(req.params.eventID, function(err, event){
  87.                 if(err){
  88.                     res.send(err);
  89.                     return;
  90.                 }
  91.                 if(req.body.title)
  92.                     event.title = req.body.title;
  93.                 if(req.body.date)
  94.                     event.date = req.body.date;
  95.                 if(req.body.location)
  96.                     event.location = req.body.location;
  97.                 if(req.body.body)
  98.                     event.body = req.body.body;
  99.                 event.save(function(err){
  100.                     if(err){
  101.                         res.send(err);
  102.                         return;
  103.                     }
  104.                     res.json( { message: 'EVENT PUT' } );
  105.                 });
  106.  
  107.             });
  108.  
  109.         });
  110.  
  111.     })
  112.  
  113.     .delete(function(req, res){ //Delete Character's Event(Title)
  114.         jwt.verify(req.params.token, 'test-secret', function(err, userID) {
  115.             if(err) {
  116.                 res.send(err);
  117.                 return;
  118.             }
  119.             Event.remove({
  120.                 _id: req.params.eventID
  121.             }, function(err, event){
  122.                 if(err){
  123.                     res.send(err);
  124.                     return;
  125.                 }
  126.                 res.json( { message: 'EVENT DELETED' } );
  127.             });
  128.         });
  129.     })
  130. ;
  131.  
  132. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement