@devx-commerce/strapi
Version:
Medusa plugin for Strapi as CMS
39 lines • 3.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
exports.default = syncCollectionsHandler;
const utils_1 = require("@medusajs/framework/utils");
const upsert_collections_strapi_1 = require("../workflows/upsert-collections-strapi");
async function syncCollectionsHandler({ container, }) {
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
const batchSize = 100;
let hasMore = true;
let offset = 0;
let totalCount = 0;
while (hasMore) {
const { data: collections, metadata: { count } = {} } = await query.graph({
entity: "product_collection",
fields: ["id"],
pagination: {
skip: offset,
take: batchSize,
},
});
if (collections.length) {
await (0, upsert_collections_strapi_1.upsertCollectionsStrapiWorkflow)(container).run({
input: {
collection_ids: collections.map((collection) => collection.id),
},
});
}
hasMore = collections.length === batchSize;
offset += batchSize;
totalCount = count ?? 0;
}
logger.log(`Synced ${totalCount} collections to Strapi`);
}
exports.config = {
event: "strapi-collections.sync",
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jb2xsZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zeW5jLWNvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHlDQW1DQztBQXRDRCxxREFBc0U7QUFDdEUsc0ZBQXlGO0FBRTFFLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxFQUNuRCxTQUFTLEdBQytCO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDdEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVuQixPQUFPLE9BQU8sRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3hFLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2QsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFBLDJEQUErQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDbkQsS0FBSyxFQUFFO29CQUNMLGNBQWMsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2lCQUMvRDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEdBQUcsV0FBVyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7UUFDM0MsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUNwQixVQUFVLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLFVBQVUsd0JBQXdCLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSx5QkFBeUI7Q0FDakMsQ0FBQyJ9