@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
JavaScript
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;
;