Generar el código QR de una inscripción en PNG.
This commit is contained in:
parent
37777a5ffb
commit
52ace002ca
@ -20,7 +20,8 @@ module.exports = {
|
||||
|
||||
server: {
|
||||
hostname: process.env.HOSTNAME || '127.0.0.1',
|
||||
port: process.env.PORT || 18888
|
||||
port: process.env.PORT || 18888,
|
||||
public_url: ""
|
||||
},
|
||||
|
||||
cdn: {
|
||||
|
||||
@ -15,11 +15,11 @@ module.exports = {
|
||||
*/
|
||||
},
|
||||
|
||||
cache: {
|
||||
cache: {
|
||||
enabled: true,
|
||||
defaultDuration: '1 minute',
|
||||
debug: true,
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
session: {
|
||||
@ -29,7 +29,8 @@ module.exports = {
|
||||
|
||||
server: {
|
||||
hostname: process.env.HOSTNAME || '127.0.0.1',
|
||||
port: process.env.PORT || 18888
|
||||
port: process.env.PORT || 18888,
|
||||
public_url: "https://apiapp2.loquedeverdadimporta.org/api/v2/"
|
||||
},
|
||||
|
||||
cdn: {
|
||||
|
||||
@ -65,7 +65,7 @@ function send(header, body) {
|
||||
})
|
||||
request
|
||||
.then((result) => {
|
||||
console.log('EEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNVIO correo>>>>');
|
||||
console.log('Envio correo >>>>');
|
||||
console.log(result.body);
|
||||
return result;
|
||||
})
|
||||
@ -88,8 +88,8 @@ function send(header, body) {
|
||||
* @return {Promise}
|
||||
*
|
||||
*/
|
||||
function sendTicket(header, values) {
|
||||
// console.log('PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSOOOOOOOOOOOOOOOOOOOO', values.qrCode.substr(22));
|
||||
|
||||
function sendTicket(header, values) {
|
||||
const body = {
|
||||
"TemplateID": 1112274, //980158,
|
||||
"TemplateLanguage": true,
|
||||
@ -102,6 +102,7 @@ function sendTicket(header, values) {
|
||||
"tipoEntrada": values.tipoEntrada,
|
||||
"descriptionEntrada": values.descriptionEntrada,
|
||||
"qrCode": values.qrCode,
|
||||
"qrCodeUrl": values.qrCodeUrl,
|
||||
"IDqrCode": "cid:id1",
|
||||
"codeTicket": values.codeTicket,
|
||||
"eventName": values.eventName,
|
||||
|
||||
@ -2,6 +2,12 @@ var _ = require('lodash');
|
||||
var QRCode = require('qrcode');
|
||||
const moment = require('moment');
|
||||
|
||||
const config = require('../config');
|
||||
|
||||
module.exports.getInscriptionQRCodeUrl = function (inscriptionId) {
|
||||
return encodeURI(`${config.server.public_url}/inscriptions/${inscriptionId}/qrimage`);
|
||||
}
|
||||
|
||||
/* params = {
|
||||
code: 'xxxx',
|
||||
date: 'date-time',
|
||||
@ -9,7 +15,7 @@ const moment = require('moment');
|
||||
surname: 'xxxx',
|
||||
color: '#ff',
|
||||
|
||||
} */
|
||||
} */
|
||||
|
||||
module.exports.getInscriptionQRCode = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
@ -88,6 +88,7 @@ function generateBodyMail (member) {
|
||||
tipoEntrada: (member.validated) ? 'Entrada' : 'Lista de espera',
|
||||
descriptionEntrada: member.description,
|
||||
qrCode: member.qrCode,
|
||||
qrCodeUrl: member.qrCodeUrl,
|
||||
color: member.qrConfig.color,
|
||||
codeTicket: member.code_ticket,
|
||||
eventName: member.event_name,
|
||||
@ -276,8 +277,9 @@ console.log('>>>>>>>>>>>>>>><NewConfirmedEvent: ', NewConfirmedEvent);
|
||||
member.marketing_memberId = await eventInscriptionService._addMember(marketingListIdEvent, member);
|
||||
eventInscriptionService._updateMarketingMemberOfInscription(inscription.id, member.marketing_memberId);
|
||||
member.qrConfig = generateQRConfig(member);
|
||||
member.qrCode = await QRHelper.getInscriptionQRCode(member.qrConfig);
|
||||
console.log('mandar correo>>>>>>>>>>>>>>>>>>>>> ', member);
|
||||
member.qrCode = await QRHelper.getInscriptionQRCode(member.qrConfig);
|
||||
member.qrCodeUrl = QRHelper.getInscriptionQRCodeUrl(inscription.id);
|
||||
console.log('mandar correo>>>>>>>>>>>>>await QRHelper.getInscriptionQRCode(member.qrConfig); >>>>>>>> ', member);
|
||||
emailHelper.sendTicket(generateHeaderMail(member), generateBodyMail(member))
|
||||
} catch (error) {
|
||||
console.log('No se ha podido mandar email con entrada');
|
||||
@ -754,7 +756,6 @@ console.log('Mandamos mail con entrada>>>>>>>>>>>>>>>>>>>>>>>>>>>');
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
getInscripcionsExcel: async (req, res, next) => {
|
||||
const params = extractParamsFromRequest(req, res, {});
|
||||
const eventId = params.params.id;
|
||||
@ -772,6 +773,31 @@ console.log('Mandamos mail con entrada>>>>>>>>>>>>>>>>>>>>>>>>>>>');
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getQRCodeImage: async(req, res, next) => {
|
||||
const params = extractParamsFromRequest(req, res, {});
|
||||
const inscriptionId = params.params.id;
|
||||
|
||||
try {
|
||||
const inscription = await eventInscriptionService._getInscriptionById(inscriptionId);
|
||||
if (!inscription) {
|
||||
return handleResultResponse("Inscription no encontrada", null, params, res, httpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
//Creamos objeto member para facilitar inserción en mailchimp y envio de correo
|
||||
var member = generateMemberInscription(req.user, inscription.inscription, inscription.reservation);
|
||||
member.qrConfig = generateQRConfig(member);
|
||||
member.qrCode = await QRHelper.getInscriptionQRCode(member.qrConfig);
|
||||
|
||||
var buffer = new Buffer(member.qrCode.split(",")[1], 'base64');
|
||||
|
||||
res.setHeader('Content-Type', 'image/png');
|
||||
res.setHeader('Content-Length', buffer.length);
|
||||
return handleResultResponse(buffer, null, params, res, httpStatus.OK);
|
||||
} catch (error) {
|
||||
return handleResultResponse("Error al buscar la inscripción", null, params, res, httpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
@ -246,24 +246,6 @@ routes.get('/me/inscriptions/:id',
|
||||
);
|
||||
|
||||
|
||||
|
||||
/*router.get('/:conferenceId/inscription/:userId/qrimage', function (req, res) {
|
||||
conference.getInscriptionQRCode(req.params.conferenceId, req.params.userId, function (result, status) {
|
||||
if (result && result.data) {
|
||||
var buffer = new Buffer(result.data.split(",")[1], 'base64');
|
||||
|
||||
res.writeHead(status, {
|
||||
'Content-Type': 'image/png',
|
||||
'Content-Length': buffer.length
|
||||
});
|
||||
|
||||
res.end(buffer);
|
||||
} else {
|
||||
res.status(200).end('')
|
||||
}
|
||||
});
|
||||
});*/
|
||||
|
||||
// Hacer una inscripción
|
||||
routes.post('/events/:id/inscriptions',
|
||||
isLoggedUser,
|
||||
@ -285,6 +267,11 @@ routes.delete('/inscriptions/:id',
|
||||
eventController.deleteInscription
|
||||
);
|
||||
|
||||
// Imagen del código QR de una inscripción
|
||||
routes.get('/inscriptions/:id/qrimage', function (req, res) {
|
||||
eventController.getQRCodeImage,
|
||||
});
|
||||
|
||||
|
||||
routes.get('/events/:id/reservations/:encodedInvitationCode',
|
||||
isLoggedUser,
|
||||
@ -293,6 +280,8 @@ routes.get('/events/:id/reservations/:encodedInvitationCode',
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
//WEB
|
||||
|
||||
//Eventos con inscripciones abiertas para la web
|
||||
|
||||
Loading…
Reference in New Issue
Block a user