diff --git a/middlewares/schemaValidator.js b/middlewares/schemaValidator.js index 1d58c07..d02814c 100644 --- a/middlewares/schemaValidator.js +++ b/middlewares/schemaValidator.js @@ -18,7 +18,6 @@ module.exports = (schema, useJoiError = false) => { // return the validation middleware return (req, res, next) => { - const route = req.route.path; const method = req.method.toLowerCase(); diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 96f94b5..4805f42 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -5,6 +5,10 @@ const generateControllers = require('../../core/controllers'); const eventService = require('./event.service'); const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper'); +//PRUEBA +const SchemaValidator = require('../../middlewares/schemaValidator'); +const eventValidation = require('./event.validations'); +const Joi = require('joi'); // Module Name const MODULE_NAME = '[event.controller]'; @@ -16,6 +20,19 @@ const extraControllers = { const params = extractParamsFromRequest(req, res, { includeAll: false }); try { const result = await eventService.fetch(params, { user: req.user, lapse: 'next' }); + console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); + // Joi validation options + const _validationOptions = { + abortEarly: false, // abort after the last validation error + allowUnknown: true, // allow unknown keys that will be ignored + stripUnknown: true // remove unknown keys from the validated data + }; + console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa222'); + const data = Joi.validate(result.dataValues, eventValidation.EventsListOutputType, _validationOptions); + console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa333'); + + + console.log(data); return handleResultResponse(result, result.count, params, res); } catch (error) { handleErrorResponse(MODULE_NAME, 'findNext', error, res); diff --git a/modules/events/event.model.js b/modules/events/event.model.js index 944764e..4db10f9 100644 --- a/modules/events/event.model.js +++ b/modules/events/event.model.js @@ -114,6 +114,14 @@ module.exports = function (sequelize, DataTypes) { } }, + past: { + where: { + date: { + [Sequelize.Op.lt]: moment().startOf('day').utc() + } + } + + }, } }); diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index a33d47b..b7895c0 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -9,6 +9,7 @@ const SortMiddleware = require('../../middlewares/sort'); //const entityValidation = require('./entity.validations'); const eventController = require('./event.controller'); +const eventValidation = require('./event.validations'); routes.get('/events', isLoggedUser, @@ -27,7 +28,12 @@ routes.get('/events/next', }), PaginateMiddleware.middleware(), SortMiddleware.middleware({ default: "init_available_date" }), - eventController.findNext + //ScopeMiddleware + eventController.findNext, +//eventController.find +// model.scope('next').findAll(); + ///SchemaValidator(eventValidation.EventsListOutputType, true), + ); routes.get('/events/pass', diff --git a/modules/events/event.validations.js b/modules/events/event.validations.js new file mode 100644 index 0000000..fe91e9b --- /dev/null +++ b/modules/events/event.validations.js @@ -0,0 +1,26 @@ +const Joi = require('joi'); +/* +const EventInputType = Joi.object().keys({ + name: Joi.string().required(), + address: Joi.string().required(), + city: Joi.string().required(), + gmt: Joi.number().min(-12).max(+12), + description: Joi.string().optional(), + country: Joi.string().optional(), + state: Joi.string().optional(), + postal_code: Joi.string().optional(), + accessibility: Joi.string().optional() +}); +*/ + +const EventsListOutputType = Joi.object().keys({ + id: Joi.string().required(), + name: Joi.string().required(), + description: Joi.string().required(), +}); + + +module.exports = { +// VenueInputType, + EventsListOutputType +}; diff --git a/modules/events/events_inscripcions.service.js b/modules/events/events_inscripcions.service.js index bf4bb62..e62a3eb 100644 --- a/modules/events/events_inscripcions.service.js +++ b/modules/events/events_inscripcions.service.js @@ -5,6 +5,10 @@ const _ = require('lodash'); const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper'); const models = require('../../core/models'); -const extraMethods = {}; +const extraMethods = { + + + +}; module.exports = generateService(models.EventInscription, extraMethods); \ No newline at end of file