@devx-commerce/strapi-x-custom-jw-mayave
Version:
Medusa plugin for Strapi as CMS - JW Mayave Custom Release
47 lines • 4.62 kB
JavaScript
;
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