@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,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteInventoryStep = 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.deleteInventoryStep = (0, workflows_sdk_1.createStep)('delete-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 productWithPrices = await Promise.all(products.map(async (product) => {
|
|
37
|
+
const priceSets = {};
|
|
38
|
+
for (const variant of product.variants) {
|
|
39
|
+
const variantPrices = variant;
|
|
40
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
41
|
+
for (const p of variantPrices.prices) {
|
|
42
|
+
if (!p.price_set_id)
|
|
43
|
+
continue;
|
|
44
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
45
|
+
const id = p.price_set_id;
|
|
46
|
+
if (!priceSets[currency_code])
|
|
47
|
+
priceSets[currency_code] = [];
|
|
48
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
49
|
+
priceSets[currency_code].push(id);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const calculated_amount = {};
|
|
55
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
56
|
+
if (!ids || ids.length === 0)
|
|
57
|
+
continue;
|
|
58
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
59
|
+
id: ids,
|
|
60
|
+
}, { context: { currency_code: currency_code } });
|
|
61
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
62
|
+
? item.calculated_amount?.valueOf()
|
|
63
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
64
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
65
|
+
}
|
|
66
|
+
return { ...product, calculated_amount };
|
|
67
|
+
}));
|
|
68
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
69
|
+
if (!product.status || product.status === 'published') {
|
|
70
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWludmVudG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLWludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0Msa0JBQWtCLEVBQ2xCLEtBQUssRUFBRSxFQUFFLGVBQWUsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLEVBQUUsZ0NBQWdDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN0QixPQUFPLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUU7S0FDaEQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDM0MsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-option-value.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-option-value.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,qBAAqB;;EAgHhC,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteOptionValueStep = 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.deleteOptionValueStep = (0, workflows_sdk_1.createStep)('delete-value', async ({ optionValueId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
11
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
12
|
+
let productId = null;
|
|
13
|
+
try {
|
|
14
|
+
const { data: optionValues } = await queryService.graph({
|
|
15
|
+
entity: 'product_option_value',
|
|
16
|
+
fields: ['option.product_id'],
|
|
17
|
+
filters: { id: optionValueId },
|
|
18
|
+
});
|
|
19
|
+
if (optionValues.length && optionValues[0].option?.product_id) {
|
|
20
|
+
productId = optionValues[0].option.product_id;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Option value might be deleted
|
|
25
|
+
}
|
|
26
|
+
if (!productId) {
|
|
27
|
+
try {
|
|
28
|
+
const [optionValue] = await productModuleService.listProductOptionValues({ id: optionValueId }, { withDeleted: true, select: ['option_id'] });
|
|
29
|
+
if (optionValue?.option_id) {
|
|
30
|
+
const [option] = await productModuleService.listProductOptions({ id: optionValue.option_id }, { withDeleted: true, select: ['product_id'] });
|
|
31
|
+
if (option?.product_id) {
|
|
32
|
+
productId = option.product_id;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Option value not found
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (!productId) {
|
|
41
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
42
|
+
}
|
|
43
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
44
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
45
|
+
const { data: products } = await queryService.graph({
|
|
46
|
+
entity: 'product',
|
|
47
|
+
fields: productFields,
|
|
48
|
+
filters: { id: productId },
|
|
49
|
+
});
|
|
50
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
51
|
+
const priceSets = {};
|
|
52
|
+
for (const variant of product.variants) {
|
|
53
|
+
const variantPrices = variant;
|
|
54
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
55
|
+
for (const p of variantPrices.prices) {
|
|
56
|
+
if (!p.price_set_id)
|
|
57
|
+
continue;
|
|
58
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
59
|
+
const id = p.price_set_id;
|
|
60
|
+
if (!priceSets[currency_code])
|
|
61
|
+
priceSets[currency_code] = [];
|
|
62
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
63
|
+
priceSets[currency_code].push(id);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const calculated_amount = {};
|
|
69
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
70
|
+
if (!ids || ids.length === 0)
|
|
71
|
+
continue;
|
|
72
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
73
|
+
id: ids,
|
|
74
|
+
}, { context: { currency_code: currency_code } });
|
|
75
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
76
|
+
? item.calculated_amount?.valueOf()
|
|
77
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
78
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
79
|
+
}
|
|
80
|
+
return { ...product, calculated_amount };
|
|
81
|
+
}));
|
|
82
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
83
|
+
if (!product.status || product.status === 'published') {
|
|
84
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
88
|
+
}
|
|
89
|
+
}));
|
|
90
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW9wdGlvbi12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLW9wdGlvbi12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BILE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvRCxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkQsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQTtJQUVuQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN0RCxNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQzdCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUU7U0FDL0IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDOUQsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-option.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-option.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB;;EA4G3B,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteOptionStep = 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.deleteOptionStep = (0, workflows_sdk_1.createStep)('delete-option', async ({ optionId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
|
|
10
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
11
|
+
const priceService = container.resolve(utils_1.Modules.PRICING);
|
|
12
|
+
let productId = null;
|
|
13
|
+
try {
|
|
14
|
+
const { data: options } = await queryService.graph({
|
|
15
|
+
entity: 'product_option',
|
|
16
|
+
fields: ['product_id'],
|
|
17
|
+
filters: { id: optionId },
|
|
18
|
+
});
|
|
19
|
+
if (options.length && options[0].product_id) {
|
|
20
|
+
productId = options[0].product_id;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Option might be deleted
|
|
25
|
+
}
|
|
26
|
+
if (!productId) {
|
|
27
|
+
try {
|
|
28
|
+
const [option] = await productModuleService.listProductOptions({ id: optionId }, { withDeleted: true, select: ['product_id'] });
|
|
29
|
+
if (option?.product_id) {
|
|
30
|
+
productId = option.product_id;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Option not found
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (!productId) {
|
|
38
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
39
|
+
}
|
|
40
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
41
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
42
|
+
const { data: products } = await queryService.graph({
|
|
43
|
+
entity: 'product',
|
|
44
|
+
fields: productFields,
|
|
45
|
+
filters: { id: productId },
|
|
46
|
+
});
|
|
47
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
48
|
+
const priceSets = {};
|
|
49
|
+
for (const variant of product.variants) {
|
|
50
|
+
const variantPrices = variant;
|
|
51
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
52
|
+
for (const p of variantPrices.prices) {
|
|
53
|
+
if (!p.price_set_id)
|
|
54
|
+
continue;
|
|
55
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
56
|
+
const id = p.price_set_id;
|
|
57
|
+
if (!priceSets[currency_code])
|
|
58
|
+
priceSets[currency_code] = [];
|
|
59
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
60
|
+
priceSets[currency_code].push(id);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const calculated_amount = {};
|
|
66
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
67
|
+
if (!ids || ids.length === 0)
|
|
68
|
+
continue;
|
|
69
|
+
const calculatedPrices = await priceService.calculatePrices({
|
|
70
|
+
id: ids,
|
|
71
|
+
}, { context: { currency_code: currency_code } });
|
|
72
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
73
|
+
? item.calculated_amount?.valueOf()
|
|
74
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
75
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
76
|
+
}
|
|
77
|
+
return { ...product, calculated_amount };
|
|
78
|
+
}));
|
|
79
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
80
|
+
if (!product.status || product.status === 'published') {
|
|
81
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
85
|
+
}
|
|
86
|
+
}));
|
|
87
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNHLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvRCxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdkQsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQTtJQUVuQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztZQUN0QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1NBQzFCLENBQUMsQ0FBQTtRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwwQkFBMEI7SUFDNUIsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLG9CQUFvQixDQUFDLGtCQUFrQixDQUM1RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQzlDLENBQUE7WUFDRCxJQUFJLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztnQkFDdkIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUE7WUFDL0IsQ0FBQztRQUNILENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxtQkFBbUI7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLG1CQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hHLE1BQU0sY0FBYyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsbUJBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFakcsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLGFBQWE7UUFDckIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtLQUMzQixDQUFDLENBQUE7SUFFRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDekMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDN0IsTUFBTSxTQUFTLEdBQTZCLEVBQUUsQ0FBQTtRQUU5QyxLQUFLLE1BQU0sT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxNQUFNLGFBQWEsR0FBRyxPQUFjLENBQUE7WUFFcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZO3dCQUFFLFNBQVE7b0JBRTdCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUE7b0JBQ3BELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUE7b0JBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO3dCQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUE7b0JBRTVELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQzNDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBQ25DLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBMkIsRUFBRSxDQUFBO1FBRXBELEtBQUssTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsU0FBUTtZQUN0QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sWUFBWSxDQUFDLGVBQWUsQ0FDekQ7Z0JBQ0UsRUFBRSxFQUFFLEdBQUc7YUFDUixFQUNELEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQzlDLENBQUE7WUFFRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3JDLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDL0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLEtBQUssUUFBUTtnQkFDbkQsQ0FBQyxDQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQWE7Z0JBQy9DLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBWSxDQUFDLENBQzVELENBQ0YsQ0FBQTtZQUVELGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxHQUFHLHNCQUFzQixDQUFBO1FBQzNELENBQUM7UUFFRCxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQTtJQUMxQyxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN0RCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5RyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-price.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-price.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,eAAe;;EAkI1B,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deletePriceStep = 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.deletePriceStep = (0, workflows_sdk_1.createStep)('delete-price', async ({ priceId }, { container }) => {
|
|
8
|
+
const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const pricingModuleService = container.resolve(utils_1.Modules.PRICING);
|
|
10
|
+
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
11
|
+
let priceSetId = null;
|
|
12
|
+
try {
|
|
13
|
+
const { data: prices } = await queryService.graph({
|
|
14
|
+
entity: 'price',
|
|
15
|
+
fields: ['price_set_id'],
|
|
16
|
+
filters: { id: priceId },
|
|
17
|
+
});
|
|
18
|
+
if (prices.length && prices[0].price_set_id) {
|
|
19
|
+
priceSetId = prices[0].price_set_id;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// Price might be deleted
|
|
24
|
+
}
|
|
25
|
+
if (!priceSetId) {
|
|
26
|
+
try {
|
|
27
|
+
const [price] = await pricingModuleService.listPrices({ id: [priceId] }, { withDeleted: true, select: ['price_set_id'] });
|
|
28
|
+
if (price?.price_set_id) {
|
|
29
|
+
priceSetId = price.price_set_id;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// Price not found
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!priceSetId) {
|
|
37
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
38
|
+
}
|
|
39
|
+
const { data: links } = await queryService.graph({
|
|
40
|
+
entity: 'product_variant_price_set',
|
|
41
|
+
fields: ['variant_id'],
|
|
42
|
+
filters: { price_set_id: priceSetId },
|
|
43
|
+
});
|
|
44
|
+
const variantIds = links.map((l) => l.variant_id).filter(Boolean);
|
|
45
|
+
if (!variantIds.length) {
|
|
46
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
47
|
+
}
|
|
48
|
+
const { data: variants } = await queryService.graph({
|
|
49
|
+
entity: 'product_variant',
|
|
50
|
+
fields: ['product_id'],
|
|
51
|
+
filters: { id: variantIds },
|
|
52
|
+
});
|
|
53
|
+
const productIds = [...new Set(variants.map((v) => v.product_id).filter(Boolean))];
|
|
54
|
+
if (!productIds.length) {
|
|
55
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
56
|
+
}
|
|
57
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
58
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
59
|
+
const { data: products } = await queryService.graph({
|
|
60
|
+
entity: 'product',
|
|
61
|
+
fields: productFields,
|
|
62
|
+
filters: { id: productIds },
|
|
63
|
+
});
|
|
64
|
+
const productWithPrices = await Promise.all(products.map(async (product) => {
|
|
65
|
+
const priceSets = {};
|
|
66
|
+
for (const variant of product.variants) {
|
|
67
|
+
const variantPrices = variant;
|
|
68
|
+
if (Array.isArray(variantPrices?.prices)) {
|
|
69
|
+
for (const p of variantPrices.prices) {
|
|
70
|
+
if (!p.price_set_id)
|
|
71
|
+
continue;
|
|
72
|
+
const currency_code = p.currency_code?.toLowerCase();
|
|
73
|
+
const id = p.price_set_id;
|
|
74
|
+
if (!priceSets[currency_code])
|
|
75
|
+
priceSets[currency_code] = [];
|
|
76
|
+
if (!priceSets[currency_code].includes(id)) {
|
|
77
|
+
priceSets[currency_code].push(id);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const calculated_amount = {};
|
|
83
|
+
for (const [currency_code, ids] of Object.entries(priceSets)) {
|
|
84
|
+
if (!ids || ids.length === 0)
|
|
85
|
+
continue;
|
|
86
|
+
const calculatedPrices = await pricingModuleService.calculatePrices({
|
|
87
|
+
id: ids,
|
|
88
|
+
}, { context: { currency_code: currency_code } });
|
|
89
|
+
const lowestCalculatedAmount = Math.min(...calculatedPrices.map((item) => typeof item.calculated_amount?.valueOf() === 'number'
|
|
90
|
+
? item.calculated_amount?.valueOf()
|
|
91
|
+
: parseFloat(item.calculated_amount?.valueOf())));
|
|
92
|
+
calculated_amount[currency_code] = lowestCalculatedAmount;
|
|
93
|
+
}
|
|
94
|
+
return { ...product, calculated_amount };
|
|
95
|
+
}));
|
|
96
|
+
await Promise.all(productWithPrices.map(async (product) => {
|
|
97
|
+
if (!product.status || product.status === 'published') {
|
|
98
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.addDocuments(indexKey, [product])));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, product.id)));
|
|
102
|
+
}
|
|
103
|
+
}));
|
|
104
|
+
return new workflows_sdk_1.StepResponse({ products });
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9kZWxldGUtcHJpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWtFO0FBQ2xFLDJDQUFpRjtBQUNqRiwyREFBa0Y7QUFNckUsUUFBQSxlQUFlLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEcsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9ELE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUVwRixJQUFJLFVBQVUsR0FBa0IsSUFBSSxDQUFBO0lBRXBDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ2hELE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDekIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLHlCQUF5QjtJQUMzQixDQUFDO0lBRUQsSUFBSSxDQUFDLFVB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
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
type StepInput = {
|
|
2
|
-
|
|
2
|
+
productId: string;
|
|
3
3
|
};
|
|
4
|
-
export declare const deleteProductStep: import("@medusajs/workflows-sdk").StepFunction<StepInput,
|
|
4
|
+
export declare const deleteProductStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, {
|
|
5
|
+
productId: string;
|
|
6
|
+
}>;
|
|
5
7
|
export {};
|
|
6
8
|
//# sourceMappingURL=delete-product.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,
|
|
1
|
+
{"version":3,"file":"delete-product.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-product.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB;;EAS5B,CAAA"}
|
|
@@ -4,10 +4,12 @@ exports.deleteProductStep = 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.deleteProductStep = (0, workflows_sdk_1.createStep)('delete-product', async ({
|
|
7
|
+
exports.deleteProductStep = (0, workflows_sdk_1.createStep)('delete-product', async ({ productId }, { container }) => {
|
|
8
8
|
const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE);
|
|
9
9
|
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
10
|
-
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey,
|
|
11
|
-
return new workflows_sdk_1.StepResponse(
|
|
10
|
+
await Promise.all(productIndexes.map((indexKey) => meilisearchService.deleteDocument(indexKey, productId)));
|
|
11
|
+
return new workflows_sdk_1.StepResponse({
|
|
12
|
+
productId,
|
|
13
|
+
});
|
|
12
14
|
});
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2RlbGV0ZS1wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFrRTtBQUNsRSwyQ0FBNkM7QUFDN0MsMkRBQWtGO0FBTXJFLFFBQUEsaUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5RyxNQUFNLGtCQUFrQixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFrQixDQUFDLENBQUE7SUFDcEYsTUFBTSxjQUFjLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVqRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0csT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsU0FBUztLQUNWLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-tag.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-tag.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa;;EAsGxB,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteTagStep = 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.deleteTagStep = (0, workflows_sdk_1.createStep)('delete-tag', async ({ tagId }, { 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
|
+
let productIds = [];
|
|
12
|
+
try {
|
|
13
|
+
const { data: tags } = await queryService.graph({
|
|
14
|
+
entity: 'product_tag',
|
|
15
|
+
fields: ['products.id'],
|
|
16
|
+
filters: { id: tagId },
|
|
17
|
+
});
|
|
18
|
+
productIds = tags.flatMap((tag) => tag.products?.map((p) => p.id) || []).filter(Boolean);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Tag might be deleted
|
|
22
|
+
}
|
|
23
|
+
if (!productIds.length) {
|
|
24
|
+
try {
|
|
25
|
+
const { data: products } = await queryService.graph({
|
|
26
|
+
entity: 'product',
|
|
27
|
+
fields: ['id'],
|
|
28
|
+
filters: { tags: { id: [tagId] } },
|
|
29
|
+
});
|
|
30
|
+
productIds = products.map((p) => p.id).filter(Boolean);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// Products not found
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!productIds.length) {
|
|
37
|
+
return new workflows_sdk_1.StepResponse({ products: [] });
|
|
38
|
+
}
|
|
39
|
+
const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
40
|
+
const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS);
|
|
41
|
+
const { data: products } = await queryService.graph({
|
|
42
|
+
entity: 'product',
|
|
43
|
+
fields: productFields,
|
|
44
|
+
filters: { id: [...new Set(productIds)] },
|
|
45
|
+
});
|
|
46
|
+
const productWithPrices = await Promise.all(products.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXRhZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvZGVsZXRlLXRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBa0U7QUFDbEUsMkNBQWlGO0FBQ2pGLDJEQUFrRjtBQU1yRSxRQUFBLGFBQWEsR0FBRyxJQUFBLDBCQUFVLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsRyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sa0JBQWtCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQUMsQ0FBQTtJQUNwRixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN2RCxJQUFJLFVBQVUsR0FBYSxFQUFFLENBQUE7SUFFN0IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDOUMsTUFBTSxFQUFFLGFBQWE7WUFDckIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUU7U0FDdkIsQ0FBQyxDQUFBO1FBRUYsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxRyxDQUFDO0lBQUMsTUFBTSxD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-type.d.ts","sourceRoot":"","sources":["../../../../../src/workflows/steps/delete-type.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,cAAc;;EAsGzB,CAAA"}
|