Merge branch 'master' of wopr.rodax-software.com:lqdvi/app2-api

This commit is contained in:
David Arranz 2019-07-19 21:36:40 +02:00
commit 35601dbb33
6 changed files with 76 additions and 44 deletions

View File

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

View File

@ -1,5 +1,5 @@
'use strict';
const httpStatus = require('http-status');
const generateControllers = require('../../core/controllers');
const eventService = require('./event.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) => {
const params = extractParamsFromRequest(req, res, {});
let context = {
eventId : params.params.id,
code : req.body.code,
encodedInvitationCode : req.body.encodedInvitationCode,
code: null,
event : null,
reservation : 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()---------------------
if (context.code) {
context.reservation = await eventReservationService._getReserva(params, context);
context.reservation = context.reservation.toJSON();
if (context.reservation)
context.event = context.reservation.Event;
try {
context.reservation = await eventReservationService._getReservaByCode(context.eventId, context.code);
if (context.reservation) {
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 {
context.event = await eventService._getEvent(params);
context.event = context.event.toJSON();
try {
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(context.reservation);
console.log(context.event);
//creamos o recuperamos el usuario .then(_getOrCreateUser)-------------
context.user = await userService._getOrCreateUser(params, context);
context.user = context.user.toJSON();
console.log('creamos o recuperamos el usuario');
console.log(context.user);
try {
context.user = await userService._getOrCreateUser(params, context);
context.user = await context.user.toJSON();
console.log('creamos o recuperamos el usuario');
console.log(context.user);
} catch(error) {
return handleErrorResponse(MODULE_NAME, 'createInscription', error, res);
}
inscriptionService._existsInscription(params, context)

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long