@medusajs/core-flows 0.0.7 → 0.1.0-next-20240321131229

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.
Files changed (35) hide show
  1. package/dist/defaults/index.d.ts +2 -0
  2. package/dist/defaults/index.js +18 -0
  3. package/dist/defaults/steps/create-default-store.d.ts +7 -0
  4. package/dist/defaults/steps/create-default-store.js +34 -0
  5. package/dist/defaults/steps/index.d.ts +1 -0
  6. package/dist/defaults/steps/index.js +17 -0
  7. package/dist/defaults/workflows/create-defaults.d.ts +2 -0
  8. package/dist/defaults/workflows/create-defaults.js +21 -0
  9. package/dist/defaults/workflows/index.d.ts +1 -0
  10. package/dist/defaults/workflows/index.js +17 -0
  11. package/dist/handlers/product/update-product-variants.js +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +1 -0
  14. package/dist/inventory/steps/index.d.ts +1 -0
  15. package/dist/inventory/steps/index.js +1 -0
  16. package/dist/inventory/steps/update-inventory-items.d.ts +3 -0
  17. package/dist/inventory/steps/update-inventory-items.js +25 -0
  18. package/dist/inventory/workflows/index.d.ts +1 -0
  19. package/dist/inventory/workflows/index.js +1 -0
  20. package/dist/inventory/workflows/update-inventory-items.d.ts +7 -0
  21. package/dist/inventory/workflows/update-inventory-items.js +9 -0
  22. package/dist/price-list/steps/delete-price-lists.js +2 -4
  23. package/dist/price-list/steps/remove-price-list-prices.js +3 -4
  24. package/dist/product/steps/remove-variant-pricing-link.js +10 -14
  25. package/dist/product/steps/update-product-options.d.ts +1 -1
  26. package/dist/product/steps/update-product-options.js +2 -9
  27. package/dist/product/steps/update-product-variants.d.ts +1 -1
  28. package/dist/product/steps/update-product-variants.js +2 -9
  29. package/dist/product/workflows/delete-product-variants.js +0 -1
  30. package/dist/product/workflows/delete-products.js +0 -2
  31. package/dist/sales-channel/steps/create-default-sales-channel.d.ts +7 -0
  32. package/dist/sales-channel/steps/create-default-sales-channel.js +22 -0
  33. package/dist/sales-channel/steps/index.d.ts +1 -0
  34. package/dist/sales-channel/steps/index.js +1 -0
  35. package/package.json +6 -6
