diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 3f1078d8c4617558d6a0f129ca834a288ab23026..58b6e00e6147e860f181b4b3e54bb38b45c8ba66 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", @@ -1467,15 +1469,32 @@ const connection = Penpal.connectToParent({ null, passportUUID ); + + console.log(vCardImageResponse); + 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 = makeid() + + var qrCodeBase64Content = await generateQrCode("https://" + location.host + "/check/" + messageUUID) + + var qrCode = new ImageData( + { + contentType: "image/png", + content: qrCodeBase64Content, + } + ) + + if (!parts) { parts = []; } @@ -1531,6 +1550,9 @@ const connection = Penpal.connectToParent({ passportChain.reverse(); + console.log(qrCode); + console.log(coordinates); + const signVCardResponse = await executeRestfulFunction( "private", window.viamApi, @@ -1539,14 +1561,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) => {