UNPKG

@devx-commerce/strapi

Version:

Medusa plugin for Strapi as CMS

39 lines 3.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.config = void 0; exports.default = syncProductsHandler; const utils_1 = require("@medusajs/framework/utils"); const upsert_products_strapi_1 = require("../workflows/upsert-products-strapi"); async function syncProductsHandler({ 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: products, metadata: { count } = {} } = await query.graph({ entity: "product", fields: ["id"], pagination: { skip: offset, take: batchSize, }, }); if (products.length) { await (0, upsert_products_strapi_1.upsertProductsStrapiWorkflow)(container).run({ input: { product_ids: products.map((product) => product.id), }, }); } hasMore = products.length === batchSize; offset += batchSize; totalCount = count ?? 0; } logger.log(`Synced ${totalCount} products to Strapi`); } exports.config = { event: "strapi-products.sync", }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1wcm9kdWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9zeW5jLXByb2R1Y3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHNDQW1DQztBQXRDRCxxREFBc0U7QUFDdEUsZ0ZBQW1GO0FBRXBFLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxFQUNoRCxTQUFTLEdBQytCO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDdEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVuQixPQUFPLE9BQU8sRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3JFLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNkLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBQSxxREFBNEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hELEtBQUssRUFBRTtvQkFDTCxXQUFXLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztpQkFDbkQ7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDcEIsVUFBVSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxVQUFVLHFCQUFxQixDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsc0JBQXNCO0NBQzlCLENBQUMifQ==