Stevche Radevski
1956dce80a
feat: Update the product options model and refactor the product module ( #6685 )
...
The changes in this PR are:
1. Change how product options are created and stored. The relationship changed from
`options --> option values <-- variants`
to
`options --> option values --> variant options <-- variants`
Now we can enforce non-duplicate option values, easier creation and updates of options, and more.
2. Refactors the product module. The product module did a lot of things in a non-ideal approach, and this is a step towards a more consistent usage of the base repository and methods exposed by a module. There is still work left to improve the module, but a large chunk of the changes are included in this PR
Things to do as a follow-up:
1. Remove many-to-many relationships if an empty list is passed in the base repository.
2. Improve the typings of the module
3. Further cleanup and improvements (there are few questions that I need answered before I can improve the API)
2024-03-15 12:35:46 +00:00
Oli Juhl
db26dafa85
chore: Use module test runner in Carts API test suite ( #6679 )
...
Nothing but migrating to our new module test runner. Hopefully, that'll make the actual test PRs easier to digest.
2024-03-13 07:32:58 +00:00
Stevche Radevski
ff4bd62f71
feat: Implement missing methods in product module and make more tests pass ( #6650 )
...
The 2 bigger remaining tasks are:
1. handling prices for variants
2. Handling options (breaking change)
After that all tests should pass on both v1 and v2
2024-03-11 11:03:24 +00:00
Oli Juhl
296d7faad4
chore: V2 core loader + modules integration-tests ( #6544 )
2024-02-29 16:46:30 +01:00
Frane Polić
76332ca6c1
feat(medusa, link-modules): sales channel <> cart link ( #5459 )
...
* 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
* wip: cart<>sc link and migration
* chore: changeset
* fix: update migration with the cart table constraints
* feat: populate the pivot table
* chore: remove relation from joiner config
* fix: constraint name
* fix: filter out link relations when calling internal services
* 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: typeorm entity changes
* feat: pivot table, entity, on cart create changes
* feat: update carts' SC
* feat: cart - getValidatedSalesChannel with RQ
* feat: refactor
* wip: changes to create cart workflow
* fix: remove join table entity due to migrations failing
* fix: product seeder if FF is on
* feat: attach SC handler and test
* fix: env
* feat: workflow compensation, cart service retrieve with RQ
* fix: remote joiner implode map
* chore: update changesets
* fix: remove methods from SC service/repo
* feat: use remote link in handlers
* fix: remove SC service calls
* fix: link params
* fix: migration add constraint to make link upsert pass
* 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
* wip: migrate FF
* fix: comments
* feat: cart entity callbacks, fix tests
* fix: only create SC in test
* wip: services updates, changes to models
* chore: rename prop
* fix: add hook
* fix: address comments
* fix: temp sc filtering
* fix: use RQ to filter by SC
* fix: relations on retrieve
* feat: migration sync data, remove FF
* fix: revert order of queries
* fix: alter migration, relations in service
* fix: revert id
* fix: migrations
* fix: make expand work
* fix: remote link method call
* fix: try making tests work without id in the pivot table
* test: use remote link
* test: relations changes
* fix: preserve channel id column
* fix: seeder and factory
* fix: remove sales_channels from response
* feat: support feature flag arrays
* fix: cover everything with correct FF
* fix: remove verbose
* fix: unit and plugin tests
* chore: comments
* fix: reenable workflow handler, add comments, split cart create workflow tests
* chore: reenable link in the create mehod, update changesets
* fix: address feedback
* fix: revert migration
* fix: change the migration to follow link module
* fix: migration syntax
* fix: merge conflicts
* fix: typo
* feat: remove store sales channel foreign key
* fix: merge migrations
* fix: FF keys
* refactor: cart service
* refactor: FF missing key
* fix: comments
* fix: address PR comments
* fix: new changesets
* fix: revert flag router changes
* chore: refactor `isFeatureEnabled`
---------
Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com >
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2023-12-22 13:05:36 +01:00
Frane Polić
1d7888afca
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 >
2023-12-15 13:43:00 +01: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
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
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
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
Carlos R. L. Rodrigues
f12299deb1
Feat: @medusajs/workflows ( #4553 )
...
feat: medusa workflows
2023-07-25 10:13:14 -03:00
Adrien de Peretti
d2a8cf0378
feat(medusa): Continue create product workflow changes ( #4473 )
2023-07-24 13:30:24 +02:00
Adrien de Peretti
4d326fbbdf
chore: Move factories and helpers to a better place ( #4551 )
...
* chore: Move factories and helpers to a better place
* align factory product variant
* fix factory cart
* add simple store fac
* fix tests
* fix tests
* fix
* fix cart seeder
2023-07-20 13:16:04 +02:00