#22 -> Poder acceder a la aplicación sin registro.
/events /events/cities /events/next /events/past /events/yesterday /events/today /events/tomorrow /events/current /events/featured /events/:id /events/:id/comments /events/:id/multimedias /locations /locations/:id /speakers /speakers/featured /speakers/last /speakers/:id /speakers/:id/similar
This commit is contained in:
parent
a84ae23257
commit
0e4489c72f
@ -7,6 +7,15 @@ const compose = require('../helpers/middleware.helper');
|
||||
const isRegisteredUserEmail = passport.authenticate('local-email', { session: false });
|
||||
const isRegisteredUserPhone = passport.authenticate('local-phone', { session: false });
|
||||
const isLoggedUser = passport.authenticate('jwt', { session: false });
|
||||
const isOptionalUser = (req, res, next) => {
|
||||
const token = ((req && req.headers && req.headers['x-access-token']) ? req.headers['x-access-token'] : null);
|
||||
if (token) {
|
||||
isLoggedUser(req, res, next)
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
const isAdministratorUser = compose([isLoggedUser,
|
||||
(req, res, next) => {
|
||||
const user = req.user;
|
||||
@ -22,5 +31,6 @@ module.exports = {
|
||||
isRegisteredUserEmail,
|
||||
isRegisteredUserPhone,
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
isAdministratorUser
|
||||
};
|
||||
@ -1,6 +1,6 @@
|
||||
const routes = require('express').Router();
|
||||
|
||||
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||
const { isAdministratorUser, isLoggedUser, isOptionalUser } = require('../../middlewares/accessValidator');
|
||||
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||
|
||||
const { cacheSuccesses } = require('../../middlewares/cache');
|
||||
@ -22,7 +22,7 @@ const generalInvalidFields = [
|
||||
];
|
||||
|
||||
routes.get('/events',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
@ -41,7 +41,7 @@ routes.get('/events',
|
||||
);
|
||||
|
||||
routes.get('/events/cities',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
eventController.find({
|
||||
scopes: ['CitiesOfEvents']
|
||||
@ -50,23 +50,26 @@ routes.get('/events/cities',
|
||||
|
||||
|
||||
routes.get('/events/next',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
PaginateMiddleware.middleware(),
|
||||
SortMiddleware.middleware({ default: "init_available_date" }),
|
||||
(req, res, next) => {
|
||||
// console.log(moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'));
|
||||
return eventController.find({
|
||||
scopes: ['defaultScope', 'next', 'includeVenue', 'includeMultimedias', { method: ['includeInscription', req.user.id] }],
|
||||
})(req, res, next)
|
||||
const isLogged = req.user && req.user.id;
|
||||
const scopes = ['defaultScope', 'next', 'includeVenue', 'includeMultimedias'];
|
||||
if (isLogged) {
|
||||
scopes.push({ method: ['includeInscription', req.user.id] });
|
||||
}
|
||||
// console.log(moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'));
|
||||
return eventController.find({ scopes })(req, res, next)
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
routes.get('/events/past',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('1 minute'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
@ -79,7 +82,7 @@ routes.get('/events/past',
|
||||
);
|
||||
|
||||
routes.get('/events/yesterday',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
@ -92,7 +95,7 @@ routes.get('/events/yesterday',
|
||||
|
||||
|
||||
routes.get('/events/today',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
@ -127,7 +130,7 @@ routes.get('/events/today',
|
||||
|
||||
|
||||
routes.get('/events/tomorrow',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
@ -139,7 +142,7 @@ routes.get('/events/tomorrow',
|
||||
);
|
||||
|
||||
routes.get('/events/current',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
@ -152,7 +155,7 @@ routes.get('/events/current',
|
||||
|
||||
// Eventos destacados
|
||||
routes.get('/events/featured',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('1 minute'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
@ -165,21 +168,25 @@ routes.get('/events/featured',
|
||||
);
|
||||
|
||||
routes.get('/events/:id',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
}),
|
||||
(req, res, next) => {
|
||||
return eventController.findOne({
|
||||
scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeDetails', 'includeComments', { method: ['includeInscription', req.user.id] }]
|
||||
})(req, res, next)
|
||||
const isLogged = req.user && req.user.id;
|
||||
const scopes = ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeDetails', 'includeComments'];
|
||||
if (isLogged) {
|
||||
scopes.push({ method: ['includeInscription', req.user.id] });
|
||||
}
|
||||
|
||||
return eventController.findOne({scopes})(req, res, next)
|
||||
}
|
||||
);
|
||||
|
||||
// Comentarios
|
||||
|
||||
routes.get('/events/:id/comments',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
(req, res, next) => {
|
||||
req.params.association = 'Comments';
|
||||
next();
|
||||
@ -190,7 +197,7 @@ routes.get('/events/:id/comments',
|
||||
|
||||
// Multimedias
|
||||
routes.get('/events/:id/multimedias',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
(req, res, next) => {
|
||||
req.params.association = 'Multimedias';
|
||||
next();
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
const routes = require('express').Router();
|
||||
|
||||
const { cacheSuccesses } = require('../../middlewares/cache');
|
||||
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||
const { isOptionalUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||
|
||||
//const PaginateMiddleware = require('../../middlewares/paginate');
|
||||
//const FieldMiddleware = require('../../middlewares/fields');
|
||||
@ -10,7 +9,7 @@ const SortMiddleware = require('../../middlewares/sort');
|
||||
const locationController = require('./location.controller');
|
||||
|
||||
routes.get('/locations',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
SortMiddleware.middleware({ default: "city" }),
|
||||
locationController.find({
|
||||
@ -19,7 +18,7 @@ routes.get('/locations',
|
||||
);
|
||||
|
||||
routes.get('/locations/:id',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
//SortMiddleware.middleware({ default: "city" }),
|
||||
locationController.findOne({
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
const routes = require('express').Router();
|
||||
|
||||
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||
const { isAdministratorUser, isLoggedUser, isOptionalUser } = require('../../middlewares/accessValidator');
|
||||
const { cacheSuccesses } = require('../../middlewares/cache');
|
||||
|
||||
const PaginateMiddleware = require('../../middlewares/paginate');
|
||||
@ -17,7 +16,7 @@ const generalInvalidFields = [
|
||||
|
||||
// Todos los ponentes
|
||||
routes.get('/speakers',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
@ -31,7 +30,7 @@ routes.get('/speakers',
|
||||
|
||||
// Ponentes destacados
|
||||
routes.get('/speakers/featured',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('1 minute'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
@ -45,7 +44,7 @@ routes.get('/speakers/featured',
|
||||
|
||||
// Ponentes más recientes
|
||||
routes.get('/speakers/last',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('1 minute'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: ['userId']
|
||||
@ -59,7 +58,7 @@ routes.get('/speakers/last',
|
||||
|
||||
// Un ponente
|
||||
routes.get('/speakers/:id',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
FieldMiddleware.middleware({
|
||||
invalidFields: generalInvalidFields
|
||||
@ -72,7 +71,7 @@ routes.get('/speakers/:id',
|
||||
|
||||
// Dar ponentes similares a uno dado
|
||||
routes.get('/speakers/:id/similar',
|
||||
isLoggedUser,
|
||||
isOptionalUser,
|
||||
cacheSuccesses('24 hours'),
|
||||
/*FieldMiddleware.middleware({
|
||||
invalidFields: ['createdAt']
|
||||
|
||||
Loading…
Reference in New Issue
Block a user