UNPKG

skyflow-node

Version:
67 lines 2.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteRecordsBySkyflowID = void 0; const SkyflowError_1 = __importDefault(require("../libs/SkyflowError")); const formatForPureJsFailure = (cause, skyflowId) => { var _a, _b; return (Object.assign({ id: skyflowId }, new SkyflowError_1.default({ code: (_a = cause === null || cause === void 0 ? void 0 : cause.error) === null || _a === void 0 ? void 0 : _a.code, description: (_b = cause === null || cause === void 0 ? void 0 : cause.error) === null || _b === void 0 ? void 0 : _b.description, }, [], true))); }; const deleteRecordInVault = (deleteRecord, options, client, authToken) => { const vaultEndPointURL = `${client.config.vaultURL}/v1/vaults/${client.config.vaultID}/${deleteRecord.table}/${deleteRecord.id}`; return client.request({ requestMethod: 'DELETE', url: vaultEndPointURL, headers: { Authorization: `Bearer ${authToken}`, 'Content-Type': 'application/json', } }); }; const deleteRecordsBySkyflowID = (deleteRecords, options, client, authToken) => { return new Promise((rootResolve, rootReject) => { const vaultResponseSet = deleteRecords.map((deleteRecord) => new Promise((resolve) => { const deleteResponse = []; deleteRecordInVault(deleteRecord, options, client, authToken) .then((response) => { deleteResponse.push(response.data); }, (cause) => { deleteResponse.push(formatForPureJsFailure(cause, deleteRecord.id)); }) .finally(() => { resolve(deleteResponse); }); })); Promise.allSettled(vaultResponseSet).then((resultSet) => { const recordsResponse = []; const errorResponse = []; resultSet.forEach((result) => { if (result.status === "fulfilled") { result.value.forEach((res) => { if (Object.prototype.hasOwnProperty.call(res, "error")) { errorResponse.push(res); } else { recordsResponse.push(res); } }); } }); if (errorResponse.length === 0) { rootResolve({ records: recordsResponse }); } else if (recordsResponse.length === 0) { rootReject({ errors: errorResponse }); } else rootReject({ records: recordsResponse, errors: errorResponse }); }); }); }; exports.deleteRecordsBySkyflowID = deleteRecordsBySkyflowID; //# sourceMappingURL=Delete.js.map