@@ -0,0 +1,2 @@
1
+ export * from "./steps";
2
+ export * from "./workflows";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./steps"), exports);
18
+ __exportStar(require("./workflows"), exports);
@@ -0,0 +1,7 @@
1
+ import { CreateStoreDTO } from "@medusajs/types";
2
+ type CreateDefaultStoreStepInput = {
3
+ store: CreateStoreDTO;
4
+ };
5
+ export declare const createDefaultStoreStepId = "create-default-store";
6
+ export declare const createDefaultStoreStep: import("@medusajs/workflows-sdk").StepFunction<CreateDefaultStoreStepInput, any>;
7
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDefaultStoreStep = exports.createDefaultStoreStepId = void 0;
4
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
5
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
6
+ const store_1 = require("../../store");
7
+ exports.createDefaultStoreStepId = "create-default-store";
8
+ exports.createDefaultStoreStep = (0, workflows_sdk_1.createStep)(exports.createDefaultStoreStepId, async (data, { container }) => {
9
+ const storeService = container.resolve(modules_sdk_1.ModuleRegistrationName.STORE);
10
+ let shouldDelete = false;
11
+ let [store] = await storeService.list({}, { take: 1 });
12
+ if (!store) {
13
+ store = await (0, store_1.createStoresWorkflow)(container).run({
14
+ input: {
15
+ stores: [
16
+ {
17
+ // TODO: Revisit for a more sophisticated approach
18
+ ...data.store,
19
+ supported_currency_codes: ["usd"],
20
+ default_currency_code: "usd",
21
+ },
22
+ ],
23
+ },
24
+ });
25
+ shouldDelete = true;
26
+ }
27
+ return new workflows_sdk_1.StepResponse(store, { storeId: store.id, shouldDelete });
28
+ }, async (data, { container }) => {
29
+ if (!data || !data.shouldDelete) {
30
+ return;
31
+ }
32
+ const service = container.resolve(modules_sdk_1.ModuleRegistrationName.STORE);
33
+ await service.delete(data.storeId);
34
+ });
@@ -0,0 +1 @@
1
+ export * from "./create-default-store";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-default-store"), exports);
@@ -0,0 +1,2 @@
1
+ export declare const createDefaultsWorkflowID = "create-defaults";
2
+ export declare const createDefaultsWorkflow: import("@medusajs/workflows-sdk").ReturnWorkflow<unknown, any, Record<string, Function>>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDefaultsWorkflow = exports.createDefaultsWorkflowID = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const sales_channel_1 = require("../../sales-channel");
6
+ const create_default_store_1 = require("../steps/create-default-store");
7
+ exports.createDefaultsWorkflowID = "create-defaults";
8
+ exports.createDefaultsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.createDefaultsWorkflowID, (input) => {
9
+ const salesChannel = (0, sales_channel_1.createDefaultSalesChannelStep)({
10
+ data: {
11
+ name: "Default Sales Channel",
12
+ description: "Created by Medusa",
13
+ },
14
+ });
15
+ const store = (0, create_default_store_1.createDefaultStoreStep)({
16
+ store: {
17
+ default_sales_channel_id: salesChannel.id,
18
+ },
19
+ });
20
+ return store;
21
+ });
@@ -0,0 +1 @@
1
+ export * from "./create-defaults";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-defaults"), exports);
@@ -12,7 +12,7 @@ async function updateProductVariants({ container, data, }) {
12
12
  productsVariants.push(...variantsUpdateData);
13
13
  }
14
14
  if (updateVariantsData.length) {
15
- await productModuleService.updateVariants(updateVariantsData);
15
+ await productModuleService.upsertVariants(updateVariantsData);
16
16
  }
17
17
  return productsVariants;
18
18
  }
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./api-key";
2
2
  export * from "./auth";
3
3
  export * from "./customer";
4
4
  export * from "./customer-group";
5
+ export * from "./defaults";
5
6
  export * from "./definition";
6
7
  export * from "./definitions";
7
8
  export * from "./fulfillment";
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ __exportStar(require("./api-key"), exports);
31
31
  __exportStar(require("./auth"), exports);
32
32
  __exportStar(require("./customer"), exports);
33
33
  __exportStar(require("./customer-group"), exports);
34
+ __exportStar(require("./defaults"), exports);
34
35
  __exportStar(require("./definition"), exports);
35
36
  __exportStar(require("./definitions"), exports);
36
37
  __exportStar(require("./fulfillment"), exports);
@@ -5,4 +5,5 @@ export * from "./create-inventory-items";
5
5
  export * from "./validate-singular-inventory-items-for-tags";
6
6
  export * from "./create-inventory-levels";
7
7
  export * from "./validate-inventory-locations";
8
+ export * from "./update-inventory-items";
8
9
  export * from "./delete-inventory-levels";
@@ -21,4 +21,5 @@ __exportStar(require("./create-inventory-items"), exports);
21
21
  __exportStar(require("./validate-singular-inventory-items-for-tags"), exports);
22
22
  __exportStar(require("./create-inventory-levels"), exports);
23
23
  __exportStar(require("./validate-inventory-locations"), exports);
24
+ __exportStar(require("./update-inventory-items"), exports);
24
25
  __exportStar(require("./delete-inventory-levels"), exports);
