This commit is contained in:
David Arranz 2019-07-19 21:36:20 +02:00
parent 867c62a96a
commit 9dce118316
5 changed files with 71 additions and 40 deletions

View File

@ -10,8 +10,8 @@ const extraMethods = {
_getOrCreateUser: async (params, context) => { _getOrCreateUser: async (params, context) => {
let {user} = context; let {user} = context;
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><< USER'); console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><< USER');
console.log(user); console.log(user);
if (user.id) { if (user.id) {
return user; return user;
} else { } else {

View File

@ -1,5 +1,5 @@
'use strict'; 'use strict';
const httpStatus = require('http-status');
const generateControllers = require('../../core/controllers'); const generateControllers = require('../../core/controllers');
const eventService = require('./event.service'); const eventService = require('./event.service');
const eventReservationService = require('./events_reservations.service'); const eventReservationService = require('./events_reservations.service');
@ -90,12 +90,30 @@ const extraControllers = {
*/ */
checkReservationCode: async (req, res, next) => {
const params = extractParamsFromRequest(req, res, {});
const eventId = params.params.id;
const encodedInvitationCode = params.params.encodedInvitationCode;
const registrationCode = encodedInvitationCode; //Buffer.from(req.params.encodedInvitationCode, 'base64').toString('ascii');
try {
const result = await eventReservationService._getReservaByCode(eventId, registrationCode);
handleResultResponse(!!result, null, params, res, (result === null) ? httpStatus.NOT_FOUND : httpStatus.OK);
} catch(error) {
handleErrorResponse(MODULE_NAME, 'checkReservationCode', error, res)
}
},
createInscription: async(req, res, next) => { createInscription: async(req, res, next) => {
const params = extractParamsFromRequest(req, res, {}); const params = extractParamsFromRequest(req, res, {});
let context = { let context = {
eventId : params.params.id, eventId : params.params.id,
code : req.body.code, encodedInvitationCode : req.body.encodedInvitationCode,
code: null,
event : null, event : null,
reservation : null, reservation : null,
inscriptionCount : null, inscriptionCount : null,
@ -113,28 +131,55 @@ const extraControllers = {
}, },
} }
context.code = context.encodedInvitationCode; //Buffer.from(context.encodedInvitationCode, 'base64').toString('ascii');
//Si viene codigo invitacion _getLevelAndPartner()--------------------- //Si viene codigo invitacion _getLevelAndPartner()---------------------
if (context.code) { if (context.code) {
context.reservation = await eventReservationService._getReserva(params, context); try {
context.reservation = context.reservation.toJSON(); context.reservation = await eventReservationService._getReservaByCode(context.eventId, context.code);
if (context.reservation) if (context.reservation) {
context.event = context.reservation.Event; context.reservation = await context.reservation.toJSON();
context.event = context.reservation.Event;
} else {
// No se ha encontrado
return handleResultResponse("Código de reserva no encontrado", null, params, res, httpStatus.NOT_FOUND);
}
} catch(error) {
return handleErrorResponse(MODULE_NAME, 'createInscription', error, res)
}
} }
else { else {
context.event = await eventService._getEvent(params); try {
context.event = context.event.toJSON(); context.event = await eventService._getEvent(context.eventId);
if (context.event) {
context.event = await context.event.toJSON();
} else {
// No se ha encontrado
return handleResultResponse("Evento no encontrado", null, params, res, httpStatus.NOT_FOUND);
}
} catch(error) {
return handleErrorResponse(MODULE_NAME, 'createInscription', error, res)
}
} }
console.log('esta es la reserva y el evento a la que pertenece'); console.log('esta es la reserva y el evento a la que pertenece');
console.log(context.reservation); console.log(context.reservation);
console.log(context.event); console.log(context.event);
//creamos o recuperamos el usuario .then(_getOrCreateUser)------------- //creamos o recuperamos el usuario .then(_getOrCreateUser)-------------
context.user = await userService._getOrCreateUser(params, context); try {
context.user = context.user.toJSON(); context.user = await userService._getOrCreateUser(params, context);
console.log('creamos o recuperamos el usuario'); context.user = await context.user.toJSON();
console.log(context.user); console.log('creamos o recuperamos el usuario');
console.log(context.user);
} catch(error) {
return handleErrorResponse(MODULE_NAME, 'createInscription', error, res);
}
inscriptionService._existsInscription(params, context) inscriptionService._existsInscription(params, context)

View File

@ -124,6 +124,7 @@ routes.delete('/events/:id/inscriptions',
routes.get('/events/:id/reservations/:encodedInvitationCode', routes.get('/events/:id/reservations/:encodedInvitationCode',
//isLoggedUser, //isLoggedUser,
//eventController.findComments //eventController.findComments
eventController.checkReservationCode
); );

View File

@ -78,19 +78,12 @@ const extraMethods = {
}, },
_getEvent: (params, context) => { _getEvent: (eventId) => {
const id = params.eventId; return models.Event.findOne({
where: {
return new Promise(function (resolve, reject) { id: eventId
models.Event.findOne(params,) }
.then(function (result) {
resolve(result);
})
.catch(function (error) {
reject(error)
});
}); });
}, },
_updateEvent: (params, context) => { _updateEvent: (params, context) => {

View File

@ -7,20 +7,12 @@ const models = require('../../core/models');
const extraMethods = { const extraMethods = {
_getReserva: (params, context) => { _getReservaByCode: (eventId, code) => {
const wheraaaae = { reservation_code: context.code, eventId: context.eventId}; return models.EventReservation.findOne({
where: { reservation_code: code, eventId: eventId },
return new Promise (function (resolve, reject) { include: [{
models.EventReservation.findOne({ model: models.Event,
where: wheraaaae, }],
include: [{
model: models.Event,
}],
}).then(function (result) {
resolve(result);
}).catch(function (error) {
reject(error)
});
}) })
}, },