c0d74bc682
chore: Version Packages ( #5340 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-19 15:58:48 +02:00
aba9ded2a3
feat(workflows): update product workflow ( #4982 )
...
**What**
- added "update product" workflow
Co-authored-by: Riqwan Thamir <5105988+riqwan@users.noreply.github.com >
2023-10-19 12:02:40 +00:00
Sebastian Rindom and GitHub
66413d094e
feat: move create inventory to @medusajs/workflows ( #5301 )
...
**Why**
- We have some workflow-like flows in @medusajs/medusa. These should be moved over to the workflows package.
- Inventory Items <> Variant currently assume a 1-1 mapping. There should be support for a many-to-many mapping.
**What**
- PR introduces a feature flag for supporting many-to-many mappings for inventory and variants.
- Deletes legacy transaction handler in @medusajs/medusa.
- Adjusts existing createInventoryItems handler to remove dependency on variant data.
**Unkowns**
~~1. Couldn't find an existing test for the CreateProduct workflow. It should be tested that this still works as expected.~~
2. Have removed transaction managers as we should move to handling consistency through orchestration tooling. Are we ready for that?
2023-10-11 18:01:56 +00:00
dab8a82cc1
chore: Version Packages ( #5171 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-29 14:17:21 -04:00
Adrien de Peretti and GitHub
202049f8aa
fix(medusa, workflows): Create product workflow with Isolated modules + module registration ( #5081 )
...
* fix(medusa, workflows): Isolated modules
* Create polite-kangaroos-rhyme.md
* finalise
* naming
2023-09-21 17:10:14 +02:00
223a4a4cd9
chore: Version Packages ( #5002 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-15 17:09:34 +02:00
98b91d1137
chore: Version Packages ( #4891 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-08 14:09:39 +02:00
4d16acf5f0
feat(link-modules,modules-sdk, utils, types, products) - Remote Link and Link modules ( #4695 )
...
What:
- Definition of all Modules links
- `link-modules` package to manage the creation of all pre-defined link or custom ones
```typescript
import { initialize as iniInventory } from "@medusajs/inventory";
import { initialize as iniProduct } from "@medusajs/product";
import {
initialize as iniLinks,
runMigrations as migrateLinks
} from "@medusajs/link-modules";
await Promise.all([iniInventory(), iniProduct()]);
await migrateLinks(); // create tables based on previous loaded modules
await iniLinks(); // load link based on previous loaded modules
await iniLinks(undefined, [
{
serviceName: "product_custom_translation_service_link",
isLink: true,
databaseConfig: {
tableName: "product_transalations",
},
alias: [
{
name: "translations",
},
],
primaryKeys: ["id", "product_id", "translation_id"],
relationships: [
{
serviceName: Modules.PRODUCT,
primaryKey: "id",
foreignKey: "product_id",
alias: "product",
},
{
serviceName: "custom_translation_service",
primaryKey: "id",
foreignKey: "translation_id",
alias: "transalation",
deleteCascade: true,
},
],
extends: [
{
serviceName: Modules.PRODUCT,
relationship: {
serviceName: "product_custom_translation_service_link",
primaryKey: "product_id",
foreignKey: "id",
alias: "translations",
isList: true,
},
},
{
serviceName: "custom_translation_service",
relationship: {
serviceName: "product_custom_translation_service_link",
primaryKey: "product_id",
foreignKey: "id",
alias: "product_link",
},
},
],
},
]); // custom links
```
Remote Link
```typescript
import { RemoteLink, Modules } from "@medusajs/modules-sdk";
// [...] initialize modules and links
const remoteLink = new RemoteLink();
// upsert the relationship
await remoteLink.create({ // one (object) or many (array)
[Modules.PRODUCT]: {
variant_id: "var_abc",
},
[Modules.INVENTORY]: {
inventory_item_id: "iitem_abc",
},
data: { // optional additional fields
required_quantity: 5
}
});
// dismiss (doesn't cascade)
await remoteLink.dismiss({ // one (object) or many (array)
[Modules.PRODUCT]: {
variant_id: "var_abc",
},
[Modules.INVENTORY]: {
inventory_item_id: "iitem_abc",
},
});
// delete
await remoteLink.delete({
// every key is a module
[Modules.PRODUCT]: {
// every key is a linkable field
variant_id: "var_abc", // single or multiple values
},
});
// restore
await remoteLink.restore({
// every key is a module
[Modules.PRODUCT]: {
// every key is a linkable field
variant_id: "var_abc", // single or multiple values
},
});
```
Co-authored-by: Riqwan Thamir <5105988+riqwan@users.noreply.github.com >
2023-08-30 14:31:32 +00:00
db36258885
chore: Version Packages ( #4711 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-17 17:17:41 +02:00
Oli Juhl and GitHub
1d2637572b
chore: Remove rimraf from prepare ( #4741 )
2023-08-11 22:55:59 +02:00
Adrien de Peretti and GitHub
a268d2cb0b
feat(workflows): Data aggregation ( #4732 )
...
* apply the aggregator automatically
* add comment
* apply aggregate
* improve pipe aggregation
* improve test cases
* improvements
* clean tests
* renameing to merge
* fix merge apply
* move merge apply
* cleanup cart workflow and end point
* fixes and naming
2023-08-10 14:01:56 +02:00
Adrien de Peretti and GitHub
ac866ebb51
test(): Test the create product workflow compensation ( #4716 )
...
**What**
Integration tests to validate the workflow compensation.
Also, fix the transaction state when the workflow is compensating and some steps does not have any compensation
2023-08-09 14:33:04 +00:00
c0ca002901
feat(orchestration,workflows): pipe oncomplete and workflow preparation ( #4697 )
...
* chore: pipe onComplete and workflow preparation step
* changeset
* fix: tests
---------
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-08-08 13:06:47 +02:00
Riqwan Thamir and GitHub
281b0746cf
feat(medusa,workflows) Create cart workflow ( #4685 )
...
* chore: add baseline test for create cart
* chore: add basic paths into handlers + make first tests pass
* chore: move input alias to cart specific workflow
* chore: move data around into buckets
* chore: normalize handlers and introduce types
* chore: move aliases to handlers concern
* chore: add compensation step for create cart
* chore: merge with latest develop
* chore: handle error manually + type inputs
* chore: handle error manually
* chore: added types for each handler
* chore: remove addresses
* chore: added changset
* chore: undo package changes
* chore: added config settings to retreieve, cleanup of types
* chore: capitalize cart handlers
* chore: rename todo
* chore: add feature flag for workflow
* chore: reorder handlers
* chore: add logger to route handler
* chore: removed weird vscode moving around things
* chore: refactor handlers
* chore: refactor compensate step
* chore: changed poistion
* chore: aggregate config data
* chore: moved handlers to their own domain + pr review addressing
* chore: address pr reviews
* chore: move types to type package
* chore: update type to include config
* chore: remove error scoping
2023-08-08 12:10:27 +02:00
Riqwan Thamir and GitHub
a42c41e8ab
chore: scope errors on workflow to invoke ( #4709 )
...
what:
Scopes the errors from the exported workflow to return only invoke errors.
If an error occurs on the invoke level, it'll stop the invoke flow and begin the compensation flow. If another error shows up on the compensate level, it doesn't make sense to throw that error since the user won't be able to do anything about it.
2023-08-07 17:02:38 +00:00
Adrien de Peretti and GitHub
8ae31aff4b
feat(workflows):product handlers should be reusable in different context ( #4703 )
...
**What**
The listProducts handler should not be specific to the workflow.
Same for the product removal, shouldn't expect an entire DTO but just a collection of object that at least contains the id.
Same principle applied to other product handlers
2023-08-07 16:22:22 +00:00
0deecf353f
chore: Version Packages ( #4643 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-07 13:43:54 +02:00
Adrien de Peretti and GitHub
dc46927bc6
feat(medusa, types, utils, workflow): Migrate medusa workflow to the workflow package ( #4682 )
2023-08-05 16:03:45 +02:00
Adrien de Peretti and GitHub
43f34866c8
feat(workflows): Improve typings ( #4689 )
...
Just improve some typings for simpler usage
2023-08-04 08:11:44 +00:00
Adrien de Peretti and GitHub
8b67c676fa
feat(workflow): Add pipe tests ( #4675 )
...
* feat(workflow): Add pipe tests
* improve tests
2023-08-02 16:46:30 +02:00
Adrien de Peretti and GitHub
e78c47b66f
fix(workflows): Workflow types ( #4673 )
...
* fix(workflow): types and handlers
* add middleware pipe example
* Create nine-gorillas-collect.md
2023-08-02 13:50:06 +02:00
5a569c4a20
chore: Version Packages ( #4591 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-27 13:19:14 +02:00
Carlos R. L. Rodrigues and GitHub
f12299deb1
Feat: @medusajs/workflows ( #4553 )
...
feat: medusa workflows
2023-07-25 10:13:14 -03:00