@floxiz/medusa-plugin-meilisearch 0.1.4 → 0.1.6
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/api/store/meilisearch/categories/route.d.ts.map +1 -1
- package/.medusa/server/src/api/store/meilisearch/categories/route.js +3 -2
- package/.medusa/server/src/api/store/meilisearch/products/route.js +2 -2
- package/.medusa/server/src/jobs/meilisearch-categories-index.d.ts.map +1 -1
- package/.medusa/server/src/jobs/meilisearch-categories-index.js +14 -4
- package/.medusa/server/src/jobs/meilisearch-products-index.d.ts.map +1 -1
- package/.medusa/server/src/jobs/meilisearch-products-index.js +14 -4
- package/.medusa/server/src/subscribers/meilisearch-category-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-category-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-category-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-category-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-category-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-category-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-collection-upsert.js +33 -0
- package/.medusa/server/src/subscribers/meilisearch-image-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-image-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-image-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-level-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-inventory-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-option-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-option-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-option-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-option-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-option-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-option-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-option-value-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-price-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-price-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-price-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-price-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-price-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-price-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-product-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-product-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-product-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-product-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-product-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-product-upsert.js +29 -0
- package/.medusa/server/src/subscribers/meilisearch-sync.d.ts.map +1 -1
- package/.medusa/server/src/subscribers/meilisearch-sync.js +15 -9
- package/.medusa/server/src/subscribers/meilisearch-tag-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-tag-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-tag-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-tag-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-tag-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-tag-upsert.js +33 -0
- package/.medusa/server/src/subscribers/meilisearch-type-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-type-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-type-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-type-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-type-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-type-upsert.js +33 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-delete.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-delete.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-delete.js +27 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-upsert.d.ts +6 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-upsert.d.ts.map +1 -0
- package/.medusa/server/src/subscribers/meilisearch-variant-upsert.js +29 -0
- package/.medusa/server/src/workflows/delete-category.d.ts +6 -0
- package/.medusa/server/src/workflows/delete-category.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-category.js +10 -0
- package/.medusa/server/src/workflows/delete-collection.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-collection.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-collection.js +10 -0
- package/.medusa/server/src/workflows/delete-inventory-level.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-inventory-level.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-inventory-level.js +10 -0
- package/.medusa/server/src/workflows/delete-inventory.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-inventory.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-inventory.js +10 -0
- package/.medusa/server/src/workflows/delete-option-value.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-option-value.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-option-value.js +10 -0
- package/.medusa/server/src/workflows/delete-option.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-option.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-option.js +10 -0
- package/.medusa/server/src/workflows/delete-price.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-price.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-price.js +10 -0
- package/.medusa/server/src/workflows/delete-product.d.ts +6 -0
- package/.medusa/server/src/workflows/delete-product.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-product.js +10 -0
- package/.medusa/server/src/workflows/delete-tag.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-tag.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-tag.js +10 -0
- package/.medusa/server/src/workflows/delete-type.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-type.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-type.js +10 -0
- package/.medusa/server/src/workflows/delete-variant.d.ts +8 -0
- package/.medusa/server/src/workflows/delete-variant.d.ts.map +1 -0
- package/.medusa/server/src/workflows/delete-variant.js +12 -0
- package/.medusa/server/src/workflows/steps/delete-category.d.ts +2 -2
- package/.medusa/server/src/workflows/steps/delete-category.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/delete-category.js +4 -4
- package/.medusa/server/src/workflows/steps/delete-collection.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-collection.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-collection.js +88 -0
- package/.medusa/server/src/workflows/steps/delete-inventory-level.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-inventory-level.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-inventory-level.js +107 -0
- package/.medusa/server/src/workflows/steps/delete-inventory.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-inventory.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-inventory.js +78 -0
- package/.medusa/server/src/workflows/steps/delete-option-value.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-option-value.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-option-value.js +92 -0
- package/.medusa/server/src/workflows/steps/delete-option.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-option.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-option.js +89 -0
- package/.medusa/server/src/workflows/steps/delete-price.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-price.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-price.js +106 -0
- package/.medusa/server/src/workflows/steps/delete-product.d.ts +4 -2
- package/.medusa/server/src/workflows/steps/delete-product.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/delete-product.js +6 -4
- package/.medusa/server/src/workflows/steps/delete-tag.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-tag.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-tag.js +88 -0
- package/.medusa/server/src/workflows/steps/delete-type.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-type.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-type.js +88 -0
- package/.medusa/server/src/workflows/steps/delete-variant.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/delete-variant.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/delete-variant.js +91 -0
- package/.medusa/server/src/workflows/steps/sync-categories.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/sync-categories.js +3 -2
- package/.medusa/server/src/workflows/steps/sync-products.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/sync-products.js +37 -3
- package/.medusa/server/src/workflows/steps/upsert-category.d.ts +1 -1
- package/.medusa/server/src/workflows/steps/upsert-category.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/upsert-category.js +5 -4
- package/.medusa/server/src/workflows/steps/upsert-collection.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-collection.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-collection.js +71 -0
- package/.medusa/server/src/workflows/steps/upsert-image.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-image.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-image.js +72 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory-level.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory-level.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory-level.js +88 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-inventory.js +79 -0
- package/.medusa/server/src/workflows/steps/upsert-option-value.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-option-value.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-option-value.js +77 -0
- package/.medusa/server/src/workflows/steps/upsert-option.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-option.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-option.js +69 -0
- package/.medusa/server/src/workflows/steps/upsert-price.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-price.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-price.js +86 -0
- package/.medusa/server/src/workflows/steps/upsert-product.d.ts +1 -1
- package/.medusa/server/src/workflows/steps/upsert-product.d.ts.map +1 -1
- package/.medusa/server/src/workflows/steps/upsert-product.js +39 -5
- package/.medusa/server/src/workflows/steps/upsert-tag.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-tag.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-tag.js +70 -0
- package/.medusa/server/src/workflows/steps/upsert-type.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-type.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-type.js +63 -0
- package/.medusa/server/src/workflows/steps/upsert-variant.d.ts +8 -0
- package/.medusa/server/src/workflows/steps/upsert-variant.d.ts.map +1 -0
- package/.medusa/server/src/workflows/steps/upsert-variant.js +72 -0
- package/.medusa/server/src/workflows/sync-categories.d.ts.map +1 -1
- package/.medusa/server/src/workflows/sync-categories.js +3 -3
- package/.medusa/server/src/workflows/sync-products.d.ts.map +1 -1
- package/.medusa/server/src/workflows/sync-products.js +1 -1
- package/.medusa/server/src/workflows/upsert-category.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-category.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-category.js +10 -0
- package/.medusa/server/src/workflows/upsert-collection.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-collection.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-collection.js +10 -0
- package/.medusa/server/src/workflows/upsert-image.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-image.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-image.js +10 -0
- package/.medusa/server/src/workflows/upsert-inventory-level.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-inventory-level.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-inventory-level.js +10 -0
- package/.medusa/server/src/workflows/upsert-inventory.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-inventory.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-inventory.js +10 -0
- package/.medusa/server/src/workflows/upsert-option-value.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-option-value.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-option-value.js +10 -0
- package/.medusa/server/src/workflows/upsert-option.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-option.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-option.js +10 -0
- package/.medusa/server/src/workflows/upsert-price.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-price.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-price.js +10 -0
- package/.medusa/server/src/workflows/upsert-product.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-product.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-product.js +12 -0
- package/.medusa/server/src/workflows/upsert-tag.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-tag.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-tag.js +10 -0
- package/.medusa/server/src/workflows/upsert-type.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-type.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-type.js +10 -0
- package/.medusa/server/src/workflows/upsert-variant.d.ts +8 -0
- package/.medusa/server/src/workflows/upsert-variant.d.ts.map +1 -0
- package/.medusa/server/src/workflows/upsert-variant.js +12 -0
- package/README.md +511 -511
- package/package.json +25 -26
- package/.medusa/server/src/subscribers/meilisearch-category-created.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-category-created.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-category-created.js +0 -14
- package/.medusa/server/src/subscribers/meilisearch-category-deleted.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-category-deleted.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-category-deleted.js +0 -14
- package/.medusa/server/src/subscribers/meilisearch-category-updated.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-category-updated.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-category-updated.js +0 -14
- package/.medusa/server/src/subscribers/meilisearch-product-created.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-product-created.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-product-created.js +0 -19
- package/.medusa/server/src/subscribers/meilisearch-product-deleted.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-product-deleted.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-product-deleted.js +0 -19
- package/.medusa/server/src/subscribers/meilisearch-product-updated.d.ts +0 -6
- package/.medusa/server/src/subscribers/meilisearch-product-updated.d.ts.map +0 -1
- package/.medusa/server/src/subscribers/meilisearch-product-updated.js +0 -19
- package/.medusa/server/src/workflows/category-created.d.ts +0 -7
- package/.medusa/server/src/workflows/category-created.d.ts.map +0 -1
- package/.medusa/server/src/workflows/category-created.js +0 -10
- package/.medusa/server/src/workflows/category-deleted.d.ts +0 -7
- package/.medusa/server/src/workflows/category-deleted.d.ts.map +0 -1
- package/.medusa/server/src/workflows/category-deleted.js +0 -10
- package/.medusa/server/src/workflows/category-updated.d.ts +0 -7
- package/.medusa/server/src/workflows/category-updated.d.ts.map +0 -1
- package/.medusa/server/src/workflows/category-updated.js +0 -10
- package/.medusa/server/src/workflows/product-created.d.ts +0 -8
- package/.medusa/server/src/workflows/product-created.d.ts.map +0 -1
- package/.medusa/server/src/workflows/product-created.js +0 -12
- package/.medusa/server/src/workflows/product-deleted.d.ts +0 -6
- package/.medusa/server/src/workflows/product-deleted.d.ts.map +0 -1
- package/.medusa/server/src/workflows/product-deleted.js +0 -10
- package/.medusa/server/src/workflows/product-updated.d.ts +0 -8
- package/.medusa/server/src/workflows/product-updated.d.ts.map +0 -1
- package/.medusa/server/src/workflows/product-updated.js +0 -12
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertInventoryLevelStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/utils");
|
|
6
|
+
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
+
exports.upsertInventoryLevelStep = (0, workflows_sdk_1.createStep)('upsert-inventory-level', async ({ inventoryLevelId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
11
|
+
const { data: levels } = await queryService.graph({
|
|
12
|
+
entity: 'inventory_level',
|
|
13
|
+
fields: ['inventory_item_id'],
|
|
14
|
+
filters: { id: inventoryLevelId },
|
|
15
|
+
});
|
|
16
|
+
if (!levels.length || !levels[0].inventory_item_id) {
|
|
17
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
18
|
+
}
|
|
19
|
+
const inventoryItemId = levels[0].inventory_item_id;
|
|
20
|
+
const { data: links } = await queryService.graph({
|
|
21
|
+
entity: 'product_variant_inventory_item',
|
|
22
|
+
fields: ['variant_id'],
|
|
23
|
+
filters: { inventory_item_id: inventoryItemId },
|
|
24
|
+
});
|
|
25
|
+
const variantIds = links.map((l) => l.variant_id).filter(Boolean);
|
|
26
|
+
if (!variantIds.length) {
|
|
27
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
28
|
+
}
|
|
29
|
+
const { data: variants } = await queryService.graph({
|
|
30
|
+
entity: 'product_variant',
|
|
31
|
+
fields: ['product_id'],
|
|
32
|
+
filters: { id: variantIds },
|
|
33
|
+
});
|
|
34
|
+
const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
|
|
35
|
+
if (!productIds.length) {
|
|
36
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
37
|
+
}
|
|
38
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
39
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
40
|
+
const { data: products } = await queryService.graph({
|
|
41
|
+
entity: 'product',
|
|
42
|
+
fields: productFields,
|
|
43
|
+
filters: { id: productIds },
|
|
44
|
+
});
|
|
45
|
+
const productArray = products;
|
|
46
|
+
const productWithPrices = await Promise.all(productArray.map(async (product) => {
|
|
47
|
+
const priceSets = {};
|
|
48
|
+
for (const variant of product.variants) {
|
|
49
|
+
const variantPrices = variant;
|
|
50
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
51
|
+
for (const p of variantPrices.prices) {
|
|
52
|
+
if (!p.price_set_id)
|
|
53
|
+
continue;
|
|
54
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
55
|
+
const id = p.price_set_id;
|
|
56
|
+
if (!priceSets[currency_code])
|
|
57
|
+
priceSets[currency_code] = [];
|
|
58
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
59
|
+
priceSets[currency_code].push(id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const calculated_amount = {};
|
|
65
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
66
|
+
if (!ids || ids.length === 0)
|
|
67
|
+
continue;
|
|
68
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
69
|
+
id: ids,
|
|
70
|
+
}, { context: { currency_code: currency_code } });
|
|
71
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
72
|
+
? item.calculated_amount?.valueOf()
|
|
73
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
74
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
75
|
+
}
|
|
76
|
+
return { ...product, calculated_amount };
|
|
77
|
+
}));
|
|
78
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
79
|
+
if (!product.status || product.status === 'published') {
|
|
80
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWludmVudG9yeS1sZXZlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdXBzZXJ0LWludmVudG9yeS1sZXZlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDaEQsd0JBQXdCLEVBQ3hCLEtBQUssRUFBRSxFQUFFLGdCQUFnQixFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBa0IsQ0FBQyxDQUFBO0lBQ3BGLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsTUFBTSxFQUFFLENBQUMsbUJBQW1CLENBQUM7UUFDN0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFO0tBQ2xDLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsert-inventory.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-inventory.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,mBAAmB;;EAsG/B,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertInventoryStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/utils");
|
|
6
|
+
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
+
exports.upsertInventoryStep = (0, workflows_sdk_1.createStep)('upsert-inventory', async ({ inventoryItemId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
11
|
+
const { data: links } = await queryService.graph({
|
|
12
|
+
entity: 'product_variant_inventory_item',
|
|
13
|
+
fields: ['variant_id'],
|
|
14
|
+
filters: { inventory_item_id: inventoryItemId },
|
|
15
|
+
});
|
|
16
|
+
const variantIds = links.map((l) => l.variant_id).filter(Boolean);
|
|
17
|
+
if (!variantIds.length) {
|
|
18
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
19
|
+
}
|
|
20
|
+
const { data: variants } = await queryService.graph({
|
|
21
|
+
entity: 'product_variant',
|
|
22
|
+
fields: ['product_id'],
|
|
23
|
+
filters: { id: variantIds },
|
|
24
|
+
});
|
|
25
|
+
const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
|
|
26
|
+
if (!productIds.length) {
|
|
27
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
28
|
+
}
|
|
29
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
30
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
31
|
+
const { data: products } = await queryService.graph({
|
|
32
|
+
entity: 'product',
|
|
33
|
+
fields: productFields,
|
|
34
|
+
filters: { id: productIds },
|
|
35
|
+
});
|
|
36
|
+
const productArray = products;
|
|
37
|
+
const productWithPrices = await Promise.all(productArray.map(async (product) => {
|
|
38
|
+
const priceSets = {};
|
|
39
|
+
for (const variant of product.variants) {
|
|
40
|
+
const variantPrices = variant;
|
|
41
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
42
|
+
for (const p of variantPrices.prices) {
|
|
43
|
+
if (!p.price_set_id)
|
|
44
|
+
continue;
|
|
45
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
46
|
+
const id = p.price_set_id;
|
|
47
|
+
if (!priceSets[currency_code])
|
|
48
|
+
priceSets[currency_code] = [];
|
|
49
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
50
|
+
priceSets[currency_code].push(id);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const calculated_amount = {};
|
|
56
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
57
|
+
if (!ids || ids.length === 0)
|
|
58
|
+
continue;
|
|
59
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
60
|
+
id: ids,
|
|
61
|
+
}, { context: { currency_code: currency_code } });
|
|
62
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
63
|
+
? item.calculated_amount?.valueOf()
|
|
64
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
65
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
66
|
+
}
|
|
67
|
+
return { ...product, calculated_amount };
|
|
68
|
+
}));
|
|
69
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
70
|
+
if (!product.status || product.status === 'published') {
|
|
71
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWludmVudG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdXBzZXJ0LWludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0Msa0JBQWtCLEVBQ2xCLEtBQUssRUFBRSxFQUFFLGVBQWUsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsZ0NBQWdDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUU7S0FDaEQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDM0MsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsert-option-value.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-option-value.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,qBAAqB;;EAgGjC,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertOptionValueStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/utils");
|
|
6
|
+
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
+
exports.upsertOptionValueStep = (0, workflows_sdk_1.createStep)('upsert-option-value', async ({ optionValueId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
11
|
+
const { data: optionValues } = await queryService.graph({
|
|
12
|
+
entity: 'product_option_value',
|
|
13
|
+
fields: ['option_id'],
|
|
14
|
+
filters: { id: optionValueId },
|
|
15
|
+
});
|
|
16
|
+
if (!optionValues.length || !optionValues[0].option_id) {
|
|
17
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
18
|
+
}
|
|
19
|
+
const { data: options } = await queryService.graph({
|
|
20
|
+
entity: 'product_option',
|
|
21
|
+
fields: ['product_id'],
|
|
22
|
+
filters: { id: optionValues[0].option_id },
|
|
23
|
+
});
|
|
24
|
+
if (!options.length || !options[0].product_id) {
|
|
25
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
26
|
+
}
|
|
27
|
+
const productId = options[0].product_id;
|
|
28
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
29
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
30
|
+
const { data: products } = await queryService.graph({
|
|
31
|
+
entity: 'product',
|
|
32
|
+
fields: productFields,
|
|
33
|
+
filters: { id: productId },
|
|
34
|
+
});
|
|
35
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
36
|
+
const priceSets = {};
|
|
37
|
+
for (const variant of product.variants) {
|
|
38
|
+
const variantPrices = variant;
|
|
39
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
40
|
+
for (const p of variantPrices.prices) {
|
|
41
|
+
if (!p.price_set_id)
|
|
42
|
+
continue;
|
|
43
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
44
|
+
const id = p.price_set_id;
|
|
45
|
+
if (!priceSets[currency_code])
|
|
46
|
+
priceSets[currency_code] = [];
|
|
47
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
48
|
+
priceSets[currency_code].push(id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const calculated_amount = {};
|
|
54
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
55
|
+
if (!ids || ids.length === 0)
|
|
56
|
+
continue;
|
|
57
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
58
|
+
id: ids,
|
|
59
|
+
}, { context: { currency_code: currency_code } });
|
|
60
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
61
|
+
? item.calculated_amount?.valueOf()
|
|
62
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
63
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
64
|
+
}
|
|
65
|
+
return { ...product, calculated_amount };
|
|
66
|
+
}));
|
|
67
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
68
|
+
if (!product.status || product.status === 'published') {
|
|
69
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LW9wdGlvbi12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdXBzZXJ0LW9wdGlvbi12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDN0MscUJBQXFCLEVBQ3JCLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN0RCxNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUNyQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pE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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsert-option.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-option.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB;;EAmF3B,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertOptionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/utils");
|
|
6
|
+
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
+
exports.upsertOptionStep = (0, workflows_sdk_1.createStep)('upsert-option', async ({ optionId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
11
|
+
const { data: options } = await queryService.graph({
|
|
12
|
+
entity: 'product_option',
|
|
13
|
+
fields: ['product_id'],
|
|
14
|
+
filters: { id: optionId },
|
|
15
|
+
});
|
|
16
|
+
if (!options.length || !options[0].product_id) {
|
|
17
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
18
|
+
}
|
|
19
|
+
const productId = options[0].product_id;
|
|
20
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
21
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
22
|
+
const { data: products } = await queryService.graph({
|
|
23
|
+
entity: 'product',
|
|
24
|
+
fields: productFields,
|
|
25
|
+
filters: { id: productId },
|
|
26
|
+
});
|
|
27
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
28
|
+
const priceSets = {};
|
|
29
|
+
for (const variant of product.variants) {
|
|
30
|
+
const variantPrices = variant;
|
|
31
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
32
|
+
for (const p of variantPrices.prices) {
|
|
33
|
+
if (!p.price_set_id)
|
|
34
|
+
continue;
|
|
35
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
36
|
+
const id = p.price_set_id;
|
|
37
|
+
if (!priceSets[currency_code])
|
|
38
|
+
priceSets[currency_code] = [];
|
|
39
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
40
|
+
priceSets[currency_code].push(id);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const calculated_amount = {};
|
|
46
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
47
|
+
if (!ids || ids.length === 0)
|
|
48
|
+
continue;
|
|
49
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
50
|
+
id: ids,
|
|
51
|
+
}, { context: { currency_code: currency_code } });
|
|
52
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
53
|
+
? item.calculated_amount?.valueOf()
|
|
54
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
55
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
56
|
+
}
|
|
57
|
+
return { ...product, calculated_amount };
|
|
58
|
+
}));
|
|
59
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
60
|
+
if (!product.status || product.status === 'published') {
|
|
61
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
65
|
+
}
|
|
66
|
+
}));
|
|
67
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdXBzZXJ0LW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNHLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBa0IsQ0FBQyxDQUFBO0lBQ3BGLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7S0FDMUIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtJQUV2QyxNQUFNLGFBQWEsR0FBRyxNQUFNLGtCQUFr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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsert-price.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-price.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,eAAe;;EAyG1B,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.upsertPriceStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/utils");
|
|
6
|
+
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
+
exports.upsertPriceStep = (0, workflows_sdk_1.createStep)('upsert-price', async ({ priceId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
11
|
+
const { data: prices } = await queryService.graph({
|
|
12
|
+
entity: 'price',
|
|
13
|
+
fields: ['price_set_id'],
|
|
14
|
+
filters: { id: priceId },
|
|
15
|
+
});
|
|
16
|
+
if (!prices.length || !prices[0].price_set_id) {
|
|
17
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
18
|
+
}
|
|
19
|
+
const { data: links } = await queryService.graph({
|
|
20
|
+
entity: 'product_variant_price_set',
|
|
21
|
+
fields: ['variant_id'],
|
|
22
|
+
filters: { price_set_id: prices[0].price_set_id },
|
|
23
|
+
});
|
|
24
|
+
const variantIds = links.map((l) => l.variant_id).filter(Boolean);
|
|
25
|
+
if (!variantIds.length) {
|
|
26
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
27
|
+
}
|
|
28
|
+
const { data: variants } = await queryService.graph({
|
|
29
|
+
entity: 'product_variant',
|
|
30
|
+
fields: ['product_id'],
|
|
31
|
+
filters: { id: variantIds },
|
|
32
|
+
});
|
|
33
|
+
const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
|
|
34
|
+
if (!productIds.length) {
|
|
35
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
36
|
+
}
|
|
37
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
38
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
39
|
+
const { data: products } = await queryService.graph({
|
|
40
|
+
entity: 'product',
|
|
41
|
+
fields: productFields,
|
|
42
|
+
filters: { id: productIds },
|
|
43
|
+
});
|
|
44
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
45
|
+
const priceSets = {};
|
|
46
|
+
for (const variant of product.variants) {
|
|
47
|
+
const variantPrices = variant;
|
|
48
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
49
|
+
for (const p of variantPrices.prices) {
|
|
50
|
+
if (!p.price_set_id)
|
|
51
|
+
continue;
|
|
52
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
53
|
+
const id = p.price_set_id;
|
|
54
|
+
if (!priceSets[currency_code])
|
|
55
|
+
priceSets[currency_code] = [];
|
|
56
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
57
|
+
priceSets[currency_code].push(id);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const calculated_amount = {};
|
|
63
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
64
|
+
if (!ids || ids.length === 0)
|
|
65
|
+
continue;
|
|
66
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
67
|
+
id: ids,
|
|
68
|
+
}, { context: { currency_code: currency_code } });
|
|
69
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
70
|
+
? item.calculated_amount?.valueOf()
|
|
71
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
72
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
73
|
+
}
|
|
74
|
+
return { ...product, calculated_amount };
|
|
75
|
+
}));
|
|
76
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
77
|
+
if (!product.status || product.status === 'published') {
|
|
78
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
82
|
+
}
|
|
83
|
+
}));
|
|
84
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy91cHNlcnQtcHJpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWtFO0FBQ2xFLDJDQUFpRjtBQUNqRiwyREFBa0Y7QUFNckUsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEcsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RSxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDaEQsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUN6QixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsMkJBQTJCO1FBQ25D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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,
|
|
1
|
+
{"version":3,"file":"upsert-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB;;EA6E5B,CAAA"}
|
|
@@ -4,17 +4,51 @@ exports.upsertProductStep = void 0;
|
|
|
4
4
|
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
|
|
5
5
|
const utils_1 = require("@medusajs/utils");
|
|
6
6
|
const meilisearch_1 = require("../../modules/meilisearch");
|
|
7
|
-
exports.upsertProductStep = (0, workflows_sdk_1.createStep)('upsert-products', async ({
|
|
8
|
-
const queryService = container.resolve(
|
|
7
|
+
exports.upsertProductStep = (0, workflows_sdk_1.createStep)('upsert-products', async ({ productId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
9
|
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
10
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
10
11
|
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
11
12
|
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
12
13
|
const { data: products } = await queryService.graph({
|
|
13
14
|
entity: 'product',
|
|
14
15
|
fields: productFields,
|
|
15
|
-
filters: { id },
|
|
16
|
+
filters: { id: productId },
|
|
16
17
|
});
|
|
17
|
-
|
|
18
|
+
const productArray = products;
|
|
19
|
+
const productWithPrices = await Promise.all(productArray.map(async (product) => {
|
|
20
|
+
const priceSets = {};
|
|
21
|
+
for (const variant of product.variants) {
|
|
22
|
+
const variantPrices = variant;
|
|
23
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
24
|
+
for (const p of variantPrices.prices) {
|
|
25
|
+
if (!p.price_set_id)
|
|
26
|
+
continue;
|
|
27
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
28
|
+
const id = p.price_set_id;
|
|
29
|
+
if (!priceSets[currency_code])
|
|
30
|
+
priceSets[currency_code] = [];
|
|
31
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
32
|
+
priceSets[currency_code].push(id);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const calculated_amount = {};
|
|
38
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
39
|
+
if (!ids || ids.length === 0)
|
|
40
|
+
continue;
|
|
41
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
42
|
+
id: ids,
|
|
43
|
+
}, { context: { currency_code: currency_code } });
|
|
44
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
45
|
+
? item.calculated_amount?.valueOf()
|
|
46
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
47
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
48
|
+
}
|
|
49
|
+
return { ...product, calculated_amount };
|
|
50
|
+
}));
|
|
51
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
18
52
|
if (!product.status || product.status === 'published') {
|
|
19
53
|
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
20
54
|
}
|
|
@@ -26,4 +60,4 @@ exports.upsertProductStep = (0, workflows_sdk_1.createStep)('upsert-products', a
|
|
|
26
60
|
products,
|
|
27
61
|
});
|
|
28
62
|
});
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3Vwc2VydC1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFrRTtBQUNsRSwyQ0FBaUY7QUFDakYsMkRBQWtGO0FBTXJFLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGlCQUFpQixFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvRyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLGFBQWEsR0FBRyxNQUFNLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLG1CQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hHLE1BQU0sY0FBYyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsbUJBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFakcsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLGFBQWE7UUFDckIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtLQUMzQixDQUFDLENBQUE7SUFFRixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUE7SUFFN0IsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsert-tag.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/upsert-tag.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa;;EAsFxB,CAAA"}
|