@@ -0,0 +1,3 @@
1
+ import { InventoryNext } from "@medusajs/types";
2
+ export declare const updateInventoryItemsStepId = "update-inventory-items-step";
3
+ export declare const updateInventoryItemsStep: import("@medusajs/workflows-sdk").StepFunction<InventoryNext.UpdateInventoryItemInput[], InventoryNext.InventoryItemDTO[]>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateInventoryItemsStep = exports.updateInventoryItemsStepId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const utils_1 = require("@medusajs/utils");
6
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
7
+ exports.updateInventoryItemsStepId = "update-inventory-items-step";
8
+ exports.updateInventoryItemsStep = (0, workflows_sdk_1.createStep)(exports.updateInventoryItemsStepId, async (input, { container }) => {
9
+ const inventoryService = container.resolve(modules_sdk_1.ModuleRegistrationName.INVENTORY);
10
+ const { selects, relations } = (0, utils_1.getSelectsAndRelationsFromObjectArray)(input);
11
+ const dataBeforeUpdate = await inventoryService.list({ id: input.map(({ id }) => id) }, {});
12
+ const updatedInventoryItems = await inventoryService.update(input);
13
+ return new workflows_sdk_1.StepResponse(updatedInventoryItems, {
14
+ dataBeforeUpdate,
15
+ selects,
16
+ relations,
17
+ });
18
+ }, async (revertInput, { container }) => {
19
+ if (!revertInput?.dataBeforeUpdate?.length) {
20
+ return;
21
+ }
22
+ const { dataBeforeUpdate, selects, relations } = revertInput;
23
+ const inventoryService = container.resolve(modules_sdk_1.ModuleRegistrationName.INVENTORY);
24
+ await inventoryService.update(dataBeforeUpdate.map((data) => (0, utils_1.convertItemResponseToUpdateRequest)(data, selects, relations)));
25
+ });
@@ -1,4 +1,5 @@
1
1
  export * from "./delete-inventory-items";
2
2
  export * from "./create-inventory-items";
3
3
  export * from "./create-inventory-levels";
4
+ export * from "./update-inventory-items";
4
5
  export * from "./delete-inventory-levels";
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./delete-inventory-items"), exports);
18
18
  __exportStar(require("./create-inventory-items"), exports);
19
19
  __exportStar(require("./create-inventory-levels"), exports);
20
+ __exportStar(require("./update-inventory-items"), exports);
20
21
  __exportStar(require("./delete-inventory-levels"), exports);
@@ -0,0 +1,7 @@
1
+ import { InventoryNext } from "@medusajs/types";
2
+ interface WorkflowInput {
3
+ updates: InventoryNext.UpdateInventoryItemInput[];
4
+ }
5
+ export declare const updateInventoryItemsWorkflowId = "update-inventory-items-workflow";
6
+ export declare const updateInventoryItemsWorkflow: import("@medusajs/workflows-sdk").ReturnWorkflow<WorkflowInput, InventoryNext.InventoryItemDTO[], Record<string, Function>>;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateInventoryItemsWorkflow = exports.updateInventoryItemsWorkflowId = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
+ const steps_1 = require("../steps");
6
+ exports.updateInventoryItemsWorkflowId = "update-inventory-items-workflow";
7
+ exports.updateInventoryItemsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.updateInventoryItemsWorkflowId, (input) => {
8
+ return (0, steps_1.updateInventoryItemsStep)(input.updates);
9
+ });
@@ -6,14 +6,12 @@ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
6
6
  exports.deletePriceListsStepId = "delete-campaigns";
