UNPKG

@devx-commerce/strapi

Version:

Medusa plugin for Strapi as CMS

39 lines 3.08 kB
"use strict"; 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