UNPKG

@devx-commerce/strapi-x-custom-jw-mayave

Version:

Medusa plugin for Strapi as CMS - JW Mayave Custom Release

47 lines 4.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.upsertProductVariantsStrapiStep = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const strapi_1 = require("../../modules/strapi"); const service_1 = require("../../modules/strapi/service"); const utils_1 = require("@medusajs/framework/utils"); const upsert_products_strapi_1 = require("../upsert-products-strapi"); exports.upsertProductVariantsStrapiStep = (0, workflows_sdk_1.createStep)("upsert-product-variants-strapi-step", async (input, { container }) => { const strapiModuleService = container.resolve(strapi_1.STRAPI_MODULE); const productModuleService = container.resolve(utils_1.Modules.PRODUCT); const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER); const variants = []; try { for (const variant of input.variants) { const productEntry = await strapiModuleService.getEntityBySystemId(service_1.StrapiEntity.PRODUCT, variant.product_id); if (!productEntry) { logger.error(`No product found in Strapi (ID: ${variant.product_id}) — skipping creation of variant ${variant.id}`); logger.info(`Creating product in Strapi (ID: ${variant.product_id})`); await (0, upsert_products_strapi_1.upsertProductsStrapiWorkflow)(container).run({ input: { product_ids: [variant.product_id], }, }); } const entry = await strapiModuleService.upsertProductVariant(variant); if (entry) { await productModuleService.updateProductVariants(variant.id, { metadata: { ...variant.metadata, strapiId: entry.documentId, strapiSyncedAt: new Date().valueOf(), }, }); variants.push({ documentId: entry.documentId, variantId: variant.id, }); } } } catch (e) { return workflows_sdk_1.StepResponse.permanentFailure(`Error creating variants in Strapi: ${e.message}`, variants); } return new workflows_sdk_1.StepResponse(variants, variants); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LXByb2R1Y3QtdmFyaWFudHMtc3RyYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy91cHNlcnQtcHJvZHVjdC12YXJpYW50cy1zdHJhcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscUVBQTZFO0FBQzdFLGlEQUFxRDtBQUNyRCwwREFFc0M7QUFDdEMscURBQStFO0FBQy9FLHNFQUF5RTtBQVc1RCxRQUFBLCtCQUErQixHQUFHLElBQUEsMEJBQVUsRUFDdkQscUNBQXFDLEVBQ3JDLEtBQUssRUFBRSxLQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4QyxNQUFNLG1CQUFtQixHQUN2QixTQUFTLENBQUMsT0FBTyxDQUFDLHNCQUFhLENBQUMsQ0FBQztJQUNuQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkUsTUFBTSxRQUFRLEdBQWlCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLENBQUM7UUFDSCxLQUFLLE1BQU0sT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFlBQVksR0FBRyxNQUFNLG1CQUFtQixDQUFDLG1CQUFtQixDQUNoRSxzQkFBWSxDQUFDLE9BQU8sRUFDcEIsT0FBTyxDQUFDLFVBQW9CLENBQzdCLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQ1YsbUNBQW1DLE9BQU8sQ0FBQyxVQUFVLG9DQUFvQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQ3RHLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBRXRFLE1BQU0sSUFBQSxxREFBNEIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQ2hELEtBQUssRUFBRTt3QkFDTCxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztxQkFDNUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7b0JBQzNELFFBQVEsRUFBRTt3QkFDUixHQUFHLE9BQU8sQ0FBQyxRQUFRO3dCQUNuQixRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVU7d0JBQzFCLGNBQWMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtxQkFDckM7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ1osVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO29CQUM1QixTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7aUJBQ3RCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLDRCQUFZLENBQUMsZ0JBQWdCLENBQ2xDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQ2pELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQ0YsQ0FBQyJ9