From bbf790ea44d0ce0a128a07e66224735f5a2dccf0 Mon Sep 17 00:00:00 2001 From: Harminder Virk Date: Mon, 30 Dec 2024 14:57:43 +0530 Subject: [PATCH] feat: deprecate remote link (#10768) Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com> --- .changeset/metal-weeks-retire.md | 8 ++++++++ .../steps/link-sales-channels-to-publishable-key.ts | 4 ++-- .../src/cart/steps/update-cart-promotions.ts | 4 ++-- .../src/common/steps/create-remote-links.ts | 10 +++------- .../src/common/steps/dismiss-remote-links.ts | 10 +++------- .../src/common/steps/remove-remote-links.ts | 10 +++------- .../src/common/steps/update-remote-links.ts | 10 +++------- .../steps/set-shipping-options-price-sets.ts | 10 +++------- .../src/inventory/steps/attach-inventory-items.ts | 4 ++-- .../validate-singular-inventory-items-for-tags.ts | 2 +- .../src/product/steps/create-variant-pricing-link.ts | 4 ++-- .../src/product/steps/get-variant-pricing-link.ts | 2 +- .../src/region/steps/set-regions-payment-providers.ts | 10 +++------- .../steps/associate-locations-with-channels.ts | 4 ++-- .../steps/associate-products-with-channels.ts | 4 ++-- .../steps/detach-locations-from-channels.ts | 8 +++----- .../steps/detach-products-from-sales-channels.ts | 4 ++-- .../associate-locations-with-fulfillment-sets.ts | 4 ++-- packages/core/framework/src/medusa-app-loader.ts | 11 ++++++++--- packages/core/framework/src/types/container.ts | 8 ++++++-- .../modules-sdk/src/__tests__/remote-link.spec.ts | 8 ++++---- packages/core/modules-sdk/src/index.ts | 2 +- .../core/modules-sdk/src/{remote-link.ts => link.ts} | 2 +- packages/core/modules-sdk/src/medusa-app.ts | 6 +++--- packages/core/utils/src/common/container.ts | 4 ++++ 25 files changed, 74 insertions(+), 79 deletions(-) create mode 100644 .changeset/metal-weeks-retire.md rename packages/core/modules-sdk/src/{remote-link.ts => link.ts} (99%) diff --git a/.changeset/metal-weeks-retire.md b/.changeset/metal-weeks-retire.md new file mode 100644 index 0000000000..a48b0cb17f --- /dev/null +++ b/.changeset/metal-weeks-retire.md @@ -0,0 +1,8 @@ +--- +"@medusajs/core-flows": patch +"@medusajs/framework": patch +"@medusajs/modules-sdk": patch +"@medusajs/utils": patch +--- + +Refactor/deprecate remote link diff --git a/packages/core/core-flows/src/api-key/steps/link-sales-channels-to-publishable-key.ts b/packages/core/core-flows/src/api-key/steps/link-sales-channels-to-publishable-key.ts index e9bd712422..e91d5d1673 100644 --- a/packages/core/core-flows/src/api-key/steps/link-sales-channels-to-publishable-key.ts +++ b/packages/core/core-flows/src/api-key/steps/link-sales-channels-to-publishable-key.ts @@ -13,7 +13,7 @@ export const linkSalesChannelsToApiKeyStepId = "link-sales-channels-to-api-key" export const linkSalesChannelsToApiKeyStep = createStep( linkSalesChannelsToApiKeyStepId, async (input: LinkWorkflowInput, { container }) => { - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) if (!input || (!input.add?.length && !input.remove?.length)) { return } @@ -56,7 +56,7 @@ export const linkSalesChannelsToApiKeyStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) if (prevData.linksToCreate.length) { await remoteLink.dismiss(prevData.linksToCreate) } diff --git a/packages/core/core-flows/src/cart/steps/update-cart-promotions.ts b/packages/core/core-flows/src/cart/steps/update-cart-promotions.ts index 69cc6a1126..514cfaa43d 100644 --- a/packages/core/core-flows/src/cart/steps/update-cart-promotions.ts +++ b/packages/core/core-flows/src/cart/steps/update-cart-promotions.ts @@ -23,7 +23,7 @@ export const updateCartPromotionsStep = createStep( updateCartPromotionsStepId, async (data: UpdateCartPromotionStepInput, { container }) => { const { promo_codes = [], id, action = PromotionActions.ADD } = data - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const remoteQuery = container.resolve( ContainerRegistrationKeys.REMOTE_QUERY ) @@ -94,7 +94,7 @@ export const updateCartPromotionsStep = createStep( }) }, async (revertData, { container }) => { - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) if (revertData?.dismissedLinks?.length) { await remoteLink.create(revertData.dismissedLinks) diff --git a/packages/core/core-flows/src/common/steps/create-remote-links.ts b/packages/core/core-flows/src/common/steps/create-remote-links.ts index b82d319b78..e7e4bfba26 100644 --- a/packages/core/core-flows/src/common/steps/create-remote-links.ts +++ b/packages/core/core-flows/src/common/steps/create-remote-links.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { LinkDefinition } from "@medusajs/framework/types" import { ContainerRegistrationKeys } from "@medusajs/framework/utils" import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk" @@ -37,9 +37,7 @@ export const createLinksStepId = "create-remote-links" export const createRemoteLinkStep = createStep( createLinksStepId, async (data: LinkDefinition[], { container }) => { - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) if (!data.length) { return new StepResponse([], []) @@ -54,9 +52,7 @@ export const createRemoteLinkStep = createStep( return } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) await link.dismiss(createdLinks) } ) diff --git a/packages/core/core-flows/src/common/steps/dismiss-remote-links.ts b/packages/core/core-flows/src/common/steps/dismiss-remote-links.ts index 67bd30493f..c19b8add0e 100644 --- a/packages/core/core-flows/src/common/steps/dismiss-remote-links.ts +++ b/packages/core/core-flows/src/common/steps/dismiss-remote-links.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { LinkDefinition } from "@medusajs/framework/types" import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk" @@ -47,9 +47,7 @@ export const dismissRemoteLinkStep = createStep( return new StepResponse([], []) } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) // Our current revert strategy for dismissed links are to recreate it again. // This works when its just the primary keys, but when you have additional data @@ -67,9 +65,7 @@ export const dismissRemoteLinkStep = createStep( return } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) await link.create(dataBeforeDismiss) } diff --git a/packages/core/core-flows/src/common/steps/remove-remote-links.ts b/packages/core/core-flows/src/common/steps/remove-remote-links.ts index cd7af84a26..1482ad735f 100644 --- a/packages/core/core-flows/src/common/steps/remove-remote-links.ts +++ b/packages/core/core-flows/src/common/steps/remove-remote-links.ts @@ -1,4 +1,4 @@ -import { DeleteEntityInput, RemoteLink } from "@medusajs/framework/modules-sdk" +import { DeleteEntityInput, Link } from "@medusajs/framework/modules-sdk" import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk" import { ContainerRegistrationKeys } from "@medusajs/framework/utils" @@ -62,9 +62,7 @@ export const removeRemoteLinkStep = createStep( } } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) await link.delete(grouped) return new StepResponse(grouped, grouped) @@ -74,9 +72,7 @@ export const removeRemoteLinkStep = createStep( return } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) await link.restore(removedLinks) } ) diff --git a/packages/core/core-flows/src/common/steps/update-remote-links.ts b/packages/core/core-flows/src/common/steps/update-remote-links.ts index ef2ba70845..a59b13861e 100644 --- a/packages/core/core-flows/src/common/steps/update-remote-links.ts +++ b/packages/core/core-flows/src/common/steps/update-remote-links.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { LinkDefinition } from "@medusajs/framework/types" import { ContainerRegistrationKeys, @@ -14,9 +14,7 @@ export const updateRemoteLinksStep = createStep( return new StepResponse([], []) } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) // Fetch all existing links and throw an error if any weren't found const dataBeforeUpdate = (await link.list(data, { @@ -43,9 +41,7 @@ export const updateRemoteLinksStep = createStep( return } - const link = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const link = container.resolve(ContainerRegistrationKeys.LINK) await link.create(dataBeforeUpdate) } diff --git a/packages/core/core-flows/src/fulfillment/steps/set-shipping-options-price-sets.ts b/packages/core/core-flows/src/fulfillment/steps/set-shipping-options-price-sets.ts index f751d9005f..4e9255e106 100644 --- a/packages/core/core-flows/src/fulfillment/steps/set-shipping-options-price-sets.ts +++ b/packages/core/core-flows/src/fulfillment/steps/set-shipping-options-price-sets.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { RemoteQueryFunction } from "@medusajs/framework/types" import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk" import { @@ -70,9 +70,7 @@ export const setShippingOptionsPriceSetsStep = createStep( return } - const remoteLink = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const remoteQuery = container.resolve( ContainerRegistrationKeys.REMOTE_QUERY ) @@ -152,9 +150,7 @@ export const setShippingOptionsPriceSetsStep = createStep( return } - const remoteLink = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const promises: Promise[] = [] diff --git a/packages/core/core-flows/src/inventory/steps/attach-inventory-items.ts b/packages/core/core-flows/src/inventory/steps/attach-inventory-items.ts index 3cf7092948..a1dd5a771e 100644 --- a/packages/core/core-flows/src/inventory/steps/attach-inventory-items.ts +++ b/packages/core/core-flows/src/inventory/steps/attach-inventory-items.ts @@ -16,7 +16,7 @@ export const attachInventoryItemToVariants = createStep( }[], { container } ) => { - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const linkDefinitions = input .filter(({ tag }) => !!tag) @@ -38,7 +38,7 @@ export const attachInventoryItemToVariants = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.dismiss(linkDefinitions) } diff --git a/packages/core/core-flows/src/inventory/steps/validate-singular-inventory-items-for-tags.ts b/packages/core/core-flows/src/inventory/steps/validate-singular-inventory-items-for-tags.ts index af5bd0fedd..c63eda7214 100644 --- a/packages/core/core-flows/src/inventory/steps/validate-singular-inventory-items-for-tags.ts +++ b/packages/core/core-flows/src/inventory/steps/validate-singular-inventory-items-for-tags.ts @@ -18,7 +18,7 @@ export const validateInventoryItemsForCreate = createStep( }[], { container } ) => { - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const linkService = remoteLink.getLinkModule( Modules.PRODUCT, diff --git a/packages/core/core-flows/src/product/steps/create-variant-pricing-link.ts b/packages/core/core-flows/src/product/steps/create-variant-pricing-link.ts index 1f58dbf03d..15d79700d0 100644 --- a/packages/core/core-flows/src/product/steps/create-variant-pricing-link.ts +++ b/packages/core/core-flows/src/product/steps/create-variant-pricing-link.ts @@ -15,7 +15,7 @@ export const createVariantPricingLinkStepId = "create-variant-pricing-link" export const createVariantPricingLinkStep = createStep( createVariantPricingLinkStepId, async (data: CreateVariantPricingLinkStepInput, { container }) => { - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.create( data.links.map((entry) => ({ [Modules.PRODUCT]: { @@ -34,7 +34,7 @@ export const createVariantPricingLinkStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = data.links.map((entry) => ({ [Modules.PRODUCT]: { variant_id: entry.variant_id, diff --git a/packages/core/core-flows/src/product/steps/get-variant-pricing-link.ts b/packages/core/core-flows/src/product/steps/get-variant-pricing-link.ts index 54d32e7933..42923590a4 100644 --- a/packages/core/core-flows/src/product/steps/get-variant-pricing-link.ts +++ b/packages/core/core-flows/src/product/steps/get-variant-pricing-link.ts @@ -21,7 +21,7 @@ export const getVariantPricingLinkStep = createStep( return new StepResponse([]) } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const linkService = remoteLink.getLinkModule( Modules.PRODUCT, diff --git a/packages/core/core-flows/src/region/steps/set-regions-payment-providers.ts b/packages/core/core-flows/src/region/steps/set-regions-payment-providers.ts index c159512014..55963a5791 100644 --- a/packages/core/core-flows/src/region/steps/set-regions-payment-providers.ts +++ b/packages/core/core-flows/src/region/steps/set-regions-payment-providers.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { IPaymentModuleService, RemoteQueryFunction, @@ -107,9 +107,7 @@ export const setRegionsPaymentProvidersStep = createStep( const paymentService = container.resolve( Modules.PAYMENT ) - const remoteLink = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const remoteQuery = container.resolve( ContainerRegistrationKeys.REMOTE_QUERY ) @@ -199,9 +197,7 @@ export const setRegionsPaymentProvidersStep = createStep( return } - const remoteLink = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const promises: Promise[] = [] diff --git a/packages/core/core-flows/src/sales-channel/steps/associate-locations-with-channels.ts b/packages/core/core-flows/src/sales-channel/steps/associate-locations-with-channels.ts index 839dec4670..56e0fc9d27 100644 --- a/packages/core/core-flows/src/sales-channel/steps/associate-locations-with-channels.ts +++ b/packages/core/core-flows/src/sales-channel/steps/associate-locations-with-channels.ts @@ -21,7 +21,7 @@ export const associateLocationsWithSalesChannelsStep = createStep( return new StepResponse([], []) } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = data.links.map((link) => { return { [Modules.SALES_CHANNEL]: { @@ -41,7 +41,7 @@ export const associateLocationsWithSalesChannelsStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.dismiss(links) } ) diff --git a/packages/core/core-flows/src/sales-channel/steps/associate-products-with-channels.ts b/packages/core/core-flows/src/sales-channel/steps/associate-products-with-channels.ts index ac0d9a616c..a1d3c6f970 100644 --- a/packages/core/core-flows/src/sales-channel/steps/associate-products-with-channels.ts +++ b/packages/core/core-flows/src/sales-channel/steps/associate-products-with-channels.ts @@ -20,7 +20,7 @@ export const associateProductsWithSalesChannelsStep = createStep( return new StepResponse([], []) } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = input.links.map((link) => { return { [Modules.PRODUCT]: { @@ -40,7 +40,7 @@ export const associateProductsWithSalesChannelsStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.dismiss(links) } diff --git a/packages/core/core-flows/src/sales-channel/steps/detach-locations-from-channels.ts b/packages/core/core-flows/src/sales-channel/steps/detach-locations-from-channels.ts index adfd951eee..78c0aee290 100644 --- a/packages/core/core-flows/src/sales-channel/steps/detach-locations-from-channels.ts +++ b/packages/core/core-flows/src/sales-channel/steps/detach-locations-from-channels.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/framework/modules-sdk" +import { Link } from "@medusajs/framework/modules-sdk" import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk" import { ContainerRegistrationKeys, Modules } from "@medusajs/framework/utils" @@ -22,9 +22,7 @@ export const detachLocationsFromSalesChannelsStep = createStep( return new StepResponse([], []) } - const remoteLink = container.resolve( - ContainerRegistrationKeys.REMOTE_LINK - ) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = data.links.map((link) => { return { @@ -45,7 +43,7 @@ export const detachLocationsFromSalesChannelsStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.create(links) } ) diff --git a/packages/core/core-flows/src/sales-channel/steps/detach-products-from-sales-channels.ts b/packages/core/core-flows/src/sales-channel/steps/detach-products-from-sales-channels.ts index 875af989a8..ae64a38759 100644 --- a/packages/core/core-flows/src/sales-channel/steps/detach-products-from-sales-channels.ts +++ b/packages/core/core-flows/src/sales-channel/steps/detach-products-from-sales-channels.ts @@ -20,7 +20,7 @@ export const detachProductsFromSalesChannelsStep = createStep( return new StepResponse(void 0, []) } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = input.links.map((link) => { return { [Modules.PRODUCT]: { @@ -41,7 +41,7 @@ export const detachProductsFromSalesChannelsStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.create(links) } diff --git a/packages/core/core-flows/src/stock-location/steps/associate-locations-with-fulfillment-sets.ts b/packages/core/core-flows/src/stock-location/steps/associate-locations-with-fulfillment-sets.ts index e27cf19932..4f34993d47 100644 --- a/packages/core/core-flows/src/stock-location/steps/associate-locations-with-fulfillment-sets.ts +++ b/packages/core/core-flows/src/stock-location/steps/associate-locations-with-fulfillment-sets.ts @@ -23,7 +23,7 @@ export const associateFulfillmentSetsWithLocationStep = createStep( return new StepResponse([], []) } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) const links = data.input .map((link) => { @@ -49,7 +49,7 @@ export const associateFulfillmentSetsWithLocationStep = createStep( return } - const remoteLink = container.resolve(ContainerRegistrationKeys.REMOTE_LINK) + const remoteLink = container.resolve(ContainerRegistrationKeys.LINK) await remoteLink.dismiss(links) } diff --git a/packages/core/framework/src/medusa-app-loader.ts b/packages/core/framework/src/medusa-app-loader.ts index 6f3ad8d897..b423fa092a 100644 --- a/packages/core/framework/src/medusa-app-loader.ts +++ b/packages/core/framework/src/medusa-app-loader.ts @@ -26,7 +26,7 @@ import { } from "@medusajs/utils" import { pgConnectionLoader } from "./database" -import { asValue } from "awilix" +import { aliasTo, asValue } from "awilix" import { configManager } from "./config" import { container, @@ -236,9 +236,10 @@ export class MedusaAppLoader { ContainerRegistrationKeys.QUERY, asValue(undefined) ) + this.#container.register(ContainerRegistrationKeys.LINK, asValue(undefined)) this.#container.register( ContainerRegistrationKeys.REMOTE_LINK, - asValue(undefined) + aliasTo(ContainerRegistrationKeys.LINK) ) const configModules = this.mergeDefaultModules(configModule.modules) @@ -257,9 +258,13 @@ export class MedusaAppLoader { } this.#container.register( - ContainerRegistrationKeys.REMOTE_LINK, + ContainerRegistrationKeys.LINK, asValue(medusaApp.link) ) + this.#container.register( + ContainerRegistrationKeys.REMOTE_LINK, + aliasTo(ContainerRegistrationKeys.LINK) + ) this.#container.register( ContainerRegistrationKeys.REMOTE_QUERY, asValue(medusaApp.query) diff --git a/packages/core/framework/src/types/container.ts b/packages/core/framework/src/types/container.ts index 0d0d3244ec..65a121a445 100644 --- a/packages/core/framework/src/types/container.ts +++ b/packages/core/framework/src/types/container.ts @@ -1,4 +1,4 @@ -import { RemoteLink } from "@medusajs/modules-sdk" +import { Link } from "@medusajs/modules-sdk" import { ConfigModule, IApiKeyModuleService, @@ -35,7 +35,11 @@ import { AwilixContainer, ResolveOptions } from "awilix" declare module "@medusajs/types" { export interface ModuleImplementations { - [ContainerRegistrationKeys.REMOTE_LINK]: RemoteLink + /** + * @deprecated. Instead use "link" + */ + [ContainerRegistrationKeys.REMOTE_LINK]: Link + [ContainerRegistrationKeys.LINK]: Link [ContainerRegistrationKeys.CONFIG_MODULE]: ConfigModule [ContainerRegistrationKeys.PG_CONNECTION]: Knex [ContainerRegistrationKeys.REMOTE_QUERY]: RemoteQueryFunction diff --git a/packages/core/modules-sdk/src/__tests__/remote-link.spec.ts b/packages/core/modules-sdk/src/__tests__/remote-link.spec.ts index 781b467525..788c1d0a8c 100644 --- a/packages/core/modules-sdk/src/__tests__/remote-link.spec.ts +++ b/packages/core/modules-sdk/src/__tests__/remote-link.spec.ts @@ -4,7 +4,7 @@ import { ProductInventoryLinkModule } from "../__mocks__/product-inventory-link" import { ProductModule } from "../__mocks__/product-module" import { StockLocationModule } from "../__mocks__/stock-location-module" -import { RemoteLink } from "../remote-link" +import { Link } from "../link" const allModules = [ // modules @@ -17,7 +17,7 @@ const allModules = [ ] describe("Remote Link", function () { it("Should get all loaded modules and compose their relationships", async function () { - const remoteLink = new RemoteLink(allModules as any) + const remoteLink = new Link(allModules as any) const relations = remoteLink.getRelationships() @@ -84,7 +84,7 @@ describe("Remote Link", function () { }) it("Should call the correct link module to create relation between 2 keys", async function () { - const remoteLink = new RemoteLink(allModules as any) + const remoteLink = new Link(allModules as any) await remoteLink.create([ { @@ -123,7 +123,7 @@ describe("Remote Link", function () { }) it("Should call delete in cascade all the modules involved in the link", async function () { - const remoteLink = new RemoteLink(allModules as any) + const remoteLink = new Link(allModules as any) ProductInventoryLinkModule.softDelete.mockImplementation(() => { return { diff --git a/packages/core/modules-sdk/src/index.ts b/packages/core/modules-sdk/src/index.ts index ba6b48236b..48652b9385 100644 --- a/packages/core/modules-sdk/src/index.ts +++ b/packages/core/modules-sdk/src/index.ts @@ -2,7 +2,7 @@ export * from "./definitions" export * from "./loaders" export * from "./medusa-app" export * from "./medusa-module" -export * from "./remote-link" +export * from "./link" export * from "./remote-query" export * from "./types" export * from "./utils" diff --git a/packages/core/modules-sdk/src/remote-link.ts b/packages/core/modules-sdk/src/link.ts similarity index 99% rename from packages/core/modules-sdk/src/remote-link.ts rename to packages/core/modules-sdk/src/link.ts index 0ee5603c27..ee6f7dcc75 100644 --- a/packages/core/modules-sdk/src/remote-link.ts +++ b/packages/core/modules-sdk/src/link.ts @@ -48,7 +48,7 @@ type LinkDataConfig = { moduleBKey: string } -export class RemoteLink { +export class Link { private modulesMap: Map = new Map() private relationsPairs: Map = new Map() private relations: Map> = new Map() diff --git a/packages/core/modules-sdk/src/medusa-app.ts b/packages/core/modules-sdk/src/medusa-app.ts index f58d703dd4..64fdb1b705 100644 --- a/packages/core/modules-sdk/src/medusa-app.ts +++ b/packages/core/modules-sdk/src/medusa-app.ts @@ -33,7 +33,7 @@ import { ModuleBootstrapOptions, RegisterModuleJoinerConfig, } from "./medusa-module" -import { RemoteLink } from "./remote-link" +import { Link } from "./link" import { createQuery, RemoteQuery } from "./remote-query" import { MODULE_SCOPE } from "./types" @@ -210,7 +210,7 @@ async function initializeLinks({ ) return { - remoteLink: new RemoteLink(), + remoteLink: new Link(), linkResolution, getMigrationPlanner, } @@ -261,7 +261,7 @@ function registerCustomJoinerConfigs(servicesConfig: ModuleJoinerConfig[]) { export type MedusaAppOutput = { modules: Record - link: RemoteLink | undefined + link: Link | undefined query: RemoteQueryFunction entitiesMap?: Record gqlSchema?: GraphQLUtils.GraphQLSchema diff --git a/packages/core/utils/src/common/container.ts b/packages/core/utils/src/common/container.ts index d0bb1e45c3..1b20944413 100644 --- a/packages/core/utils/src/common/container.ts +++ b/packages/core/utils/src/common/container.ts @@ -5,6 +5,10 @@ export const ContainerRegistrationKeys = { LOGGER: "logger", REMOTE_QUERY: "remoteQuery", QUERY: "query", + /** + * @deprecated. Instead use "ContainerRegistrationKeys.LINK" + */ REMOTE_LINK: "remoteLink", + LINK: "link", FEATURE_FLAG_ROUTER: "featureFlagRouter", } as const