- Removed cruising stuff
- Added support for user submitted profiles
This commit is contained in:
@@ -1,206 +0,0 @@
|
||||
const Cruises = require('../models/cruise');
|
||||
const EventEmitter = require('events');
|
||||
const Express = require('express');
|
||||
const ParamStr = '/:limit?/:skip?/:locale?/:distance?';
|
||||
const Router = Express.Router();
|
||||
const Token = require('../modules/token');
|
||||
|
||||
function processQueryParams (params) {
|
||||
var query = {};
|
||||
|
||||
if (params.locale) {
|
||||
var geo = {}; // geocode locale
|
||||
query['location.loc'] = { $near: geo };
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
function update (req, res, next) {
|
||||
Token.verifyThen(req.get('authorization'), 'update', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var id = req.params.id;
|
||||
var data = req.body;
|
||||
|
||||
if (!id || !data) {
|
||||
res.status(500).json({ message: 'No cruise id or data specified.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
CruiseEvents.once('update', (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({message: 'Could not update cruise id: ' + id, err: err});
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Cruises.update(CruiseEvents, id, data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Router.route('/find' + ParamStr)
|
||||
.get((req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var find = processQueryParams(req.params);
|
||||
|
||||
var query = {
|
||||
find: find,
|
||||
select: null,
|
||||
options: {
|
||||
limit: !isNaN(parseInt(req.params.limit)) ? parseInt(req.params.limit) : 0,
|
||||
skip: !isNaN(parseInt(req.params.skip)) ? parseInt(req.params.skip) : 0,
|
||||
sort: { 'order': 1 }
|
||||
}
|
||||
};
|
||||
|
||||
CruiseEvents.once('find', (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'There was an error getting the getting the cruises [' + err + ']', err: err });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Cruises.find(CruiseEvents, query);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Router.route('/list' + ParamStr)
|
||||
.get((req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var find = processQueryParams(req.params);
|
||||
|
||||
var query = {
|
||||
find: find,
|
||||
select: { order: 1, 'details.name': 1, 'details.pic.thumb': 1 },
|
||||
options: {
|
||||
limit: (!isNaN(parseInt(req.params.limit)) ? parseInt(req.params.limit) : 0),
|
||||
skip: (!isNaN(parseInt(req.params.skip)) ? parseInt(req.params.skip) : 0),
|
||||
sort: { 'order': 1 }
|
||||
}
|
||||
};
|
||||
|
||||
CruiseEvents.once('find', (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'There was an error getting the cruise list [' + err + ']', err: err });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Cruises.find(CruiseEvents, query);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Router.route('/:id?')
|
||||
.delete( (req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'delete', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var id = req.params.id;
|
||||
|
||||
CruiseEvents.once('delete', (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({message: 'Could not delete cruise id: ' + id, err: err});
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(204).json({});
|
||||
}
|
||||
});
|
||||
|
||||
Cruises.delete(CruiseEvents, id);
|
||||
}
|
||||
});
|
||||
})
|
||||
.get( (req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var id = req.params.id || null;
|
||||
var method = id ? 'get' : 'all';
|
||||
|
||||
CruiseEvents.once(method, (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'Could not get cruise' + (id ? '' : 's'), err: err });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Cruises[method](CruiseEvents, id);
|
||||
}
|
||||
});
|
||||
})
|
||||
.patch( update )
|
||||
.post((req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'add', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var CruiseEvents = new EventEmitter();
|
||||
var cruise = Array.isArray(req.body) ? req.body : [ req.body ];
|
||||
var multi = cruise.length > 1;
|
||||
|
||||
CruiseEvents.once('create', (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'Could not create cruise' + (multi ? 's' : ''), err: err, cruise: cruise });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Cruises.create(CruiseEvents, cruise);
|
||||
}
|
||||
});
|
||||
})
|
||||
.put( update );
|
||||
|
||||
module.exports = Router;
|
||||
@@ -176,6 +176,58 @@ Router.route('/list' + ParamStr)
|
||||
});
|
||||
});
|
||||
|
||||
Router.route('/submitted')
|
||||
.get( (req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var ProfileEvents = new EventEmitter();
|
||||
|
||||
ProfileEvents.once(method, (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'Could not get profiles', err: err });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Profiles.allSubmitted(ProfileEvents);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Router.route('/verified')
|
||||
.get( (req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
if (err || (decoded && !decoded.hasPermission)) {
|
||||
res.status(403).json({ message: 'User not authorized to perform this action.', err: err });
|
||||
return;
|
||||
}
|
||||
|
||||
if (decoded && decoded.hasPermission) {
|
||||
var ProfileEvents = new EventEmitter();
|
||||
|
||||
ProfileEvents.once(method, (err, result) => {
|
||||
if (err) {
|
||||
res.status(500).json({ message: 'Could not get profiles', err: err });
|
||||
}
|
||||
|
||||
if (result) {
|
||||
res.status(200).json(result);
|
||||
}
|
||||
});
|
||||
|
||||
Profiles.allVerified(ProfileEvents);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Router.route('/:profileId/messages/images/:which?')
|
||||
.get((req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {
|
||||
@@ -272,7 +324,7 @@ Router.route('/:profileId/messages/:messageId?')
|
||||
})
|
||||
.patch( updateMessage )
|
||||
.put( updateMessage );
|
||||
|
||||
|
||||
Router.route('/:id?')
|
||||
.delete( (req, res) => {
|
||||
Token.verifyThen(req.get('authorization'), 'delete', (err, decoded) => {
|
||||
|
||||
Reference in New Issue
Block a user