@webiny/api-headless-cms-ddb
Version:
DynamoDB storage operations plugin for Headless CMS API.
45 lines (43 loc) • 1.34 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createGetAllEntryRevisions = void 0;
var _dataloader = _interopRequireDefault(require("dataloader"));
var _query = require("@webiny/db-dynamodb/utils/query");
var _keys = require("../keys");
var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
var _createBatchScheduleFn = require("./createBatchScheduleFn");
const createGetAllEntryRevisions = params => {
const {
entity,
locale,
tenant
} = params;
return new _dataloader.default(async ids => {
const results = {};
for (const id of ids) {
const queryAllParams = {
entity,
partitionKey: (0, _keys.createPartitionKey)({
tenant,
locale,
id
}),
options: {
beginsWith: "REV#"
}
};
const items = await (0, _query.queryAll)(queryAllParams);
results[id] = (0, _cleanup.cleanupItems)(entity, items);
}
return ids.map(id => {
return results[id] || [];
});
}, {
batchScheduleFn: (0, _createBatchScheduleFn.createBatchScheduleFn)()
});
};
exports.createGetAllEntryRevisions = createGetAllEntryRevisions;
//# sourceMappingURL=getAllEntryRevisions.js.map