This commit is contained in:
David Arranz 2019-08-16 19:49:25 +02:00
parent 5974576d28
commit 5b20d94823
5 changed files with 62 additions and 9 deletions

View File

@ -89,6 +89,9 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
return async (req, res, next) => {
try {
const params = extractParamsFromRequest(req, res, _options.params.update);
console.log('paraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaams');
console.log(req.body);
const response = await service.update(params, req.body, buildContext(req, config));
// https://sequelize.org/master/class/lib/model.js~Model.html#static-method-update
// Update devuelve un array de un elemento con el número de filas afectadas

View File

@ -10,6 +10,7 @@ const SortMiddleware = require('../../middlewares/sort');
//const entityValidation = require('./entity.validations');
const eventController = require('./event.controller');
const eventInscriptionController = require('./events_inscriptions.controller');
const eventReservationController = require('./events_reservations.controller');
const eventValidation = require('./event.validations');
@ -331,17 +332,35 @@ routes.post('/admin/reservations',
routes.get('/admin/reservations/:id',
// isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
eventReservationController.findOne(),
(req, res, next) => {
return eventReservationController.findOne({
scopes: ['includeEvent', 'includeInscriptions']
})(req, res, next)
},
);
/*// Un ponente
routes.get('/admin/speakers/:id',
isAdministratorUser,
eventController.findOne({
scopes: ['defaultScope', 'includeValues', 'includeMultimedias']
})
);*/
routes.put('/admin/reservations/:id',
// isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
eventReservationController.update(),
);
// Borrar ponente
routes.delete('/admin/reservations/:id',
// isAdministratorUser,
eventReservationController.delete()
);
routes.get('/inscriptions',
// isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
(req, res, next) => {
return eventInscriptionController.find({
scopes: ['defaultScope']
})(req, res, next)
},
);
module.exports = routes;

View File

@ -0,0 +1,14 @@
'use strict';
const generateControllers = require('../../core/controllers');
const eventInscriptionService = require('./events_inscriptions.service');
// Module Name
const MODULE_NAME = '[eventInscription.controller]';
const controllerOptions = { MODULE_NAME };
const extraControllers = {};
module.exports = generateControllers(eventInscriptionService, extraControllers, controllerOptions);

View File

@ -64,7 +64,8 @@ module.exports = function (sequelize, DataTypes) {
defaultScope: {
order: [
['date', 'DESC']
]
],
include: [{ model: sequelize.models.User, as: 'user' }],
},
});

View File

@ -101,8 +101,24 @@ module.exports = function (sequelize, DataTypes) {
foreignKey: 'overflow_reservationId' });
EventReservation.Entity = EventReservation.belongsTo(models.Entity, { foreignKey: 'entityId' });
EventReservation.Event = EventReservation.belongsTo(models.Event, { foreignKey: 'eventId' });
EventReservation.Inscriptions = EventReservation.hasMany(models.EventInscription, { foreignKey: 'reservationId' });
EventReservation.UserCreate = EventReservation.belongsTo(models.User, { foreignKey: 'userId' });
};
EventReservation.addScope('includeEvent', () => {
return {
include: [
{ model: sequelize.models.Event}
]
}
});
EventReservation.addScope('includeInscriptions', () => {
return {
include: [
{ model: sequelize.models.EventInscription }
]
}
});
return EventReservation;
};