7
7
  exports.deletePriceListsStep = (0, workflows_sdk_1.createStep)(exports.deletePriceListsStepId, async (ids, { container }) => {
8
8
  const pricingModule = container.resolve(modules_sdk_1.ModuleRegistrationName.PRICING);
9
- // TODO: Implement soft delete price lists
10
- await pricingModule.deletePriceLists(ids);
9
+ await pricingModule.softDeletePriceLists(ids);
11
10
  return new workflows_sdk_1.StepResponse(void 0, ids);
12
11
  }, async (idsToRestore, { container }) => {
13
12
  if (!idsToRestore?.length) {
14
13
  return;
15
14
  }
16
15
  const pricingModule = container.resolve(modules_sdk_1.ModuleRegistrationName.PRICING);
17
- // TODO: Implement restore price lists
18
- // await pricingModule.restorePriceLists(idsToRestore)
16
+ await pricingModule.restorePriceLists(idsToRestore);
19
17
  });
@@ -10,13 +10,12 @@ exports.removePriceListPricesStep = (0, workflows_sdk_1.createStep)(exports.remo
10
10
  }
11
11
  const pricingModule = container.resolve(modules_sdk_1.ModuleRegistrationName.PRICING);
12
12
  const psmas = await pricingModule.listPriceSetMoneyAmounts({ id: ids }, { relations: ["price_list"] });
13
- await pricingModule.removePrices(psmas.map((psma) => psma.id));
13
+ await pricingModule.softDeletePriceSetMoneyAmounts(psmas.map((psma) => psma.id));
14
14
  return new workflows_sdk_1.StepResponse(null, psmas.map((psma) => psma.id));
15
15
  }, async (ids, { container }) => {
16
- if (!ids) {
16
+ if (!ids?.length) {
17
17
  return;
18
18
  }
19
19
  const pricingModule = container.resolve(modules_sdk_1.ModuleRegistrationName.PRICING);
20
- // TODO: This needs to be implemented
21
- // pricingModule.restorePrices(ids)
20
+ await pricingModule.restorePriceSetMoneyAmounts(ids);
22
21
  });
@@ -6,24 +6,20 @@ const utils_1 = require("@medusajs/utils");
6
6
  const workflows_sdk_1 = require("@medusajs/workflows-sdk");
7
7
  exports.removeVariantPricingLinkStepId = "remove-variant-pricing-link";
8
8
  exports.removeVariantPricingLinkStep = (0, workflows_sdk_1.createStep)(exports.removeVariantPricingLinkStepId, async (data, { container }) => {
9
+ if (!data.variant_ids.length) {
10
+ return;
11
+ }
9
12
  const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.REMOTE_LINK);
10
- const linkModule = remoteLink.getLinkModule(modules_sdk_1.Modules.PRODUCT, "variant_id", modules_sdk_1.Modules.PRICING, "price_set_id");
11
- const links = (await linkModule.list({
12
- variant_id: data.variant_ids,
13
- }, { select: ["id", "variant_id", "price_set_id"] }));
14
- await remoteLink.delete(links.map((link) => link.id));
15
- return new workflows_sdk_1.StepResponse(void 0, links);
13
+ await remoteLink.delete({
14
+ [modules_sdk_1.Modules.PRODUCT]: { variant_id: data.variant_ids },
15
+ });
16
+ return new workflows_sdk_1.StepResponse(void 0, data.variant_ids);
16
17
  }, async (prevData, { container }) => {
17
18
  if (!prevData?.length) {
18
19
  return;
19
20
  }
20
21
  const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.REMOTE_LINK);
21
- await remoteLink.create(prevData.map((entry) => ({
22
- [modules_sdk_1.Modules.PRODUCT]: {
23
- variant_id: entry.variant_id,
24
- },
25
- [modules_sdk_1.Modules.PRICING]: {
26
- price_set_id: entry.price_set_id,
27
- },
28
- })));
22
+ await remoteLink.restore({
23
+ [modules_sdk_1.Modules.PRODUCT]: { variant_id: prevData },
24
+ });
29
25
  });
@@ -4,5 +4,5 @@ type UpdateProductOptionsStepInput = {
4
4
  update: ProductTypes.UpdateProductOptionDTO;
5
5
  };
