From a186e96407102fdfb158f778b4ae1a67ea9807ac Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 10:32:36 +0200 Subject: [PATCH 1/7] . --- modules/events/event.service.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/events/event.service.js b/modules/events/event.service.js index e0c5909..f4a4a6d 100644 --- a/modules/events/event.service.js +++ b/modules/events/event.service.js @@ -31,9 +31,6 @@ const extraMethods = { }, afterFetchOne: (result, params, context) => { - console.log('----------------------------------------------'); - console.log(result); - if (result) result = result.toJSON(); return eventComposer(result, context); From 539cada80cb9d2d8b6647e8a12562e8298889659 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 10:40:10 +0200 Subject: [PATCH 2/7] =?UTF-8?q?Activar=20cach=C3=A9=20en=20algunas=20rutas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/passport.js | 1 - modules/blog/blog.routes.js | 4 +++- modules/entities/entity.routes.js | 4 ++++ modules/events/event.routes.js | 4 +++- modules/locations/location.routes.js | 3 +++ modules/multimedia/multimedia.routes.js | 6 ++++-- modules/speakers/speaker.routes.js | 5 +++++ modules/values/value.routes.js | 5 +++++ 8 files changed, 27 insertions(+), 5 deletions(-) diff --git a/core/passport.js b/core/passport.js index b354b00..f6f1402 100644 --- a/core/passport.js +++ b/core/passport.js @@ -98,7 +98,6 @@ console.log('PASSPORT - local-phone'); // JWT passport.use('jwt', new CustomStrategy(async (req, done) => { -console.log('PASSPORT - JWTTTTTTTTTTT'); const token = ((req && req.headers && req.headers['x-access-token']) ? req.headers['x-access-token'] : null); if (!token) { diff --git a/modules/blog/blog.routes.js b/modules/blog/blog.routes.js index 657dc4a..6d4474c 100644 --- a/modules/blog/blog.routes.js +++ b/modules/blog/blog.routes.js @@ -2,7 +2,7 @@ const routes = require('express').Router(); /*const postService = require('./post.service')(models.Post); const postController = require('./post.controller')(postService);*/ - +const { cacheSuccesses } = require('../../middlewares/cache'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const PaginateMiddleware = require('../../middlewares/paginate'); const SortMiddleware = require('../../middlewares/sort'); @@ -11,6 +11,7 @@ const FieldMiddleware = require('../../middlewares/fields'); const blogController = require('./blog.controller') routes.get('/posts', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: ['user', 'createdAt'] }), @@ -22,6 +23,7 @@ routes.get('/posts', isLoggedUser, ); routes.get('/posts/:id', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: ['updatedAt', 'createdAt'] }), diff --git a/modules/entities/entity.routes.js b/modules/entities/entity.routes.js index d08b2f8..a05aa0f 100644 --- a/modules/entities/entity.routes.js +++ b/modules/entities/entity.routes.js @@ -1,5 +1,6 @@ const routes = require('express').Router(); +const { cacheSuccesses } = require('../../middlewares/cache'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const SchemaValidator = require('../../middlewares/schemaValidator'); @@ -18,6 +19,7 @@ const generalInvalidFields = [ routes.get('/entities', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -30,6 +32,7 @@ routes.get('/entities', routes.get ('/entities/colleges', + cacheSuccesses('24 hours'), // PaginateMiddleware.middleware(), FieldMiddleware.middleware({ invalidFields: generalInvalidFields @@ -41,6 +44,7 @@ routes.get ('/entities/colleges', ); routes.get ('/entities/partners', + cacheSuccesses('24 hours'), // PaginateMiddleware.middleware(), FieldMiddleware.middleware({ invalidFields: generalInvalidFields diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index 0d28eca..7016c88 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -42,6 +42,7 @@ routes.get('/events', routes.get('/events/cities', isLoggedUser, + cacheSuccesses('24 hours'), eventController.find({ scopes: ['CitiesOfEvents'] }) @@ -63,8 +64,9 @@ routes.get('/events/next', ); -routes.get('/events/past', cacheSuccesses('24 hours'), +routes.get('/events/past', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), diff --git a/modules/locations/location.routes.js b/modules/locations/location.routes.js index a30d523..5bdf0f5 100644 --- a/modules/locations/location.routes.js +++ b/modules/locations/location.routes.js @@ -1,5 +1,6 @@ const routes = require('express').Router(); +const { cacheSuccesses } = require('../../middlewares/cache'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const SchemaValidator = require('../../middlewares/schemaValidator'); @@ -10,6 +11,7 @@ const locationController = require('./location.controller'); routes.get('/locations', isLoggedUser, + cacheSuccesses('24 hours'), SortMiddleware.middleware({ default: "city" }), locationController.find({ scopes: ['includeMultimedias'], @@ -18,6 +20,7 @@ routes.get('/locations', routes.get('/locations/:id', isLoggedUser, + cacheSuccesses('24 hours'), //SortMiddleware.middleware({ default: "city" }), locationController.findOne({ scopes: ['includeMultimedias'] diff --git a/modules/multimedia/multimedia.routes.js b/modules/multimedia/multimedia.routes.js index ea0ffab..fdce91a 100644 --- a/modules/multimedia/multimedia.routes.js +++ b/modules/multimedia/multimedia.routes.js @@ -20,8 +20,9 @@ const generalInvalidFields = [ ]; -routes.get('/multimedias', //cacheSuccesses('24 hours'), +routes.get('/multimedias', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -32,8 +33,9 @@ routes.get('/multimedias', //cacheSuccesses('24 hours'), }) ); -routes.get('/multimedias/:id', //cacheSuccesses('24 hours'), +routes.get('/multimedias/:id', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), diff --git a/modules/speakers/speaker.routes.js b/modules/speakers/speaker.routes.js index a929e63..b4f6a45 100644 --- a/modules/speakers/speaker.routes.js +++ b/modules/speakers/speaker.routes.js @@ -2,6 +2,7 @@ const routes = require('express').Router(); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const SchemaValidator = require('../../middlewares/schemaValidator'); +const { cacheSuccesses } = require('../../middlewares/cache'); const PaginateMiddleware = require('../../middlewares/paginate'); const FieldMiddleware = require('../../middlewares/fields'); @@ -17,6 +18,7 @@ const generalInvalidFields = [ // Todos los ponentes routes.get('/speakers', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -30,6 +32,7 @@ routes.get('/speakers', // Ponentes destacados routes.get('/speakers/featured', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -56,6 +59,7 @@ routes.get('/speakers/last', // Un ponente routes.get('/speakers/:id', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -68,6 +72,7 @@ routes.get('/speakers/:id', // Dar ponentes similares a uno dado routes.get('/speakers/:id/similar', isLoggedUser, + cacheSuccesses('24 hours'), /*FieldMiddleware.middleware({ invalidFields: ['createdAt'] }),*/ diff --git a/modules/values/value.routes.js b/modules/values/value.routes.js index f834f9a..d6130d3 100644 --- a/modules/values/value.routes.js +++ b/modules/values/value.routes.js @@ -1,5 +1,6 @@ const routes = require('express').Router(); +const { cacheSuccesses } = require('../../middlewares/cache'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const SchemaValidator = require('../../middlewares/schemaValidator'); @@ -17,6 +18,7 @@ const generalInvalidFields = [ routes.get('/values', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: generalInvalidFields }), @@ -27,6 +29,7 @@ routes.get('/values', routes.get('/values/:id', isLoggedUser, + cacheSuccesses('24 hours'), FieldMiddleware.middleware({ invalidFields: ['createdAt'] }), @@ -34,6 +37,8 @@ routes.get('/values/:id', ); routes.get('/values/:id/speakers', + isLoggedUser, + cacheSuccesses('24 hours'), (req, res, next) => { req.params.association = 'speakers'; next(); From 44463e572963fc09bdc035411e1da4ad297b09fe Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 10:52:35 +0200 Subject: [PATCH 3/7] Featured speakers --- modules/speakers/speaker.model.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/speakers/speaker.model.js b/modules/speakers/speaker.model.js index 729c939..9dd165d 100644 --- a/modules/speakers/speaker.model.js +++ b/modules/speakers/speaker.model.js @@ -47,6 +47,10 @@ module.exports = function (sequelize, DataTypes) { type: DataTypes.UUID, foreignKey: true, }, + featured: { + type: DataTypes.BOOLEAN, + defaultValue: false, + } }, { tableName: 'speakers', freezeTableName: true, @@ -102,9 +106,10 @@ module.exports = function (sequelize, DataTypes) { Speaker.addScope('featured', { - order: [ - ['updatedAt', 'DESC'] - ] + where: { + featured: true + }, + order: sequelize.random() }); Speaker.addScope('last', { From 8677f5714c73920f7102edb7d7a39a90b5f75557 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 11:00:44 +0200 Subject: [PATCH 4/7] =?UTF-8?q?Desactivar=20cach=C3=A9=20en=20modo=20desar?= =?UTF-8?q?rollo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middlewares/cache.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/middlewares/cache.js b/middlewares/cache.js index fb5fe99..f0e42d0 100644 --- a/middlewares/cache.js +++ b/middlewares/cache.js @@ -1,10 +1,12 @@ const apicache = require('apicache'); const redis = require('redis'); +const NODE_ENV = process.env.NODE_ENV || 'development'; const cacheWithRedis = apicache .options({ debug: true, defaultDuration: '1 minute', + enabled: NODE_ENV !== 'development', //redisClient: redis.createClient(), //appendKey: (req, res) => req.user ? req.user.id : '', }); From adabf25eac5fd48db19c73ab519e0d9d5deded99 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 16:16:28 +0200 Subject: [PATCH 5/7] =?UTF-8?q?Cach=C3=A9=20en=20venues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/venues/venue.routes.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/venues/venue.routes.js b/modules/venues/venue.routes.js index 39c8fc2..d28b54c 100644 --- a/modules/venues/venue.routes.js +++ b/modules/venues/venue.routes.js @@ -1,5 +1,6 @@ const routes = require('express').Router(); +const { cacheSuccesses } = require('../../middlewares/cache'); const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator'); const SchemaValidator = require('../../middlewares/schemaValidator'); @@ -11,13 +12,15 @@ const VenueValidation = require('./venue.validations'); const venueController = require('./venue.controller'); routes.get('/venues', - isLoggedUser, + isLoggedUser, + cacheSuccesses('24 hours'), SortMiddleware.middleware({ default: "city" }), venueController.find() ); routes.get('/venues/:id', - isLoggedUser, + isLoggedUser, + cacheSuccesses('24 hours'), venueController.findOne() ); @@ -35,6 +38,7 @@ routes.get('/venues/:id/events', routes.get('/venues/count', isLoggedUser, + cacheSuccesses('24 hours'), venueController.count() ); From 5e3b47627825e9170802a2159593a329857d656b Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 17:40:13 +0200 Subject: [PATCH 6/7] =?UTF-8?q?Configuraci=C3=B3n=20de=20cache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/environments/development.js | 6 ++++++ config/environments/production.js | 7 +++++++ middlewares/cache.js | 9 +++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/config/environments/development.js b/config/environments/development.js index 6b94542..4a85377 100644 --- a/config/environments/development.js +++ b/config/environments/development.js @@ -7,6 +7,12 @@ module.exports = { dialect: 'mysql', }, + cache: { + enabled: false, + defaultDuration: '1 minute', + debug: true, + }, + session: { secret_token: process.env.SECRET_TOKEN || "B57J=7B`NQ$y98|~5;hc715bo09^5oz8NR+]n9r~215B91Nd9P%25_N6r!GHcOKp|18y5-73Dr5^@9k7n]5l<-41D1o", token_expires_in: '365d' diff --git a/config/environments/production.js b/config/environments/production.js index 695ebac..7cdbdd8 100644 --- a/config/environments/production.js +++ b/config/environments/production.js @@ -15,6 +15,13 @@ module.exports = { */ }, + cache: { + enabled: false, + defaultDuration: '1 minute', + debug: true, + }, + + session: { secret_token: process.env.SECRET_TOKEN || "B57J=7B`NQ$y98|~5;hc715bo09^5oz8NR+]n9r~215B91Nd9P%25_N6r!GHcOKp|18y5-73Dr5^@9k7n]5l<-41D1o", token_expires_in: '365d' diff --git a/middlewares/cache.js b/middlewares/cache.js index f0e42d0..950569c 100644 --- a/middlewares/cache.js +++ b/middlewares/cache.js @@ -1,12 +1,13 @@ const apicache = require('apicache'); const redis = require('redis'); -const NODE_ENV = process.env.NODE_ENV || 'development'; +const config = require('../config'); + const cacheWithRedis = apicache .options({ - debug: true, - defaultDuration: '1 minute', - enabled: NODE_ENV !== 'development', + debug: config.cache.debug, + defaultDuration: config.cache.defaultDuration, + enabled: config.cache.enabled, //redisClient: redis.createClient(), //appendKey: (req, res) => req.user ? req.user.id : '', }); From d471d5bc4639cf134f17139dc903acc65d8ead82 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 3 Sep 2019 18:09:14 +0200 Subject: [PATCH 7/7] . --- modules/speakers/speaker.model.js | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/speakers/speaker.model.js b/modules/speakers/speaker.model.js index 9dd165d..5a4d5ec 100644 --- a/modules/speakers/speaker.model.js +++ b/modules/speakers/speaker.model.js @@ -109,7 +109,6 @@ module.exports = function (sequelize, DataTypes) { where: { featured: true }, - order: sequelize.random() }); Speaker.addScope('last', {