Adrien de Peretti
ddbeed4ea6
chore(workflows, core-flows): Split workflows tooling and definitions ( #5705 )
2023-11-24 13:55:48 +00:00
Riqwan Thamir
fc1ef29ed9
fix(medusa,pricing,types): rules only gets updated/deleted upon passing an explicit object ( #5711 )
2023-11-24 13:54:23 +00:00
Philip Korsholm
a39ce125cc
fix(product, types, workflows): Update product variant workflow ( #5668 )
...
**What**
- Fix issues with update-variant workflow:
- other variants than the updated variant are no longer removed
- options are updated properly
Co-authored-by: Riqwan Thamir <5105988+riqwan@users.noreply.github.com >
2023-11-23 14:35:01 +00:00
Adrien de Peretti
010560fd2a
fix(workflows): compensation handling ( #5691 )
2023-11-23 09:11:03 +00:00
Carlos R. L. Rodrigues
9f9db39698
feat(workflows): Workflow DX ( #5607 )
2023-11-22 17:23:39 +00:00
Philip Korsholm
dc5750dd66
feat(medusa,types,workflows,utils,product): PricingModule Integration of PriceLists into Core ( #5536 )
2023-11-21 17:42:37 +00:00
Riqwan Thamir
cedab58339
feat(workflows,medusa,utils): add medusa v2 feature flag ( #5603 )
...
* chore: add medusa v2 feature flag
* chore: cleanup more FF
* chore: cleanup workflows FF
* chore: add comments on broken specs
* chore: added check for package registration
* chore: reenable workflows FF for create order workflow
* chore: disable FF on test cli db
* chore: hide loader validation behind FF
* chore: use medusa v2 enabled
* chore: register feature flag router in use-db
* chore: change to minro
2023-11-13 16:18:05 +01:00
Adrien de Peretti
f88d75b0a7
feat(product, pricing, utils): Transaction issues and reference issues ( #5533 )
...
* feat(product, pricing, utils): Transaction issues and reference issues
* fixes decorators
* cleanup
* fix product module upsert
* fix missing active manager
* increase timeout
* revert package.json
* WIP
* try another node version based on findings with memory issues with jest introduced after 16.11 but fixed in 21
* re add bail
* fix variant options
* chore: bulk create pricing
* chore: workflow bulk
* Create big-chefs-dream.md
* fix missing update for upserty
* Add integration tests for product options upsert
* rm unnecessary return
* fix product prices workflow issue
* cleanup
* fix flag
* fix model
---------
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com >
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2023-11-06 12:24:29 +01:00
Adrien de Peretti
154c9b43bd
feat(medusa, modules-sdk, types, utils): Re work modules loading and remove legacy functions ( #5496 )
2023-11-02 17:59:13 +01:00
Adrien de Peretti
80fe362f33
fix(integration): setup ( #5511 )
...
* fix(integration): setup
2023-11-01 13:56:12 -04:00
Adrien de Peretti
d6372246ee
fix(integration): Product ordered by variants prices ( #5507 )
...
* fix(integration): Product ordered by variants prices
* set cache to 0 to prevent issues between tests
2023-10-31 16:20:55 +01:00
Riqwan Thamir
03c7a3949c
chore(integration-tests): skip create product workflow test ( #5504 )
2023-10-31 11:43:42 +00:00
Oli Juhl
65639cb8c1
fix(integration-tests): Add missing deps + timeout to repos test ( #5506 )
2023-10-31 12:18:55 +01:00
Philip Korsholm
9ff22110a6
fix(medusa): Add inventory decoration for cart endpoints ( #5187 )
...
**What**
- decorate item totals for `cart.item.variant` when adding a line-item and retrieving a cart
closes #5181
2023-10-31 09:55:30 +00:00
Philip Korsholm
e346be3eca
fix(integration-tests): Restore integration redis-url ( #5502 )
2023-10-31 09:04:03 +01:00
Adrien de Peretti
a780b92b8d
fix(medusa): Add admin get product tests ( #5480 )
2023-10-31 08:54:06 +01:00
Riqwan Thamir
399005cc58
fix: undo container pg connection destroy ( #5500 )
2023-10-31 08:02:19 +01:00
Philip Korsholm
4d52082bf0
feat(medusa): variant creation with prices in productservice.create ( #5410 )
2023-10-30 17:22:57 +01:00
Philip Korsholm
148f537b47
feat(medusa): integrate pricing module to core ( #5304 )
...
* add pricing integraiton feature flag
* init
* first endpoint
* cleanup
* remove console.logs
* refactor to util and implement across endpoints
* add changeset
* rename variables
* remove mistype
* feat(medusa): move price module integration to pricing service (#5322 )
* initial changes
* chore: make product service always internal for pricing module
* add notes
---------
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
* nit
* cleanup
* update to object querying
* update cart integration test
* remove uppercase currency_code
* nit
* Feat/admin product pricing module reads (#5354 )
* initial changes to list prices for admin
* working price module implementation of list prices
* nit
* variant pricing
* redo integration test changes
* cleanup
* cleanup
* fix unit tests
* [wip] Core <> Pricing - price updates (#5364 )
* chore: update medusa-app
* wip
* get links and modules working with migration
* wip
* chore: make test pass
* Feat/rule type utils (#5371 )
* initial rule type utils
* update migration script
* chore: cleanup
* ensure prices are always decorated
* chore: use seed instead
* chore: fix oas conflict
* region id add to admin price read!
---------
Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com >
Co-authored-by: Philip Korsholm <philip.korsholm@hotmail.com >
* pr feedback
* create remoteQueryFunction type
* fix merge
* fix loaders issue
* Feat(medusa, types, pricing): pricing module migration script (#5409 )
* add migration script for money amounts in pricing module
* add changeset
* rename file
* cleanup imports
* update changeset
* add check for pricing module and ff
* feat(medusa,workflows,types): update prices on product and variant update (#5412 )
* wip
* chore: update product prices through workflow
* chore: cleanup
* chore: update product handler updates prices for variants
* chore: handle reverts
* chore: address pr comments
* chore: scope workflow handlers to flag handlers
* chore: update return
* chore: update db url
* chore: remove migration
* chore: increase jest timeout
* Feat(medusa): update migration and initDb to run link-migrations (#5437 )
* initial
* loader update
* more progress on loaders
* update integration tests and remote-query loader
* remove helper
* migrate isolated modules
* fix test
* fix integration test
* update with pr feedback
* unregister medusa-app
* re-register medusaApp
* fix featureflag
* set timeout
* set timeout
* conditionally run link-module migrations
* pr feedback 1
* add driver options for db
* throw if link is not defined in migration script
* pass config module directly
* include container in migrate command
* chore: increase timeout
* rm redis from api integration tests to test
* chore: temporarily skip tests
* chore: undo skips + add timeout for workflow tests
* chore: increase timeout for order edits
* re-add redis
* include final resolution
* add sharedcontainer to medusaapp loader
* chore: move migration under run command
* try removing redis_url from api tests
* chore: cleanup server on process exit
* chore: clear container on exit
* chore: adjustments
* chore: remove consoles
* chore: close express app on finish
* chore: destroy pg connection on shutdown
* chore: skip
* chore: unskip test
* chore: cleanup container pg connection
* chore: skip
---------
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2023-10-30 14:42:17 +01:00
Frane Polić
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
pepijn-vanvlaanderen
0d7c5543dd
feat(medusa): Add item and shipping tax totals to order ( #5385 )
...
* Expose item tax total and shipping tax total in order totals
* Added changeset
* Fixes to tests
* Fixes to integration tests
* Fixes to integration tests
* Fixes to integration tests
* Change changeset to patch
2023-10-19 09:57:37 +02:00
Oli Juhl
9c362f7214
chore(integration-tests): Add jest timeout to workflow tests ( #5401 )
2023-10-18 08:45:50 +02:00
Sebastian Rindom
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
Sebastian Rindom
4ebcd3af6a
chore: adds test for inventory item creation as part of product creation ( #5312 )
...
* chore: adds test for inventory item creation as part of product creation
* chore: remove only
2023-10-09 14:24:11 -07:00
Philip Korsholm
90e24c593f
Fix/pricing update fixes ( #5275 )
...
* fix for merging line items and quantity prices
* add changeset
* fix draft order unit_price calculation
* update test to reflect only quantity change
* fix unit tests
* update conditional
2023-10-03 11:20:49 +02:00
Philip Korsholm
2b91049f58
fix(medusa): quantity prices for line item updates ( #5137 )
...
* initial code push
* update metadata and only merge if the existing line item allows merging
* update should_merge check
* undo changes to taxrate service
* update results with unit pricing corresponding to the db values after update
* add should_merge property to line_item creation
* add should_merge property to line_item creation
* fix unit tests
* undo adding "should_merge" to create-line-item
* undo change to "addOrUpdateLineItem"
* :wqh_merge from generate method
* undo changes to unit tests
* revert to adding pricing in updateLineItem method
* update cart service test
* Create funny-radios-juggle.md
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-28 14:26:58 +02:00
Adrien de Peretti
240c439beb
fix(medusa): Product model before insert hook ( #5200 )
...
**What**
When the id is provided, the rest of the hook should still apply. At the moment, when the id is provided the hook is skipped
2023-09-26 09:48:26 +00:00
David Preininger
2caff2efc7
feat(medusa): Authentication overhaul ( #4064 )
...
* implemented bearer auth
* changed naming strat
* changed session auth to not use jwt
* typo
* changed auth header prefix for admin api token auth
* fixed supporting functions to work with new session type
* removed database calls for bearer auth improving performance
* removed unused deps
* changed auth in tests
* added integration tests
* Accepted suggested change
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
* Typo
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
* more typos
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
* proper formatting
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
* removed endregion
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
* removed startregion
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
* fixed admin JWT integration test
* added more fixes to integration tests
* Update OAS
* Create fluffy-donkeys-hope.md
* created API reference for new auth
* implemented getToken in medusa-js
* Apply suggestions from code review
Co-authored-by: Shahed Nasser <shahednasser@gmail.com >
* Apply suggestions from code review
Co-authored-by: Shahed Nasser <shahednasser@gmail.com >
* deleted files which should be autogenerated
* Update fluffy-donkeys-hope.md
* JSDoc update
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
* added missing route exports
* implemented runtime domain safety in jwt token manager
* fixed jwt manager
* lint get-token files
* Update fluffy-donkeys-hope.md
* Revert "deleted files which should be autogenerated"
This reverts commit cd5e86623b822e6a6ac37322b952143ccc493df9.
* Revert "Apply suggestions from code review"
This reverts commit f02f07ce58fd9fcc2dfc80cadbb9df2665108d65.
* Revert "created API reference for new auth"
This reverts commit c9eafbb36453f5cf8047c79e94f470cb2d023c7d.
* renamed header for sending api access tokens
* medusa-js - changed apiKey header
---------
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
Co-authored-by: olivermrbl <oliver@mrbltech.com >
Co-authored-by: Shahed Nasser <shahednasser@gmail.com >
2023-09-25 13:57:44 -04:00
Oli Juhl
dc94f053d3
fix(medusa): Support fields param in list-variants ( #5053 )
...
* fix(medusa): Support fields param in list-variants
* Create cuddly-pigs-tease.md
* address pr comments
2023-09-15 09:08:04 +02:00
Philip Korsholm
5d10c46bb1
feat(medusa): Separate money amount and variant ( #4906 )
...
* initial changes
* working test
* final changes to product tests
* update integration tests
* update price list integration tests
* update integration tests
* update unit tests
* update plugin integration tests
* remove catch from integration test
* undo change
* add andWhere
* update upsertCurrencyMoneyAmount method
* undo line item changes
* undo changes
* update deprecated method
* Update packages/medusa/src/migrations/1692953518123-drop_money_amount_constraints_for_pricing_module.ts
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
* rename joinTable
* update with joinTable entity
* update load methods
* remove await create
* re-add context test
* update price list behavior for prices
* update price list snapshots
* re-add admin seeder
* pr feedback
* fix unit tests
* fix plugin integration tests
* initial review changes
* redo changes to variant creation
---------
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-13 13:26:20 +02:00
Geoffroy Empain
afd4e72cdf
feat(admin-ui): Multi-language support ( #4962 )
2023-09-12 14:53:48 +02:00
Philip Korsholm
2b078f06d9
fix(medusa): default sales channel for store variant endpoints ( #4556 )
...
* add changeset
* include default sales channel when querying variant endpoints
* make parameter optional
* update default values
* add integraiton tests
2023-09-11 14:05:47 +02:00
Carlos R. L. Rodrigues
4b0e3fb2a7
feat(medusa,orchestration): Decouple Product in Cart domain ( #4945 )
2023-09-08 17:24:46 +02:00
mortenengel
11fb523051
feat(medusa, admin-ui): Improve gift card application ( #4944 )
...
Fix for the problems identified in issue #4892
Bugfix: admin-ui order summary no longer uses gift card total from order when displaying how much has been withdrawn from each giftcard.
Bugfix(?): no longer keep applying gift cards (at 0 value) when sufficient balance has been reached
Feature: multiple giftcards are now applied in ordered fashion. First by end_date (supports null), then by remaining balance. In order to ensure that customers ends up with as long lasting and few remaining gift cards as possible after the transaction.
2023-09-07 16:56:36 +00:00
Josip Matić
bb5ea9d5ca
fix(medusa): Double tax issue on return refund amount ( #4899 )
...
Closes #4686
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-05 08:14:45 +00:00
Carlos R. L. Rodrigues
a4906d0ac0
chore(medusa,orchestration,link-modules,modules-sdk): internal services as modules ( #4925 )
2023-09-04 11:36:05 -03:00
Carlos R. L. Rodrigues
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
Riqwan Thamir
a1110b3438
fix(medusa): category_id and q params for list products endpoint ld work ( #4889 )
...
Looks like during an earlier refactor, some of the categories logic wasn't ported over to the handler that works with q params.
what:
- adds a fix that allows queries to be made on category_id when q param is passed.
Fixes https://github.com/medusajs/medusa/issues/4885
2023-08-28 11:46:55 +00:00
Sebastian Rindom
819d27e774
chore(tests): add integration test of canceling order with many items ( #4776 )
...
What
- Adds an integration test to check if canceling an order with many items succeeds.
Related to #4763
2023-08-25 09:00:47 +00:00
Carlos R. L. Rodrigues
c53fa6cd3b
fix(utils,product): mikro orm connection loader ( #4825 )
...
Fix shared connection property check
2023-08-22 12:35:52 +00:00
Sebastian Rindom
9d8f87b03b
fix(medusa): ignore region_id update w/o value change ( #4751 )
2023-08-13 09:26:32 +02:00
Adrien de Peretti
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
Oli Juhl
a2d7540e40
fix(medusa): Remove shipping on updates to cart.items ( #4715 )
...
* rm shipping on line item updates
* Add tests
* remove verbose flag
* Create real-items-rhyme.md
2023-08-08 14:53:47 +02:00
Riqwan Thamir
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
Oli Juhl
5c60aad177
feat(medusa, utils): Allow object feature flags ( #4701 )
...
Feature flags can be set as follows:
**Environment variables**
```
MEDUSA_FF_ANALYTICS=true
MEDUSA_FF_WORKFLOWS=createProducts,addShippingMethods
```
**Project config**
```
{
featureFlags: {
analytics: true,
workflows: {
createProducts: true,
addShippingMethods: true,
}
}
}
```
2023-08-07 09:38:25 +00:00
Adrien de Peretti
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
4b80ba8a35
fix(product, integration-tests): Fix integration tests ( #4674 )
...
* fix(product, integration-tests): Fix integration tests
* improve test
* Create dirty-eagles-shop.md
2023-08-02 13:44:53 +02:00
Adrien de Peretti
379c83933e
fix(module-sdk): Shared modules loading ( #4611 )
...
* WIP
* tests wording
* Create nasty-files-type.md
* cleanup
2023-07-27 12:53:31 +02:00
Adrien de Peretti
9129ca08a7
fix(medusa): Allowed properties expand ( #4600 )
...
What:
The expand allowed properties should allow all the segments whereas the allowed fields should be specific
2023-07-25 14:37:44 +00:00
Carlos R. L. Rodrigues
f12299deb1
Feat: @medusajs/workflows ( #4553 )
...
feat: medusa workflows
2023-07-25 10:13:14 -03:00