@devx-commerce/strapi
Version:
Medusa plugin for Strapi as CMS
39 lines • 3.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
exports.default = syncCategoriesHandler;
const utils_1 = require("@medusajs/framework/utils");
const upsert_categories_strapi_1 = require("../workflows/upsert-categories-strapi");
async function syncCategoriesHandler({ 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: categories, metadata: { count } = {} } = await query.graph({
entity: "product_category",
fields: ["id"],
pagination: {
skip: offset,
take: batchSize,
},
});
if (categories.length) {
await (0, upsert_categories_strapi_1.upsertCategoriesStrapiWorkflow)(container).run({
input: {
category_ids: categories.map((category) => category.id),
},
});
}
hasMore = categories.length === batchSize;
offset += batchSize;
totalCount = count ?? 0;
}
logger.log(`Synced ${totalCount} categories to Strapi`);
}
exports.config = {
event: "strapi-categories.sync",
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jYXRlZ29yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL3N5bmMtY2F0ZWdvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx3Q0FtQ0M7QUF0Q0QscURBQXNFO0FBQ3RFLG9GQUF1RjtBQUV4RSxLQUFLLFVBQVUscUJBQXFCLENBQUMsRUFDbEQsU0FBUyxHQUMrQjtJQUN4QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztJQUNuQixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFbkIsT0FBTyxPQUFPLEVBQUUsQ0FBQztRQUNmLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN2RSxNQUFNLEVBQUUsa0JBQWtCO1lBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNkLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBQSx5REFBOEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ2xELEtBQUssRUFBRTtvQkFDTCxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztpQkFDeEQ7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDcEIsVUFBVSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxVQUFVLHVCQUF1QixDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUsd0JBQXdCO0NBQ2hDLENBQUMifQ==