From 917624c1191c066bb3a546fac0ebb78aa64c1cc9 Mon Sep 17 00:00:00 2001 From: Gospodin Bodurov <gospodin@bodurov.net> Date: Wed, 4 Dec 2019 21:50:12 +0200 Subject: [PATCH] Implement QR code logic on the vcl --- javascript/src/iframe/viamapi-iframe.js | 27 ++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 3f1078d..833c8cd 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1454,6 +1454,8 @@ const connection = Penpal.connectToParent({ vCardImageClaimValue = vCardClaimResponse.data; } + var coordinates = {fromL: -1, fromR:-1, toL: -1, toR: -1} + if (vCardImageClaimValue && "state" in vCardImageClaimValue && vCardImageClaimValue.state === "disabled") { vCardImageData = new ImageData({ contentType: "image/png", @@ -1470,12 +1472,26 @@ const connection = Penpal.connectToParent({ if (vCardImageResponse.code !== "200") { return encodeResponse("400", "", vCardImageResponse.status); } - vCardImageData = new ImageData(vCardImageResponse.data); + vCardImageData = new ImageData(vCardImageResponse.data.Image); if (vCardImageData.contentType !== "image/png") { return encodeResponse("400", "", "Content type of vCard mmust be 'image/png'"); } + + coordinates = vCardImageResponse.data.QRCodeCoordinates } + var messageUUID = "message-" + makeid() + + var qrCodeBase64Content = await generateQrCode("https://app.vereign.com/messagecheck/" + messageUUID) + + var qrCode = new ImageData( + { + contentType: "image/png", + content: qrCodeBase64Content, + } + ) + + if (!parts) { parts = []; } @@ -1539,14 +1555,19 @@ const connection = Penpal.connectToParent({ vCardImageData, privateKeyOneTime, passportChain, - parts + parts, + qrCode, + coordinates, ); if (signVCardResponse.code !== "200") { return encodeResponse("400", "", signVCardResponse.status); } const signedVCardImageData = new ImageData(signVCardResponse.data); - return encodeResponse("200", signedVCardImageData, "vCard signed"); + return encodeResponse("200", { + image: signedVCardImageData, + messageUUID: messageUUID, + }, "vCard signed"); }, generateQrCode, documentCreateDocument: async (passportUUID, path, contentType, title) => { -- GitLab