6
6
  export declare const updateProductOptionsStepId = "update-product-options";
7
- export declare const updateProductOptionsStep: import("@medusajs/workflows-sdk").StepFunction<UpdateProductOptionsStepInput, never[]>;
7
+ export declare const updateProductOptionsStep: import("@medusajs/workflows-sdk").StepFunction<UpdateProductOptionsStepInput, ProductTypes.ProductOptionDTO[]>;
8
8
  export {};
@@ -14,19 +14,12 @@ exports.updateProductOptionsStep = (0, workflows_sdk_1.createStep)(exports.updat
14
14
  select: selects,
15
15
  relations,
16
16
  });
17
- // TODO: We need to update the module's signature
18
- // const productOptions = await service.updateOptions(data.selector, data.update)
19
- const productOptions = [];
17
+ const productOptions = await service.updateOptions(data.selector, data.update);
20
18
  return new workflows_sdk_1.StepResponse(productOptions, prevData);
21
19
  }, async (prevData, { container }) => {
22
20
  if (!prevData?.length) {
23
21
  return;
24
22
  }
25
23
  const service = container.resolve(modules_sdk_1.ModuleRegistrationName.PRODUCT);
26
- // TODO: We need to update the module's signature
27
- // await service.upsertOptions(
28
- // prevData.map((r) => ({
29
- // ...r,
30
- // }))
31
- // )
24
+ await service.upsertOptions(prevData);
32
25
  });
@@ -4,5 +4,5 @@ type UpdateProductVariantsStepInput = {
4
4
  update: ProductTypes.UpdateProductVariantDTO;
5
5
  };
6
6
  export declare const updateProductVariantsStepId = "update-product-variants";
7
- export declare const updateProductVariantsStep: import("@medusajs/workflows-sdk").StepFunction<UpdateProductVariantsStepInput, never[]>;
7
+ export declare const updateProductVariantsStep: import("@medusajs/workflows-sdk").StepFunction<UpdateProductVariantsStepInput, ProductTypes.ProductVariantDTO[]>;
8
8
  export {};
@@ -14,19 +14,12 @@ exports.updateProductVariantsStep = (0, workflows_sdk_1.createStep)(exports.upda
14
14
  select: selects,
15
15
  relations,
16
16
  });
17
- // TODO: We need to update the module's signature
18
- // const productVariants = await service.updateVariants(data.selector, data.update)
19
- const productVariants = [];
17
+ const productVariants = await service.updateVariants(data.selector, data.update);
20
18
  return new workflows_sdk_1.StepResponse(productVariants, prevData);
21
19
  }, async (prevData, { container }) => {
22
20
  if (!prevData?.length) {
23
21
  return;
24
22
  }
25
23
  const service = container.resolve(modules_sdk_1.ModuleRegistrationName.PRODUCT);
26
- // TODO: We need to update the module's signature
27
- // await service.upsertVariants(
28
- // prevData.map((r) => ({
29
- // ...r,
30
- // }))
31
- // )
24
+ await service.upsertVariants(prevData);
32
25
  });
@@ -5,7 +5,6 @@ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
5
5
  const steps_1 = require("../steps");
6
6
  exports.deleteProductVariantsWorkflowId = "delete-product-variants";
7
7
  exports.deleteProductVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.deleteProductVariantsWorkflowId, (input) => {
8
- // Question: Should we also remove the price set manually, or would that be cascaded?
9
8
  (0, steps_1.removeVariantPricingLinkStep)({ variant_ids: input.ids });
10
9
  return (0, steps_1.deleteProductVariantsStep)(input.ids);
11
10
  });
@@ -11,8 +11,6 @@ exports.deleteProductsWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.del
11
11
  .flatMap((product) => product.variants)
12
12
  .map((variant) => variant.id);
13
13
  });
