This commit is contained in:
David Arranz 2019-07-16 20:18:28 +02:00
parent 421827450c
commit 965086d2ee
6 changed files with 63 additions and 3 deletions

View File

@ -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();

View File

@ -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);

View File

@ -114,6 +114,14 @@ module.exports = function (sequelize, DataTypes) {
}
},
past: {
where: {
date: {
[Sequelize.Op.lt]: moment().startOf('day').utc()
}
}
},
}
});

View File

@ -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',

View File

@ -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
};

View File

@ -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);