From fa9902e5d5cce939a9c2cb60469d2773f2e4eaba Mon Sep 17 00:00:00 2001 From: David Arranz Date: Wed, 15 Jan 2025 11:49:16 +0100 Subject: [PATCH] Nueva entrada en rest api para recuperar reserva --- modules/events/event.routes.v4.js | 29 +++++++++++++++---- .../events/events_reservations.controller.js | 18 ++++-------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/modules/events/event.routes.v4.js b/modules/events/event.routes.v4.js index 23964b5..63cfc0a 100644 --- a/modules/events/event.routes.v4.js +++ b/modules/events/event.routes.v4.js @@ -233,15 +233,32 @@ routes.get( * * @apiParam {String} encodedCode Código de invitación codificado en Base64. Ejemplo, el código "MD22-4939" se codifica como "TUQyMi00OTM5" * - * @apiSuccess {Boolean} applicable Indica si el código de invitación es aplicable (true) o no (false). + * @apiSuccess {String} id indica si el Id de la reserva. + * @apiSuccess {String} stateText indica la situación de la reserva. + * @apiSuccess {String} code el código de la reserva sin codificar. + * @apiSuccess {String} eventId indica el id del evento al que pertenece la reserva. + * @apiSuccess {String} eventName indica el nombre del evento al que pertenece la reserva. + * @apiSuccess {String} entityId indica el id de la entidad a la que pertenece la reserva. + * @apiSuccess {String} entityName indica el nombre de la entidad a la que pertenece la reserva. * + * @apiError (Error 404) NotFound Código de reserva no encontrado. + * + * @apiErrorExample {json} Ejemplo de Respuesta Fallida: + * HTTP/1.1 404 Not Found + * { + * "message": "Código de reserva no encontrado" + * } * @apiSuccessExample {json} Ejemplo de Respuesta Exitosa: * HTTP/1.1 200 OK - * true - * - * @apiSuccessExample {json} Ejemplo de Respuesta Fallida: - * HTTP/1.1 200 OK - * false + * { + * "id": "d8af01cf-b86d-4e10-9c84-442cd31a7fb8", + * "stateText": "Inscripciones abiertas a la reserva", + * "code": "MAD24DEF218", + * "eventId": "84613446-765a-11ef-9b46-000c29a89113", + * "eventName": "Madrid 2024 - 18ª Edición", + * "entityId": "a015dcef-8213-11ee-9b36-000c29a89113", + * "entityName": "Alianza para la FP Dual - Barcelona" + * } */ diff --git a/modules/events/events_reservations.controller.js b/modules/events/events_reservations.controller.js index d6afaee..2601f20 100644 --- a/modules/events/events_reservations.controller.js +++ b/modules/events/events_reservations.controller.js @@ -111,15 +111,15 @@ const extraControllers = { getReservationFromCode: async (req, res, next) => { const params = extractParamsFromRequest(req, res, {}); - - const encodedInvitationCode = params.params.code; - const registrationCode = Buffer.from(encodedInvitationCode, "base64").toString("ascii"); try { const result = await eventReservationService._getReservaByOnlyCode(registrationCode); - + // No se ha encontrado + if (!result) + return handleResultResponse("Código de reserva no encontrado", null, params, res, httpStatus.NOT_FOUND) + //MAPEO SALIDA API4 //En lugar de estar quitando campo creamos un DTO nuevo con la información que nos interesa const Reservation = { @@ -130,16 +130,8 @@ const extraControllers = { eventName : result.Event.name, entityId : result.Entity.id, entityName : result.Entity.name, -// eventName : inscription.event.name, -// userName : inscription.user.name, -// userSurname : inscription.user.surname, }; - console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>RESULT>>>>>>>>>>>>>>>>>>>>>>>>>><<', Reservation); - - if (!result) - // No se ha encontrado - return handleResultResponse("Código de reserva no encontrado", null, params, res, httpStatus.NOT_FOUND) - else +// console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>RESULT>>>>>>>>>>>>>>>>>>>>>>>>>><<', Reservation); return handleResultResponse(Reservation, null, params, res, httpStatus.OK); } catch (error) {