14
- // Question: Should we also remove the price set manually, or would that be cascaded?
15
- // Question: Since we soft-delete the product, how do we restore the product with the prices and the links?
16
14
  (0, steps_1.removeVariantPricingLinkStep)({ variant_ids: variantsToBeDeleted });
17
15
  return (0, steps_1.deleteProductsStep)(input.ids);
18
16
  });
@@ -0,0 +1,7 @@
1
+ import { CreateSalesChannelDTO } from "@medusajs/types";
2
+ interface StepInput {
3
+ data: CreateSalesChannelDTO;
4
+ }
5
+ export declare const createDefaultSalesChannelStepId = "create-default-sales-channel";
6
+ export declare const createDefaultSalesChannelStep: import("@medusajs/workflows-sdk").StepFunction<StepInput, import("@medusajs/types").SalesChannelDTO>;
7
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDefaultSalesChannelStep = exports.createDefaultSalesChannelStepId = void 0;
4
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
5
+ const workflows_sdk_1 = require("@medusajs/workflows-sdk");
6
+ exports.createDefaultSalesChannelStepId = "create-default-sales-channel";
7
+ exports.createDefaultSalesChannelStep = (0, workflows_sdk_1.createStep)(exports.createDefaultSalesChannelStepId, async (input, { container }) => {
8
+ const salesChannelService = container.resolve(modules_sdk_1.ModuleRegistrationName.SALES_CHANNEL);
9
+ let shouldDelete = false;
10
+ let [salesChannel] = await salesChannelService.list({}, { take: 1 });
11
+ if (!salesChannel) {
12
+ salesChannel = await salesChannelService.create(input.data);
13
+ shouldDelete = true;
14
+ }
15
+ return new workflows_sdk_1.StepResponse(salesChannel, { id: salesChannel.id, shouldDelete });
16
+ }, async (data, { container }) => {
17
+ if (!data?.id || !data.shouldDelete) {
18
+ return;
19
+ }
20
+ const service = container.resolve(modules_sdk_1.ModuleRegistrationName.SALES_CHANNEL);
21
+ await service.delete(data.id);
22
+ });
@@ -1,4 +1,5 @@
1
1
  export * from "./associate-products-with-channels";
2
+ export * from "./create-default-sales-channel";
2
3
  export * from "./create-sales-channels";
3
4
  export * from "./delete-sales-channels";
4
5
  export * from "./update-sales-channels";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./associate-products-with-channels"), exports);
18
+ __exportStar(require("./create-default-sales-channel"), exports);
18
19
  __exportStar(require("./create-sales-channels"), exports);
19
20
  __exportStar(require("./delete-sales-channels"), exports);
20
21
  __exportStar(require("./update-sales-channels"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/core-flows",
3
- "version": "0.0.7",
3
+ "version": "0.1.0-next-20240321131229",
4
4
  "description": "Set of workflow definitions for Medusa",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "author": "Medusa",
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@medusajs/types": "^1.11.14",
24
+ "@medusajs/types": "1.12.0-next-20240321131229",
25
25
  "cross-env": "^5.2.1",
26
26
  "jest": "^29.6.3",
27
27
  "rimraf": "^5.0.1",
@@ -29,10 +29,10 @@
29
29
  "typescript": "^5.1.6"
30
30
  },
31
31
  "dependencies": {
32
- "@medusajs/modules-sdk": "^1.12.9",
33
- "@medusajs/orchestration": "^0.5.5",
34
- "@medusajs/utils": "^1.11.7",
35
- "@medusajs/workflows-sdk": "^0.1.4",
32
+ "@medusajs/modules-sdk": "1.12.10-next-20240321131229",
33
+ "@medusajs/orchestration": "0.5.6-next-20240321131229",
34
+ "@medusajs/utils": "1.11.8-next-20240321131229",
35
+ "@medusajs/workflows-sdk": "0.1.5-next-20240321131229",
36
36
  "awilix": "^8.0.1",
37
37
  "ulid": "^2.3.0"
38
38
  },