Skip to content

Commit

Permalink
merge
Browse files Browse the repository at this point in the history
  • Loading branch information
ygorgs committed May 16, 2017
2 parents 2bb0f42 + 2c283ee commit 6744399
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 6 deletions.
15 changes: 10 additions & 5 deletions app/routes/hero_routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ var passport = require('passport');
var express = require('express');
var config = require('../../config/main');
var jwt = require('jsonwebtoken');
var _ = require('underscore')
var Hero = require('../models/hero');
var User = require('../models/user');

module.exports = function (app) {
var apiRoutes = express.Router();

apiRoutes.get('/', passport.authenticate('jwt', { session: false }), function (req, res) {
Hero.find({}, { _id: 0, __v: 0 }, function (err, heroes) {
var page_param = parseInt(req.query.page);
var page = _.isNaN(page_param) | page_param < 0 ? 0 : page_param;
const HEROES_PER_PAGE = 20;

Hero.find({}, { _id: 0, __v: 0 }, function (err, heroes) {
if (err) {
res.json(err);
} else {
res.json(heroes);
res.json(heroes);
}
}).skip(parseInt(req.query['offset'] || 0)).limit(parseInt(req.query['limit'] || 20));
}).skip(parseInt(req.query['offset'] || page * HEROES_PER_PAGE)).limit(parseInt(req.query['limit'] || HEROES_PER_PAGE));
});


Expand Down Expand Up @@ -58,8 +63,8 @@ module.exports = function (app) {
});
});

apiRoutes.get('/search/:params', passport.authenticate('jwt', { session: false }), function (req, res) {
var name = req.query.name;
apiRoutes.get('/search', passport.authenticate('jwt', { session: false }), function (req, res) {
let name = req.query.name;
Hero.find({ name: {$regex: name, $options: 'i'}}, function (err, heroes) {
if (err) {
throw err;
Expand Down
114 changes: 114 additions & 0 deletions app/routes/hero_routes.js.orig
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
var passport = require('passport');
var express = require('express');
var config = require('../../config/main');
var jwt = require('jsonwebtoken');
var _ = require('underscore')
var Hero = require('../models/hero');
var User = require('../models/user');

module.exports = function (app) {
var apiRoutes = express.Router();

apiRoutes.get('/', passport.authenticate('jwt', { session: false }), function (req, res) {
var page_param = parseInt(req.query.page);
var page = _.isNaN(page_param) | page_param < 0 ? 0 : page_param;
const HEROES_PER_PAGE = 20;

Hero.find({}, { _id: 0, __v: 0 }, function (err, heroes) {
if (err) {
res.json(err);
} else {
res.json(heroes);
}
}).skip(parseInt(req.query['offset'] || page * HEROES_PER_PAGE)).limit(parseInt(req.query['limit'] || HEROES_PER_PAGE));
});



apiRoutes.post('/favorite/:id', passport.authenticate('jwt', { session: false }), function (req, res) {
User.findOne({ email: req.user.email }, function (err, doc) {
if (err) throw err;

var id = req.params.id;
if (doc.favorites.filter(x => x == id).length == 0) {
doc.favorites.push(id);
}

doc.save();
return res.status(200).json({ success: true, message: 'Successfully marked hero as favorite' });
});
});

apiRoutes.delete('/favorite/:id', passport.authenticate('jwt', { session: false }), function (req, res) {
User.findOne({ email: req.user.email }, function (err, doc) {
if (err) throw err;

var index = doc.favorites.indexOf(req.params.id);

if (index >= 0) {
doc.favorites.splice(index, 1);
}

doc.save();
return res.status(200).json({ success: true, message: 'Successfully unmarked hero as favorite' });
});
});


apiRoutes.get('/favorite', passport.authenticate('jwt', { session: false }), function (req, res) {
User.findOne({ email: req.user.email }, function (err, doc) {
if (err) throw err;

return res.status(200).json({ success: true, favorites: doc.favorites });
});
});

<<<<<<< HEAD
apiRoutes.get('/search/:params', passport.authenticate('jwt', { session: false }), function (req, res) {
var name = req.query.name;
=======
apiRoutes.get('/search', passport.authenticate('jwt', { session: false }), function (req, res) {
let name = req.query.name;
>>>>>>> 2c283eecb1ae39f1d51214ac55cc428a6722a2a2
Hero.find({ name: {$regex: name, $options: 'i'}}, function (err, heroes) {
if (err) {
throw err;
} else {
return res.status(200).json({ success: true, result: heroes });
}
})
});

apiRoutes.get('/recommendation/:params', passport.authenticate('jwt', { session: false }), function (req, res) {
var name = req.query.name.split(" ");
var id = req.query.id;
/* var condition = "";
for(var i = 0; i <name.length; i++){
condition += "this.name == " + name[i]
if(i + 1 < name.length){
condition += " || "
}
}*/
Hero.find({ name: {$regex: name[0], $options: 'i'}, $where: "this.id != " + id}, function (err, heroes) {
if (err) {
throw err;
} else {
return res.status(200).json({ success: true, result: heroes });
}
}).limit(3)
});

apiRoutes.get('/:id', passport.authenticate('jwt', { session: false }), function (req, res) {
let id = req.params.id;
Hero.findOne({ id: id }, function (err, hero) {
if (err) {
throw err;
} else {
return res.status(200).json({ success: true, hero: hero });
}
});
});

// Set url for API group routes
app.use('/api/heroes', apiRoutes);
};
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
"passport": "^0.3.2",
"passport-jwt": "^2.0.0",
"socket.io": "^1.7.3",
"socketio-jwt-auth": "0.0.5"
"socketio-jwt-auth": "0.0.5",
"underscore": "^1.8.3"
},
"devDependencies": {
"nodemon": "^1.11.0"
Expand Down

0 comments on commit 6744399

Please sign in to comment.