feat(medusa, link-modules): sales channel <> product module link (#5450)

* feat: sales channel joiner config

* feat: product sales channel link config, SC list method

* feat: migration

* fix: refactor list SC

* refactor: SC repo api

* chore: changeset

* feat: add dedicated FF

* feat: product<> sc join entity

* fix: update case

* fix: add FF on in the repository, fix tests

* fix: assign id when FF is on

* fix: target table

* feat: product service - fetch SC with RQ

* feat: admin list products & SC with isolated product domain

* feat: get admin product

* feat: store endpoints

* fix: remove duplicate import

* fix: remove "name" prop

* feat: refactor

* fix: product seeder if FF is on

* fix: env

* refactor: workflow product handlers to handle remote links

* fix: condition

* fix: use correct method

* fix: build

* wip: update FF

* fix: update FF in the handlers

* chore: migrate to medusav2 FF

* chore: uncomment test

* fix: product factory

* fix: unlinking SC and product

* fix: use module name variable

* refactor: cleanup query definitions

* fix: add constraint

* chore: rename prop

* fix: add hook

* fix: address comments

* fix: temp sc filtering

* fix: use RQ to filter by SC

* fix: add sc to filter to list

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
This commit is contained in:
Frane Polić
2023-12-15 13:43:00 +01:00
committed by GitHub
parent 11b1a61969
commit 1d7888afca
24 changed files with 603 additions and 88 deletions

View File

@@ -572,7 +572,7 @@ describe("/admin/products", () => {
const response = await api
.post(
`/admin/products/${toUpdateWithSalesChannels}`,
`/admin/products/${toUpdateWithSalesChannels}?expand=sales_channels`,
payload,
adminHeaders
)
@@ -584,11 +584,10 @@ describe("/admin/products", () => {
expect(response?.data.product).toEqual(
expect.objectContaining({
id: toUpdateWithSalesChannels,
// TODO: Introduce this in the sale channel PR
// sales_channels: [
// expect.objectContaining({ id: "channel-2" }),
// expect.objectContaining({ id: "channel-3" }),
// ],
sales_channels: [
expect.objectContaining({ id: "channel-2" }),
expect.objectContaining({ id: "channel-3" }),
],
})
)
})