Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var router = express.Router();
- var Event = require('../models/event');
- var jwt = require('jsonwebtoken');
- router.use(function(req, res, next) {
- console.log('API request has been received');
- next();
- });
- router.route('/')
- .get(function(req, res){ //Load All Events
- Event.find(function(err, events) {
- if(err){
- res.send(err);
- return;
- }
- res.status(200).json(events);
- });
- })
- ;
- router.route('/recent/:numToReturn/:offset')
- .get(function(req, res) {
- Event.find().sort({'createdAt': -1}).skip(parseInt(req.params.offset)).limit(parseInt(req.params.numToReturn)).exec(function(err, events) {
- if(err){
- res.send(err);
- return;
- }
- res.json(events);
- });
- })
- ;
- router.route('/:token')
- .post(function(req, res){ //Save New Event
- jwt.verify(req.params.token, 'test-secret', function(err, userID) {
- if(err) {
- res.send(err);
- return;
- }
- var event = new Event();
- event.creatorID = userID.userID;
- event.title = req.body.title;
- event.date = req.body.date;
- event.location = req.body.location;
- event.bodyText = req.body.bodyText;
- event.save(function(err) {
- if(err){
- res.send(err);
- return;
- }
- res.json( { message: 'EVENT POSTED' } );
- });
- });
- })
- ;
- router.route('/:token/:numToReturn/:offset')
- .get(function(req, res){ //Load An Amount of Creator's Events
- jwt.verify(req.params.token, 'test-secret', function(err, userID) {
- if(err) {
- res.send(err);
- return;
- }
- Event.find({creatorID : userID.userID}).skip(parseInt(req.params.offset)).limit(parseInt(req.params.numToReturn)).exec(function(err, events) {
- if(err){
- res.send(err);
- return;
- }
- res.json(events);
- });
- });
- })
- ;
- router.route('/:token/:eventID')
- .put(function(req, res){ //Edit Creator's Event(Title)
- jwt.verify(req.params.token, 'test-secret', function(err, userID) {
- if(err) {
- res.send(err);
- return;
- }
- Event.findById(req.params.eventID, function(err, event){
- if(err){
- res.send(err);
- return;
- }
- if(req.body.title)
- event.title = req.body.title;
- if(req.body.date)
- event.date = req.body.date;
- if(req.body.location)
- event.location = req.body.location;
- if(req.body.body)
- event.body = req.body.body;
- event.save(function(err){
- if(err){
- res.send(err);
- return;
- }
- res.json( { message: 'EVENT PUT' } );
- });
- });
- });
- })
- .delete(function(req, res){ //Delete Character's Event(Title)
- jwt.verify(req.params.token, 'test-secret', function(err, userID) {
- if(err) {
- res.send(err);
- return;
- }
- Event.remove({
- _id: req.params.eventID
- }, function(err, event){
- if(err){
- res.send(err);
- return;
- }
- res.json( { message: 'EVENT DELETED' } );
- });
- });
- })
- ;
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement