**What**
- add ProductCategories to import and export strategies
- refactor ProductCategoriesService methods to use "retrieve_" pattern
---
RESOLVES CORE-1275
## What
Fix typing on ShippingOptionService.list selector parameter
## Why
A backend server interfacing with the `ShippingOptionService.list()` method will throw TS error when attempting to pass selector values that should be valid.
## Steps to reproduce
* In a IDE that can display TS errors
* Create an instance of the ShippingOptionService
* Call the `list()` method on the instance with the following selector parameter: `{ region_id: "foobar" }`
* Expect: No TS error
* Actual: `TS2345: Argument of type '{ region_id: string; }' is not assignable to parameter of type 'Selector<ShippingMethod>'.`
## How
* Change the `selector` type to `Selector<ShippingOption>`
**What**
In case the idempotency key is not found, an error will be thrown. We actually want to catch this error and create the key if it does not exists
* fix(search): add missing default product relations
Add missing default product relations for events calling SearchService.addDocuments
For the following events: `ProductService.Events.UPDATED, ProductVariantService.Events.CREATED, ProductVariantService.Events.UPDATED]`,
`SearchService.addDocuments` will fail due to `product` missing its `variants` relations.
The issue can be observed with the Algolia plugin where `reduce` is being attempted on `product.variants`.
https://github.com/medusajs/medusa/blob/develop/packages/medusa-plugin-algolia/src/utils/transformer.ts#L14
Implement the same retrieve pattern as `handleProductCreation` method.
* chore(changeset): patch
---------
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
* fix(medusa, event-bus-redis, event-bus-local): Revert retrieveSubscribers as the wildcard prevent us from filtering
* Create calm-eggs-collect.md
---------
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
**What**
- refactor availability invocations to only do one call to the inventory module
@adrien2p would love to run through some tests of this with you and get your take on approach
* docs: added cart conceptual guide
* changed link of idempotency key
* apply suggestions from code review
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
* tiny change
* Used correct entity name representation
* small fixes in totals section
---------
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
* fix(medusa): Bulk create variant and pass transaction where needed
* Create fair-penguins-stare.md
* fix unit tests
* event
* transaction orchestration
* revert options
* Prevent isolated module to use the given transaction if any in the exposed service
* Use enum
* remove changeset to re do it
* Create thick-ants-tickle.md
* update event bus local
* remove changeset to re do it
* Create thick-kings-wonder.md
* remove changeset to re do it
* Create slimy-bees-eat.md
* Update packages/utils/src/event-bus/index.ts
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
---------
Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>