skyflow-node
Version:
Skyflow SDK for Node.js
67 lines • 2.95 kB
JavaScript
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
;