medusa-import-product-plugin 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +590 -0
- package/.medusa/server/src/admin/index.mjs +591 -0
- package/.medusa/server/src/api/admin/import/[id]/pause/route.js +25 -0
- package/.medusa/server/src/api/admin/import/[id]/resume/route.js +51 -0
- package/.medusa/server/src/api/admin/import/[id]/route.js +57 -0
- package/.medusa/server/src/api/admin/import/route.js +88 -0
- package/.medusa/server/src/api/admin/plugin/route.js +7 -0
- package/.medusa/server/src/api/middlewares.js +46 -0
- package/.medusa/server/src/api/store/plugin/route.js +7 -0
- package/.medusa/server/src/modules/import/index.js +13 -0
- package/.medusa/server/src/modules/import/migrations/Migration20260603094700.js +21 -0
- package/.medusa/server/src/modules/import/migrations/Migration20260605102500.js +14 -0
- package/.medusa/server/src/modules/import/models/import-job.js +24 -0
- package/.medusa/server/src/modules/import/models/import-row.js +18 -0
- package/.medusa/server/src/modules/import/service.js +59 -0
- package/.medusa/server/src/modules/import/types/enums.js +19 -0
- package/.medusa/server/src/modules/import/types/index.js +9 -0
- package/.medusa/server/src/modules/import/types/records.js +3 -0
- package/.medusa/server/src/modules/import/types/workflow.js +69 -0
- package/.medusa/server/src/subscribers/product-import.js +98 -0
- package/.medusa/server/src/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/process-import.js +404 -0
- package/.medusa/server/src/workflows/steps/create-category-attributes.step.js +29 -0
- package/.medusa/server/src/workflows/steps/create-variant-price-sets.step.js +36 -0
- package/.medusa/server/src/workflows/steps/download-and-upload-images.step.js +77 -0
- package/.medusa/server/src/workflows/steps/find-or-create-category.step.js +40 -0
- package/.medusa/server/src/workflows/steps/find-products-by-handle.step.js +13 -0
- package/.medusa/server/src/workflows/steps/find-products-by-variant-sku.step.js +19 -0
- package/.medusa/server/src/workflows/steps/list-category-attributes-by-labels.step.js +27 -0
- package/.medusa/server/src/workflows/steps/list-existing-inventory-levels.step.js +24 -0
- package/.medusa/server/src/workflows/steps/list-inventory-items-by-sku.step.js +13 -0
- package/.medusa/server/src/workflows/steps/list-product-tags-by-value.step.js +13 -0
- package/.medusa/server/src/workflows/steps/parse-csv.step.js +160 -0
- package/.medusa/server/src/workflows/steps/refetch-products-by-handle.step.js +16 -0
- package/.medusa/server/src/workflows/steps/resolve-default-stock-location.step.js +17 -0
- package/.medusa/server/src/workflows/steps/set-product-attributes.step.js +53 -0
- package/.medusa/server/src/workflows/steps/update-dealer-prices.step.js +77 -0
- package/.medusa/server/src/workflows/steps/update-variant-prices.step.js +74 -0
- package/README.md +64 -0
- package/package.json +77 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findOrCreateCategoryStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.findOrCreateCategoryStep = (0, workflows_sdk_1.createStep)("find-or-create-category", async (names, { container }) => {
|
|
7
|
+
if (!names.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse({});
|
|
9
|
+
const productSvc = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const handles = names.map((n) => (0, utils_1.toHandle)(n));
|
|
11
|
+
const existing = await productSvc.listProductCategories({ handle: handles }, { select: ["id", "handle", "name"] });
|
|
12
|
+
const existingByHandle = {};
|
|
13
|
+
for (const cat of existing) {
|
|
14
|
+
if (cat.handle)
|
|
15
|
+
existingByHandle[cat.handle] = cat.id;
|
|
16
|
+
}
|
|
17
|
+
const toCreate = names.filter((n) => !existingByHandle[(0, utils_1.toHandle)(n)]);
|
|
18
|
+
let created = [];
|
|
19
|
+
if (toCreate.length) {
|
|
20
|
+
created = await productSvc.createProductCategories(toCreate.map((name) => ({
|
|
21
|
+
name,
|
|
22
|
+
handle: (0, utils_1.toHandle)(name),
|
|
23
|
+
is_active: true,
|
|
24
|
+
})));
|
|
25
|
+
}
|
|
26
|
+
const nameToId = { ...existingByHandle };
|
|
27
|
+
for (const cat of created) {
|
|
28
|
+
if (cat.handle)
|
|
29
|
+
nameToId[cat.handle] = cat.id;
|
|
30
|
+
}
|
|
31
|
+
const result = {};
|
|
32
|
+
for (const name of names) {
|
|
33
|
+
const id = nameToId[(0, utils_1.toHandle)(name)];
|
|
34
|
+
if (id)
|
|
35
|
+
result[name] = id;
|
|
36
|
+
}
|
|
37
|
+
console.log(`[findOrCreateCategoryStep] ${existing.length} existing, ${created.length} created`);
|
|
38
|
+
return new workflows_sdk_1.StepResponse(result);
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1vci1jcmVhdGUtY2F0ZWdvcnkuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZmluZC1vci1jcmVhdGUtY2F0ZWdvcnkuc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQThEO0FBR2pELFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRCx5QkFBeUIsRUFDekIsS0FBSyxFQUFFLEtBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1FBQUUsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDbEMsZUFBTyxDQUFDLE9BQU8sQ0FDaEIsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsZ0JBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUNyRCxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFDbkIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQ3JDLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUEyQixFQUFFLENBQUM7SUFDcEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLEdBQUcsQ0FBQyxNQUFNO1lBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBQSxnQkFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVyRSxJQUFJLE9BQU8sR0FBb0QsRUFBRSxDQUFDO0lBQ2xFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FDaEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QixJQUFJO1lBQ0osTUFBTSxFQUFFLElBQUEsZ0JBQVEsRUFBQyxJQUFJLENBQUM7WUFDdEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBMkIsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDakUsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxNQUFNO1lBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO0lBQzFDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUEsZ0JBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQ1QsOEJBQThCLFFBQVEsQ0FBQyxNQUFNLGNBQWMsT0FBTyxDQUFDLE1BQU0sVUFBVSxDQUNwRixDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findProductsByHandleStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.findProductsByHandleStep = (0, workflows_sdk_1.createStep)("find-products-by-handle", async (handles, { container }) => {
|
|
7
|
+
if (!handles.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const productSvc = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const products = await productSvc.listProducts({ handle: handles }, { select: ["id", "handle"], relations: ["variants"] });
|
|
11
|
+
return new workflows_sdk_1.StepResponse(products);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wcm9kdWN0cy1ieS1oYW5kbGUuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZmluZC1wcm9kdWN0cy1ieS1oYW5kbGUuc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQW9EO0FBR3ZDLFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRCx5QkFBeUIsRUFDekIsS0FBSyxFQUFFLE9BQWlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ2xDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxZQUFZLENBQzVDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUN0RCxDQUFDO0lBQ0YsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findProductsByVariantSkuStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.findProductsByVariantSkuStep = (0, workflows_sdk_1.createStep)("find-products-by-variant-sku", async (skus, { container }) => {
|
|
7
|
+
if (!skus.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const productSvc = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const variants = await productSvc.listProductVariants({ sku: skus }, { select: ["id", "product_id"] });
|
|
11
|
+
const productIds = [
|
|
12
|
+
...new Set(variants.map((v) => v.product_id).filter((id) => !!id)),
|
|
13
|
+
];
|
|
14
|
+
if (!productIds.length)
|
|
15
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
16
|
+
const products = await productSvc.listProducts({ id: productIds }, { select: ["id", "handle"], relations: ["variants"] });
|
|
17
|
+
return new workflows_sdk_1.StepResponse(products);
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wcm9kdWN0cy1ieS12YXJpYW50LXNrdS5zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9maW5kLXByb2R1Y3RzLWJ5LXZhcmlhbnQtc2t1LnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHFEQUFvRDtBQUd2QyxRQUFBLDRCQUE0QixHQUFHLElBQUEsMEJBQVUsRUFDcEQsOEJBQThCLEVBQzlCLEtBQUssRUFBRSxJQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ2xDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxtQkFBbUIsQ0FDbkQsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQ2IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FDakMsQ0FBQztJQUNGLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLEdBQUcsSUFBSSxHQUFHLENBQ1IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDckU7S0FDRixDQUFDO0lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1FBQUUsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxVQUFVLENBQUMsWUFBWSxDQUM1QyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFDbEIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDdEQsQ0FBQztJQUNGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCategoryAttributesByLabelsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const product_attributes_1 = require("@empty-complete-org/medusa-product-attributes/.medusa/server/src/modules/product-attributes");
|
|
6
|
+
exports.listCategoryAttributesByLabelsStep = (0, workflows_sdk_1.createStep)("list-category-attributes-by-labels", async (labels, { container }) => {
|
|
7
|
+
if (!labels.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
try {
|
|
10
|
+
const customAttrSvc = container.resolve(product_attributes_1.CUSTOM_ATTRIBUTE_MODULE);
|
|
11
|
+
const result = [];
|
|
12
|
+
for (const label of labels) {
|
|
13
|
+
const found = await customAttrSvc.listCategoryCustomAttributes({
|
|
14
|
+
label,
|
|
15
|
+
is_global: true,
|
|
16
|
+
deleted_at: null,
|
|
17
|
+
});
|
|
18
|
+
result.push(...found);
|
|
19
|
+
}
|
|
20
|
+
return new workflows_sdk_1.StepResponse(result);
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
console.error("[listCategoryAttributesByLabelsStep] Error:", err);
|
|
24
|
+
throw err;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jYXRlZ29yeS1hdHRyaWJ1dGVzLWJ5LWxhYmVscy5zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9saXN0LWNhdGVnb3J5LWF0dHJpYnV0ZXMtYnktbGFiZWxzLnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLG9JQUFzSTtBQU16SCxRQUFBLGtDQUFrQyxHQUFHLElBQUEsMEJBQVUsRUFDMUQsb0NBQW9DLEVBQ3BDLEtBQUssRUFDSCxNQUFnQixFQUNoQixFQUFFLFNBQVMsRUFBRSxFQUN3QyxFQUFFO0lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3JDLDRDQUF1QixDQUN4QixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQWlDLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDLDRCQUE0QixDQUFDO2dCQUM3RCxLQUFLO2dCQUNMLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listExistingInventoryLevelsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.listExistingInventoryLevelsStep = (0, workflows_sdk_1.createStep)("list-existing-inventory-levels", async (input, { container }) => {
|
|
7
|
+
const emptyResult = {
|
|
8
|
+
byItemId: {},
|
|
9
|
+
};
|
|
10
|
+
if (!input.inventoryItemIds.length || !input.locationId) {
|
|
11
|
+
return new workflows_sdk_1.StepResponse(emptyResult);
|
|
12
|
+
}
|
|
13
|
+
const inventorySvc = container.resolve(utils_1.Modules.INVENTORY);
|
|
14
|
+
const levels = await inventorySvc.listInventoryLevels({
|
|
15
|
+
inventory_item_id: input.inventoryItemIds,
|
|
16
|
+
location_id: input.locationId,
|
|
17
|
+
});
|
|
18
|
+
const byItemId = {};
|
|
19
|
+
for (const level of levels) {
|
|
20
|
+
byItemId[level.inventory_item_id] = level;
|
|
21
|
+
}
|
|
22
|
+
return new workflows_sdk_1.StepResponse({ byItemId });
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1leGlzdGluZy1pbnZlbnRvcnktbGV2ZWxzLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2xpc3QtZXhpc3RpbmctaW52ZW50b3J5LWxldmVscy5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBb0Q7QUFHdkMsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3ZELGdDQUFnQyxFQUNoQyxLQUFLLEVBQ0gsS0FBeUQsRUFDekQsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxXQUFXLEdBQW1FO1FBQ2xGLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztJQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxlQUFPLENBQUMsU0FBUyxDQUNsQixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsbUJBQW1CLENBQUM7UUFDcEQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtRQUN6QyxXQUFXLEVBQUUsS0FBSyxDQUFDLFVBQVU7S0FDOUIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxRQUFRLEdBQXFELEVBQUUsQ0FBQztJQUN0RSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUNELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listInventoryItemsBySkuStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.listInventoryItemsBySkuStep = (0, workflows_sdk_1.createStep)("list-inventory-items-by-sku", async (skus, { container }) => {
|
|
7
|
+
if (!skus.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const inventorySvc = container.resolve(utils_1.Modules.INVENTORY);
|
|
10
|
+
const items = await inventorySvc.listInventoryItems({ sku: skus });
|
|
11
|
+
return new workflows_sdk_1.StepResponse(items);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnZlbnRvcnktaXRlbXMtYnktc2t1LnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2xpc3QtaW52ZW50b3J5LWl0ZW1zLWJ5LXNrdS5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBb0Q7QUFHdkMsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQ25ELDZCQUE2QixFQUM3QixLQUFLLEVBQUUsSUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNwQyxlQUFPLENBQUMsU0FBUyxDQUNsQixDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsa0JBQWtCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listProductTagsByValueStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.listProductTagsByValueStep = (0, workflows_sdk_1.createStep)("list-product-tags-by-value", async (values, { container }) => {
|
|
7
|
+
if (!values.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const productSvc = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const tags = await productSvc.listProductTags({ value: values });
|
|
11
|
+
return new workflows_sdk_1.StepResponse(tags);
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9kdWN0LXRhZ3MtYnktdmFsdWUuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvbGlzdC1wcm9kdWN0LXRhZ3MtYnktdmFsdWUuc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQW9EO0FBR3ZDLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUNsRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLE1BQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ2xDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRSxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseCSVStep = void 0;
|
|
7
|
+
exports.parseCSVFile = parseCSVFile;
|
|
8
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
9
|
+
const sync_1 = require("csv-parse/sync");
|
|
10
|
+
const csv_parse_1 = require("csv-parse");
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const FIELDS = {
|
|
14
|
+
title: { target: "product", required: true },
|
|
15
|
+
description: { target: "product" },
|
|
16
|
+
subtitle: { target: "product" },
|
|
17
|
+
category: { target: "product" },
|
|
18
|
+
brand_tag: { target: "product" },
|
|
19
|
+
images: {
|
|
20
|
+
target: "product",
|
|
21
|
+
parse: (v) => v
|
|
22
|
+
.split(/[\s,]+/)
|
|
23
|
+
.map((s) => s.trim())
|
|
24
|
+
.filter(Boolean),
|
|
25
|
+
},
|
|
26
|
+
option1_name: { target: "product" },
|
|
27
|
+
option2_name: { target: "product" },
|
|
28
|
+
variant_title: { target: "variant", prop: "title" },
|
|
29
|
+
variant_sku: { target: "variant", prop: "sku" },
|
|
30
|
+
option1_value: { target: "variant" },
|
|
31
|
+
option2_value: { target: "variant" },
|
|
32
|
+
price: { target: "variant", parse: (v) => parseFloat(v) },
|
|
33
|
+
dealer_price: { target: "variant", parse: (v) => parseFloat(v) },
|
|
34
|
+
inventory_quantity: {
|
|
35
|
+
target: "variant",
|
|
36
|
+
parse: (v) => parseInt(v, 10),
|
|
37
|
+
defaultValue: 0,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
function validate(rows) {
|
|
41
|
+
const errors = [];
|
|
42
|
+
for (const [i, r] of rows.entries()) {
|
|
43
|
+
for (const [field, cfg] of Object.entries(FIELDS)) {
|
|
44
|
+
const val = r[field]?.trim();
|
|
45
|
+
if (!val) {
|
|
46
|
+
if (cfg.required)
|
|
47
|
+
errors.push(`Row ${i + 1}: missing ${field}`);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (cfg.parse && Number.isNaN(cfg.parse(val))) {
|
|
51
|
+
errors.push(`Row ${i + 1}: invalid ${field} "${val}"`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return errors;
|
|
56
|
+
}
|
|
57
|
+
function parseCSVFile(filePath) {
|
|
58
|
+
const fileContent = fs_1.default.readFileSync(filePath, "utf8");
|
|
59
|
+
const rows = (0, sync_1.parse)(fileContent, {
|
|
60
|
+
columns: true,
|
|
61
|
+
skip_empty_lines: true,
|
|
62
|
+
trim: true,
|
|
63
|
+
});
|
|
64
|
+
const errors = validate(rows);
|
|
65
|
+
return { rows, errors };
|
|
66
|
+
}
|
|
67
|
+
function resolve(row, field) {
|
|
68
|
+
const cfg = FIELDS[field];
|
|
69
|
+
const raw = row[field]?.trim();
|
|
70
|
+
if (!raw)
|
|
71
|
+
return cfg.defaultValue ?? undefined;
|
|
72
|
+
return cfg.parse ? cfg.parse(raw) : raw;
|
|
73
|
+
}
|
|
74
|
+
function resolveString(row, field) {
|
|
75
|
+
const raw = row[field]?.trim();
|
|
76
|
+
if (!raw)
|
|
77
|
+
return undefined;
|
|
78
|
+
return raw;
|
|
79
|
+
}
|
|
80
|
+
function resolveStringArray(row, field) {
|
|
81
|
+
const raw = row[field]?.trim();
|
|
82
|
+
if (!raw)
|
|
83
|
+
return undefined;
|
|
84
|
+
return raw
|
|
85
|
+
.split(",")
|
|
86
|
+
.map((s) => s.trim())
|
|
87
|
+
.filter(Boolean);
|
|
88
|
+
}
|
|
89
|
+
function resolveNumber(row, field, fallback) {
|
|
90
|
+
const raw = row[field]?.trim();
|
|
91
|
+
if (!raw)
|
|
92
|
+
return fallback;
|
|
93
|
+
const parsed = Number(raw);
|
|
94
|
+
return Number.isNaN(parsed) ? fallback : parsed;
|
|
95
|
+
}
|
|
96
|
+
function extractAttributes(row) {
|
|
97
|
+
const attrs = [];
|
|
98
|
+
for (const key of Object.keys(row)) {
|
|
99
|
+
const match = key.match(/^attribute_(\d+)_name$/);
|
|
100
|
+
if (!match)
|
|
101
|
+
continue;
|
|
102
|
+
const idx = match[1];
|
|
103
|
+
const name = row[key]?.trim();
|
|
104
|
+
const value = row[`attribute_${idx}_value`]?.trim();
|
|
105
|
+
if (name && value) {
|
|
106
|
+
attrs.push({ name, value });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return attrs;
|
|
110
|
+
}
|
|
111
|
+
function toProducts(rows) {
|
|
112
|
+
const map = new Map();
|
|
113
|
+
for (const r of rows) {
|
|
114
|
+
const title = resolveString(r, "title");
|
|
115
|
+
if (!title)
|
|
116
|
+
continue;
|
|
117
|
+
if (!map.has(title)) {
|
|
118
|
+
const attrs = extractAttributes(r);
|
|
119
|
+
const imagesRaw = resolve(r, "images");
|
|
120
|
+
const images = Array.isArray(imagesRaw) ? imagesRaw.filter((v) => typeof v === "string") : undefined;
|
|
121
|
+
map.set(title, {
|
|
122
|
+
title,
|
|
123
|
+
description: resolveString(r, "description"),
|
|
124
|
+
subtitle: resolveString(r, "subtitle"),
|
|
125
|
+
categories: resolveStringArray(r, "category"),
|
|
126
|
+
brand_tag: resolveString(r, "brand_tag"),
|
|
127
|
+
option1_name: resolveString(r, "option1_name"),
|
|
128
|
+
option2_name: resolveString(r, "option2_name"),
|
|
129
|
+
images,
|
|
130
|
+
attributes: attrs.length ? attrs : undefined,
|
|
131
|
+
variants: [],
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const product = map.get(title);
|
|
135
|
+
product.variants.push({
|
|
136
|
+
sku: resolveString(r, "variant_sku") ?? "",
|
|
137
|
+
title: resolveString(r, "variant_title"),
|
|
138
|
+
option1_value: resolveString(r, "option1_value") ?? "",
|
|
139
|
+
option2_value: resolveString(r, "option2_value"),
|
|
140
|
+
price: resolveNumber(r, "price", 0),
|
|
141
|
+
dealer_price: resolveNumber(r, "dealer_price", 0) || undefined,
|
|
142
|
+
inventory_quantity: resolveNumber(r, "inventory_quantity", 0),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return Array.from(map.values());
|
|
146
|
+
}
|
|
147
|
+
exports.parseCSVStep = (0, workflows_sdk_1.createStep)("parse-csv-step", async ({ filePath }) => {
|
|
148
|
+
const rows = [];
|
|
149
|
+
const parser = (0, node_fs_1.createReadStream)(filePath).pipe((0, csv_parse_1.parse)({ columns: true, skip_empty_lines: true, trim: true }));
|
|
150
|
+
for await (const record of parser) {
|
|
151
|
+
if (typeof record === "object" && record !== null) {
|
|
152
|
+
rows.push(record);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const errors = validate(rows);
|
|
156
|
+
if (errors.length)
|
|
157
|
+
throw new Error(errors.join(" | "));
|
|
158
|
+
return new workflows_sdk_1.StepResponse(toProducts(rows));
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY3N2LnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3BhcnNlLWNzdi5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTZEQSxvQ0FZQztBQXpFRCwyREFBbUU7QUFFbkUseUNBQXVDO0FBQ3ZDLHlDQUFpRDtBQUNqRCxxQ0FBMkM7QUFDM0MsNENBQW9CO0FBVXBCLE1BQU0sTUFBTSxHQUFnQztJQUMxQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDNUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNsQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQy9CLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDL0IsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNoQyxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUsU0FBUztRQUNqQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNYLENBQUM7YUFDRSxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQztLQUNyQjtJQUNELFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDbkMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUNuQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7SUFDbkQsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0lBQy9DLGFBQWEsRUFBRSxF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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refetchProductsByHandleStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.refetchProductsByHandleStep = (0, workflows_sdk_1.createStep)("refetch-products-by-handle", async (handles, { container }) => {
|
|
7
|
+
if (!handles.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const productSvc = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const products = await productSvc.listProducts({ handle: handles }, {
|
|
11
|
+
select: ["id", "handle"],
|
|
12
|
+
relations: ["variants", "variants.options", "images", "tags", "categories"],
|
|
13
|
+
});
|
|
14
|
+
return new workflows_sdk_1.StepResponse(products);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXRjaC1wcm9kdWN0cy1ieS1oYW5kbGUuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvcmVmZXRjaC1wcm9kdWN0cy1ieS1oYW5kbGUuc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQW9EO0FBR3ZDLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLE9BQWlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ2xDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxZQUFZLENBQzVDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQjtRQUNFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7UUFDeEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDO0tBQzVFLENBQ0YsQ0FBQztJQUNGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveDefaultStockLocationStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.resolveDefaultStockLocationStep = (0, workflows_sdk_1.createStep)("resolve-default-stock-location", async (_, { container }) => {
|
|
7
|
+
const stockLocationSvc = container.resolve(utils_1.Modules.STOCK_LOCATION);
|
|
8
|
+
const [existing] = await stockLocationSvc.listStockLocations({});
|
|
9
|
+
if (existing) {
|
|
10
|
+
return new workflows_sdk_1.StepResponse(existing.id);
|
|
11
|
+
}
|
|
12
|
+
const [created] = await stockLocationSvc.createStockLocations([
|
|
13
|
+
{ name: "Default Location" },
|
|
14
|
+
]);
|
|
15
|
+
return new workflows_sdk_1.StepResponse(created.id);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1kZWZhdWx0LXN0b2NrLWxvY2F0aW9uLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3Jlc29sdmUtZGVmYXVsdC1zdG9jay1sb2NhdGlvbi5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBb0Q7QUFHdkMsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3ZELGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN6QixNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ3hDLGVBQU8sQ0FBQyxjQUFjLENBQ3ZCLENBQUM7SUFDRixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLDRCQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1RCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtLQUM3QixDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksNEJBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setProductAttributesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const product_attributes_1 = require("@empty-complete-org/medusa-product-attributes/.medusa/server/src/modules/product-attributes");
|
|
6
|
+
exports.setProductAttributesStep = (0, workflows_sdk_1.createStep)("set-product-attributes", async (inputs, { container }) => {
|
|
7
|
+
if (!inputs.length) {
|
|
8
|
+
console.warn("[setProductAttributesStep] No attribute inputs to process");
|
|
9
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const customAttrSvc = container.resolve(product_attributes_1.CUSTOM_ATTRIBUTE_MODULE);
|
|
13
|
+
const productIds = [...new Set(inputs.map((i) => i.product_id))];
|
|
14
|
+
const existingByProduct = {};
|
|
15
|
+
for (const pid of productIds) {
|
|
16
|
+
const existing = await customAttrSvc.getProductAttributes(pid);
|
|
17
|
+
existingByProduct[pid] = existing;
|
|
18
|
+
}
|
|
19
|
+
const results = [];
|
|
20
|
+
for (const input of inputs) {
|
|
21
|
+
const existingList = existingByProduct[input.product_id] ?? [];
|
|
22
|
+
const existingAttr = existingList.find((e) => e.category_custom_attribute?.id ===
|
|
23
|
+
input.category_custom_attribute_id);
|
|
24
|
+
if (existingAttr) {
|
|
25
|
+
const updated = await customAttrSvc.updateProductAttribute(existingAttr.id, {
|
|
26
|
+
value: input.value,
|
|
27
|
+
value_numeric: isNaN(Number(input.value))
|
|
28
|
+
? null
|
|
29
|
+
: Number(input.value),
|
|
30
|
+
});
|
|
31
|
+
results.push(updated);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const created = await customAttrSvc.createProductAttribute({
|
|
35
|
+
product_id: input.product_id,
|
|
36
|
+
category_custom_attribute_id: input.category_custom_attribute_id,
|
|
37
|
+
value: input.value,
|
|
38
|
+
value_numeric: isNaN(Number(input.value))
|
|
39
|
+
? null
|
|
40
|
+
: Number(input.value),
|
|
41
|
+
});
|
|
42
|
+
results.push(created);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
console.log(`[setProductAttributesStep] Set ${results.length} product attributes`);
|
|
46
|
+
return new workflows_sdk_1.StepResponse(results);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
console.error("[setProductAttributesStep] Error:", err);
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXByb2R1Y3QtYXR0cmlidXRlcy5zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9zZXQtcHJvZHVjdC1hdHRyaWJ1dGVzLnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLG9JQUFzSTtBQU16SCxRQUFBLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDaEQsd0JBQXdCLEVBQ3hCLEtBQUssRUFDSCxNQUlHLEVBQ0gsRUFBRSxTQUFTLEVBQUUsRUFDdUMsRUFBRTtJQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDckMsNENBQXVCLENBQ3hCLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxNQUFNLGlCQUFpQixHQUFnRCxFQUFFLENBQUM7UUFDMUUsS0FBSyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvRCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFnQyxFQUFFLENBQUM7UUFDaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9ELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQ3BDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUMseUJBQXlCLEVBQUUsRUFBRTtnQkFDL0IsS0FBSyxDQUFDLDRCQUE0QixDQUNyQyxDQUFDO1lBRUYsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsc0JBQXNCLENBQ3hELFlBQVksQ0FBQyxFQUFFLEVBQ2Y7b0JBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixhQUFhLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZDLENBQUMsQ0FBQyxJQUFJO3dCQUNOLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDeEIsQ0FDRixDQUFDO2dCQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLHNCQUFzQixDQUFDO29CQUN6RCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7b0JBQzVCLDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7b0JBQ2hFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztvQkFDbEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN2QyxDQUFDLENBQUMsSUFBSTt3QkFDTixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQ3hCLENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCxrQ0FBa0MsT0FBTyxDQUFDLE1BQU0scUJBQXFCLENBQ3RFLENBQUM7UUFDRixPQUFPLElBQUksNEJBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateDealerPricesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.updateDealerPricesStep = (0, workflows_sdk_1.createStep)("update-dealer-prices", async (inputs, { container }) => {
|
|
7
|
+
if (!inputs.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const pricingSvc = container.resolve(utils_1.Modules.PRICING);
|
|
10
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
11
|
+
const linkService = remoteLink.getLinkModule(utils_1.Modules.PRODUCT, "variant_id", utils_1.Modules.PRICING, "price_set_id");
|
|
12
|
+
if (!linkService) {
|
|
13
|
+
console.log("[updateDealerPricesStep] No pricing link module found");
|
|
14
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
15
|
+
}
|
|
16
|
+
const variantIds = inputs.map((i) => i.variant_id);
|
|
17
|
+
const links = (await linkService.list({ variant_id: variantIds }, { select: ["variant_id", "price_set_id"] }));
|
|
18
|
+
const variantToPriceSet = {};
|
|
19
|
+
for (const link of links) {
|
|
20
|
+
variantToPriceSet[link.variant_id] = link.price_set_id;
|
|
21
|
+
}
|
|
22
|
+
const priceSetIds = [...new Set(links.map((l) => l.price_set_id))];
|
|
23
|
+
const existingPrices = priceSetIds.length
|
|
24
|
+
? (await pricingSvc.listPrices({ price_set_id: priceSetIds }, { select: ["id", "price_set_id", "amount", "currency_code"] }))
|
|
25
|
+
: [];
|
|
26
|
+
const pricesByPriceSet = {};
|
|
27
|
+
for (const price of existingPrices) {
|
|
28
|
+
if (!pricesByPriceSet[price.price_set_id]) {
|
|
29
|
+
pricesByPriceSet[price.price_set_id] = [];
|
|
30
|
+
}
|
|
31
|
+
pricesByPriceSet[price.price_set_id].push(price);
|
|
32
|
+
}
|
|
33
|
+
const toCreate = [];
|
|
34
|
+
const toUpdate = [];
|
|
35
|
+
for (const input of inputs) {
|
|
36
|
+
const priceSetId = variantToPriceSet[input.variant_id];
|
|
37
|
+
if (!priceSetId)
|
|
38
|
+
continue;
|
|
39
|
+
const existingForSet = pricesByPriceSet[priceSetId] ?? [];
|
|
40
|
+
const existingDealer = existingForSet.find((p) => p.currency_code?.toLowerCase() === "inr");
|
|
41
|
+
if (existingDealer) {
|
|
42
|
+
toUpdate.push({
|
|
43
|
+
id: existingDealer.id,
|
|
44
|
+
price_set_id: priceSetId,
|
|
45
|
+
amount: input.dealer_price,
|
|
46
|
+
currency_code: "inr",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
toCreate.push({
|
|
51
|
+
price_set_id: priceSetId,
|
|
52
|
+
amount: input.dealer_price,
|
|
53
|
+
currency_code: "inr",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (toCreate.length) {
|
|
58
|
+
await pricingSvc.addPriceListPrices([
|
|
59
|
+
{
|
|
60
|
+
price_list_id: inputs[0].price_list_id,
|
|
61
|
+
prices: toCreate,
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
if (toUpdate.length) {
|
|
66
|
+
await pricingSvc.updatePriceListPrices([
|
|
67
|
+
{
|
|
68
|
+
price_list_id: inputs[0].price_list_id,
|
|
69
|
+
prices: toUpdate,
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
}
|
|
73
|
+
const results = inputs.map((i) => i.variant_id);
|
|
74
|
+
console.log(`[updateDealerPricesStep] Updated ${results.length} variant dealer prices via price list ${inputs[0].price_list_id}`);
|
|
75
|
+
return new workflows_sdk_1.StepResponse(results);
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWRlYWxlci1wcmljZXMuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdXBkYXRlLWRlYWxlci1wcmljZXMuc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQStFO0FBcUJsRSxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDOUMsc0JBQXNCLEVBQ3RCLEtBQUssRUFBRSxNQUEwQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFjLENBQUMsQ0FBQztJQUU1RCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNsQyxlQUFPLENBQUMsT0FBTyxDQUNoQixDQUFDO0lBQ0YsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUMxQyxlQUFPLENBQUMsT0FBTyxFQUNmLFlBQVksRUFDWixlQUFPLENBQUMsT0FBTyxFQUNmLGNBQWMsQ0FDZixDQUFDO0lBRUYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQ1QsdURBQXVELENBQ3hELENBQUM7UUFDRixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFjLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUNuQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVB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
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateVariantPricesStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.updateVariantPricesStep = (0, workflows_sdk_1.createStep)("update-variant-prices", async (inputs, { container }) => {
|
|
7
|
+
if (!inputs.length)
|
|
8
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
9
|
+
const pricingSvc = container.resolve(utils_1.Modules.PRICING);
|
|
10
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
11
|
+
const linkService = remoteLink.getLinkModule(utils_1.Modules.PRODUCT, "variant_id", utils_1.Modules.PRICING, "price_set_id");
|
|
12
|
+
if (!linkService) {
|
|
13
|
+
return new workflows_sdk_1.StepResponse([]);
|
|
14
|
+
}
|
|
15
|
+
const variantIds = inputs.map((i) => i.variant_id);
|
|
16
|
+
const links = (await linkService.list({ variant_id: variantIds }, { select: ["variant_id", "price_set_id"] }));
|
|
17
|
+
const results = [];
|
|
18
|
+
for (const input of inputs) {
|
|
19
|
+
const link = links.find((l) => l.variant_id === input.variant_id);
|
|
20
|
+
if (!link) {
|
|
21
|
+
console.log(`[updateVariantPricesStep] No price set link for variant ${input.variant_id}, skipping`);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const existingPrices = await pricingSvc.listPrices({ price_set_id: [link.price_set_id] }, { select: ["id", "amount", "currency_code"] });
|
|
25
|
+
if (existingPrices.length > 0) {
|
|
26
|
+
await pricingSvc.removePrices(existingPrices.map((p) => p.id));
|
|
27
|
+
}
|
|
28
|
+
console.log(`[updateVariantPricesStep] variant=${input.variant_id} base_amount=${input.amount} dealer_amount=${input.dealer_price ?? "none"}`);
|
|
29
|
+
const [newPriceSet] = await pricingSvc.createPriceSets([
|
|
30
|
+
{
|
|
31
|
+
prices: [
|
|
32
|
+
{
|
|
33
|
+
amount: input.amount,
|
|
34
|
+
currency_code: input.currency_code,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
]);
|
|
39
|
+
await remoteLink.dismiss({
|
|
40
|
+
[utils_1.Modules.PRODUCT]: { variant_id: input.variant_id },
|
|
41
|
+
[utils_1.Modules.PRICING]: { price_set_id: link.price_set_id },
|
|
42
|
+
});
|
|
43
|
+
await remoteLink.create({
|
|
44
|
+
[utils_1.Modules.PRODUCT]: { variant_id: input.variant_id },
|
|
45
|
+
[utils_1.Modules.PRICING]: { price_set_id: newPriceSet.id },
|
|
46
|
+
});
|
|
47
|
+
if (input.dealer_price && input.price_list_id) {
|
|
48
|
+
const existingPlPrices = await pricingSvc.listPriceLists({ id: [input.price_list_id] }, { select: ["id"], relations: ["prices"] });
|
|
49
|
+
const plPrices = existingPlPrices?.[0]?.prices ?? [];
|
|
50
|
+
const stalePriceIds = plPrices
|
|
51
|
+
.filter((p) => p.price_set_id === newPriceSet.id || p.price_set_id === link.price_set_id)
|
|
52
|
+
.map((p) => p.id);
|
|
53
|
+
if (stalePriceIds.length) {
|
|
54
|
+
await pricingSvc.removePrices(stalePriceIds);
|
|
55
|
+
}
|
|
56
|
+
await pricingSvc.addPriceListPrices([
|
|
57
|
+
{
|
|
58
|
+
price_list_id: input.price_list_id,
|
|
59
|
+
prices: [
|
|
60
|
+
{
|
|
61
|
+
price_set_id: newPriceSet.id,
|
|
62
|
+
amount: input.dealer_price,
|
|
63
|
+
currency_code: "inr",
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
results.push(input.variant_id);
|
|
70
|
+
}
|
|
71
|
+
console.log(`[updateVariantPricesStep] Updated ${results.length} variant prices (base + dealer)`);
|
|
72
|
+
return new workflows_sdk_1.StepResponse(results);
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXZhcmlhbnQtcHJpY2VzLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3VwZGF0ZS12YXJpYW50LXByaWNlcy5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSxxREFBK0U7QUFnQmxFLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQyx1QkFBdUIsRUFDdkIsS0FBSyxFQUFFLE1BQTJCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQWMsQ0FBQyxDQUFDO0lBRTVELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ2xDLGVBQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7SUFDRixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQzFDLGVBQU8sQ0FBQyxPQUFPLEVBQ2YsWUFBWSxFQUNaLGVBQU8sQ0FBQyxPQUFPLEVBQ2YsY0FBYyxDQUNmLENBQUM7SUFFRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBYyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FDbkMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQzFCLEVBQUUsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLGNB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
|