UNPKG

@lighthouse-web3/kavach

Version:

Encryption SDK: Build your trustless, decentralized and fault resistance Application using distributed key shades with threshold cryptography

58 lines (57 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.revokeAccess = void 0; const util_1 = require("../../util"); const util_2 = require("../../util"); const revokeAccess = async (address, cid, auth_token, revokeTo) => { if (!(0, util_2.isCidReg)(cid)) { return { isSuccess: false, error: "Invalid CID", }; } try { const nodeId = [1, 2, 3, 4, 5]; const nodeUrl = nodeId.map((elem) => `/api/setSharedKey/${elem}`); // send encryption key const requestData = async (url) => { try { const response = await (0, util_1.API_NODE_HANDLER)(url, "DELETE", auth_token, { address, cid, revokeTo, }); return response; } catch (error) { return { error, }; } }; const data = []; for (const [index, url] of nodeUrl.entries()) { const response = await requestData(url); if (response.error) { return { isSuccess: false, error: JSON.parse(response?.error?.message), }; } await new Promise((resolve) => setTimeout(resolve, 1000)); data.push(response); } const temp = data.map((elem, index) => ({ ...elem, data: null })); return { isSuccess: (0, util_2.isEqual)(...temp), error: null, }; } catch (err) { return { isSuccess: false, error: err, }; } }; exports.revokeAccess = revokeAccess;