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: {
|
server: {
|
||||||
hostname: process.env.HOSTNAME || '127.0.0.1',
|
hostname: process.env.HOSTNAME || '127.0.0.1',
|
||||||
port: process.env.PORT || 18888
|
port: process.env.PORT || 18888,
|
||||||
|
public_url: ""
|
||||||
},
|
},
|
||||||
|
|
||||||
cdn: {
|
cdn: {
|
||||||
|
|||||||
@ -15,11 +15,11 @@ module.exports = {
|
|||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
|
|
||||||
cache: {
|
cache: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
defaultDuration: '1 minute',
|
defaultDuration: '1 minute',
|
||||||
debug: true,
|
debug: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
session: {
|
session: {
|
||||||
@ -29,7 +29,8 @@ module.exports = {
|
|||||||
|
|
||||||
server: {
|
server: {
|
||||||
hostname: process.env.HOSTNAME || '127.0.0.1',
|
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: {
|
cdn: {
|
||||||
|
|||||||
@ -65,7 +65,7 @@ function send(header, body) {
|
|||||||
})
|
})
|
||||||
request
|
request
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
console.log('EEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNVIO correo>>>>');
|
console.log('Envio correo >>>>');
|
||||||
console.log(result.body);
|
console.log(result.body);
|
||||||
return result;
|
return result;
|
||||||
})
|
})
|
||||||
@ -88,8 +88,8 @@ function send(header, body) {
|
|||||||
* @return {Promise}
|
* @return {Promise}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function sendTicket(header, values) {
|
|
||||||
// console.log('PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSOOOOOOOOOOOOOOOOOOOO', values.qrCode.substr(22));
|
function sendTicket(header, values) {
|
||||||
const body = {
|
const body = {
|
||||||
"TemplateID": 1112274, //980158,
|
"TemplateID": 1112274, //980158,
|
||||||
"TemplateLanguage": true,
|
"TemplateLanguage": true,
|
||||||
@ -102,6 +102,7 @@ function sendTicket(header, values) {
|
|||||||
"tipoEntrada": values.tipoEntrada,
|
"tipoEntrada": values.tipoEntrada,
|
||||||
"descriptionEntrada": values.descriptionEntrada,
|
"descriptionEntrada": values.descriptionEntrada,
|
||||||
"qrCode": values.qrCode,
|
"qrCode": values.qrCode,
|
||||||
|
"qrCodeUrl": values.qrCodeUrl,
|
||||||
"IDqrCode": "cid:id1",
|
"IDqrCode": "cid:id1",
|
||||||
"codeTicket": values.codeTicket,
|
"codeTicket": values.codeTicket,
|
||||||
"eventName": values.eventName,
|
"eventName": values.eventName,
|
||||||
|
|||||||
@ -2,6 +2,12 @@ var _ = require('lodash');
|
|||||||
var QRCode = require('qrcode');
|
var QRCode = require('qrcode');
|
||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
|
|
||||||
|
const config = require('../config');
|
||||||
|
|
||||||
|
module.exports.getInscriptionQRCodeUrl = function (inscriptionId) {
|
||||||
|
return encodeURI(`${config.server.public_url}/inscriptions/${inscriptionId}/qrimage`);
|
||||||
|
}
|
||||||
|
|
||||||
/* params = {
|
/* params = {
|
||||||
code: 'xxxx',
|
code: 'xxxx',
|
||||||
date: 'date-time',
|
date: 'date-time',
|
||||||
@ -9,7 +15,7 @@ const moment = require('moment');
|
|||||||
surname: 'xxxx',
|
surname: 'xxxx',
|
||||||
color: '#ff',
|
color: '#ff',
|
||||||
|
|
||||||
} */
|
} */
|
||||||
|
|
||||||
module.exports.getInscriptionQRCode = function (params) {
|
module.exports.getInscriptionQRCode = function (params) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
|||||||
@ -88,6 +88,7 @@ function generateBodyMail (member) {
|
|||||||
tipoEntrada: (member.validated) ? 'Entrada' : 'Lista de espera',
|
tipoEntrada: (member.validated) ? 'Entrada' : 'Lista de espera',
|
||||||
descriptionEntrada: member.description,
|
descriptionEntrada: member.description,
|
||||||
qrCode: member.qrCode,
|
qrCode: member.qrCode,
|
||||||
|
qrCodeUrl: member.qrCodeUrl,
|
||||||
color: member.qrConfig.color,
|
color: member.qrConfig.color,
|
||||||
codeTicket: member.code_ticket,
|
codeTicket: member.code_ticket,
|
||||||
eventName: member.event_name,
|
eventName: member.event_name,
|
||||||
@ -276,8 +277,9 @@ console.log('>>>>>>>>>>>>>>><NewConfirmedEvent: ', NewConfirmedEvent);
|
|||||||
member.marketing_memberId = await eventInscriptionService._addMember(marketingListIdEvent, member);
|
member.marketing_memberId = await eventInscriptionService._addMember(marketingListIdEvent, member);
|
||||||
eventInscriptionService._updateMarketingMemberOfInscription(inscription.id, member.marketing_memberId);
|
eventInscriptionService._updateMarketingMemberOfInscription(inscription.id, member.marketing_memberId);
|
||||||
member.qrConfig = generateQRConfig(member);
|
member.qrConfig = generateQRConfig(member);
|
||||||
member.qrCode = await QRHelper.getInscriptionQRCode(member.qrConfig);
|
member.qrCode = await QRHelper.getInscriptionQRCode(member.qrConfig);
|
||||||
console.log('mandar correo>>>>>>>>>>>>>>>>>>>>> ', member);
|
member.qrCodeUrl = QRHelper.getInscriptionQRCodeUrl(inscription.id);
|
||||||
|
console.log('mandar correo>>>>>>>>>>>>>await QRHelper.getInscriptionQRCode(member.qrConfig); >>>>>>>> ', member);
|
||||||
emailHelper.sendTicket(generateHeaderMail(member), generateBodyMail(member))
|
emailHelper.sendTicket(generateHeaderMail(member), generateBodyMail(member))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('No se ha podido mandar email con entrada');
|
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) => {
|
getInscripcionsExcel: async (req, res, next) => {
|
||||||
const params = extractParamsFromRequest(req, res, {});
|
const params = extractParamsFromRequest(req, res, {});
|
||||||
const eventId = params.params.id;
|
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
|
// Hacer una inscripción
|
||||||
routes.post('/events/:id/inscriptions',
|
routes.post('/events/:id/inscriptions',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
@ -285,6 +267,11 @@ routes.delete('/inscriptions/:id',
|
|||||||
eventController.deleteInscription
|
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',
|
routes.get('/events/:id/reservations/:encodedInvitationCode',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
@ -293,6 +280,8 @@ routes.get('/events/:id/reservations/:encodedInvitationCode',
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//WEB
|
//WEB
|
||||||
|
|
||||||
//Eventos con inscripciones abiertas para la web
|
//Eventos con inscripciones abiertas para la web
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user