Commit Graph

6030 Commits

Author SHA1 Message Date
Sebastian Rindom d2cb9523e0 feat: add column introspection api (#13183)
This is part of a set of stacked PRs to add support for view configurations, which will allow users to customize the columns shown in admin tables.

The functionality in this PR is behind the view_configuration feature flag.

**What**
- Adds an API to introspect the remote query schema and extract columns that users can add to their table views.

**Notes**
- This is a brute forced approach to get the functionality in place and I expect it to evolve to something more elegant over time. Some ideas for things we might want to consider:
  - Compute the entity columns during build time and store as static data the API can serve quickly.
  - Offer developers more control over how their data can be exposed in this API with additional decorators in the DML.
2025-08-15 15:35:01 +00:00
Carlos R. L. Rodrigues 83d2ce762c chore(locking-redis): default ttl to acquire lock (#13221)
* chore(locking-redis): default ttl to acquire lock

* ttl only for the method execute
2025-08-15 11:44:24 -03:00
Carlos R. L. Rodrigues cbfe646ce1 chore(utils): round to zero credit lines (#13200) 2025-08-15 11:43:52 -03:00
Sebastian Rindom 12a38bcd2b feat(api): add view configuration API routes (#13177)
* feat: add view_configurations feature flag

  - Add feature flag provider and hooks to admin dashboard
  - Add backend API endpoint for feature flags
  - Create view_configurations feature flag (disabled by default)
  - Update order list table to use legacy version when flag is disabled
  - Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var

* fix: naming

* fix: feature flags unauthenticated

* fix: add test

* feat: add settings module

* fix: deps

* fix: cleanup

* fix: add more tetsts

* fix: rm changelog

* fix: deps

* fix: add settings module to default modules list

* feat(api): add view configuration API routes

- Add CRUD endpoints for view configurations
- Add active view configuration management endpoints
- Add feature flag middleware for view config routes
- Add comprehensive integration tests
- Add HTTP types for view configuration payloads and responses
- Support system defaults and user-specific configurations
- Enable setting views as active during create/update operations

* fix: test

* fix: test

* fix: test

* fix: change view configuration path

* fix: tests

* fix: remove manual settings module config from integration tests

* fix: container typing

* fix: workflows
2025-08-15 13:17:52 +02:00
Sebastian Rindom f7fc05307f feat: add settings module (#13175)
* feat: add view_configurations feature flag

  - Add feature flag provider and hooks to admin dashboard
  - Add backend API endpoint for feature flags
  - Create view_configurations feature flag (disabled by default)
  - Update order list table to use legacy version when flag is disabled
  - Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var

* fix: naming

* fix: feature flags unauthenticated

* fix: add test

* feat: add settings module

* fix: deps

* fix: cleanup

* fix: add more tetsts

* fix: rm changelog

* fix: deps

* fix: add settings module to default modules list

* fix: pr comments

* fix: deps,build

* fix: alias

* fix: tests

* fix: update snapshots
2025-08-15 10:59:54 +02:00
Sebastian Rindom ab795bb0a2 feat: view config feature flag (#13171)
* feat: add view_configurations feature flag

  - Add feature flag provider and hooks to admin dashboard
  - Add backend API endpoint for feature flags
  - Create view_configurations feature flag (disabled by default)
  - Update order list table to use legacy version when flag is disabled
  - Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var

* fix: naming

* fix: feature flags unauthenticated

* fix: add test
2025-08-15 08:56:40 +02:00
William Bouchard 4b3c43fe92 feat(dashboard, js-sdk): shipping option type mngmt dashboard (#13208)
* chore(types, api): support shipping option type api endpoints

* core flows

* api

* typos

* compiler errors

* integration tests

* remove metadata

* changeset

* modify test

* upsert

* change remote query

* minor to patch

* description optional

* chore(dashboard, js-sdk): shipping option type management on admin dashboard

* description optional

* woops my bad

* my bad again

* create and edit

* prettier

* build code from label

* remove metadata route

* remove some translation text that is not used

* remove unsued files

* changeset

* adapt test

* fix test

* suggestion

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-14 15:21:33 -04:00
Jan Biardzki 257e71f988 fix(core-flows): fix update tax lines to apply tax rule by product type (#13202)
* test(draft-order): add draft order creation test with tax application by product type

* fix: add `product_type.id` and `items.product_type_id` fields to order utilities

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-14 20:07:43 +02:00
William Bouchard 34c3c14e0a chore(types, api): support shipping option type api endpoints (#13191)
* chore(types, api): support shipping option type api endpoints

* core flows

* api

* typos

* compiler errors

* integration tests

* remove metadata

* changeset

* modify test

* upsert

* change remote query

* minor to patch

* description optional

* description optional

* woops my bad

* my bad again

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-14 10:15:51 -04:00
github-actions[bot] 01fa17d2ad chore: Version Packages (#13045)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-14 13:23:45 +02:00
Aditya Erlangga Wibowo ae12623ca6 fix(types): add option_id field to FilterableProductOptionValueProps (#13085)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-14 11:49:29 +02:00
Oli Juhl f4ae615a3e fix(tax): Use correct rule reference for shipping (#13195)
* fix(tax): Use correct rule reference

* fix tests
2025-08-13 21:06:19 +02:00
Carlos R. L. Rodrigues 356b2862d2 chore(core-flows): import zod (#13197) 2025-08-13 15:12:14 -03:00
William Bouchard f1da73cb58 fix(types): remove order_id in apis that do not handle it (#13185)
* fix(types): remove order_id in apis that do not handle it

* changeset

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-11 20:56:57 +02:00
Stevche Radevski 2c1fe4cfe4 fix: Allow getting the token from the SDK client (#13164) 2025-08-08 08:42:44 +02:00
Riqwan Thamir 224eaedf5c fix(dashboard,promotion): percentage promotions + set currency code on percentage promotions (#13161) 2025-08-07 13:07:41 +02:00
Carlos R. L. Rodrigues 9725bff25d fix(index): logical operators (#13137) 2025-08-07 07:34:50 -03:00
Carlos R. L. Rodrigues a52708769d chore(util): avoid promotion value precision limit (#13145) 2025-08-06 15:49:10 -03:00
Carlos R. L. Rodrigues b1cba9fdeb fix(workflow-engine-inmemory): fix cron job schedule (#13151) 2025-08-06 11:14:44 -03:00
William Bouchard b7083b9f0f fix(dashboard): variants disappearing when removing an option on product creation (#13150)
* fix(dashboard): variants disappearing when removing an option on product creation

* error border on option without values

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-06 08:53:04 -04:00
William Bouchard acf6bbc2ec chore(core-flows): throw error on invalid promo code (#13140)
* chore(core-flows): throw error on invalid promo code

* add changelog

* better error handling in test

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-08-05 09:01:41 -04:00
Mikkel Lindstrøm Hansen 93d7a93b28 Made in operator work as In insted of equal logic (#13078)
Changed the In operator to actually work like an In instead of being same logic as Equals. This means that in promotions you can add a rule to apply when a product is in a category or multiple different. Before the logic had to match all the products categories to apply, which doesnt really make sense when you have nested category structure on products. The logic also applies to tags where you can make a rule apply based on a tag before it also had to match all tags on a product to apply.

Issue:

https://github.com/medusajs/medusa/issues/12669

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-08-05 11:10:29 +00:00
Oli Juhl 02dd83f59a fix(pricing): Calculate prices with multiple rule values (#13079) 2025-08-05 13:04:55 +02:00
Frane Polić 0452eba20b chore(dashboard): add missing US states (#13094)
* chore(dashboard): add missing US states

* fix: add missing territiories
2025-08-03 19:17:12 +02:00
scherddel 51d4751d95 fix(utils): Fix on precision for high quantities for items when promotion is applied (#13131)
* Fix on precision for high quantities for items when promotion is applied

* Fix on precision for high quantities for items when promotion is applied
2025-08-03 19:16:16 +02:00
Shahed Nasser 57ad8fc755 chore: use since instead of version tag in TSDocs (#13126) 2025-08-01 17:52:52 +03:00
scherddel 9766570827 fix(types,utils,promotion): Move from total to original_total to resolve edge case for adjustments calculation (#13106)
* Move from total to original_total to resolve edge case in adjustment calculation

* Added changeset

* Added test case for correction

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-01 12:52:04 +02:00
Shahed Nasser db60ec5a1a chore: add links to package.json (#13100) 2025-08-01 10:59:47 +03:00
Shahed Nasser db0eb0f035 chore: fix example in createProductsWorkflow TSDocs (#13112) 2025-08-01 10:50:51 +03:00
tehaulp 881c8a4969 feat: added pacific franc currency (#13086) 2025-08-01 09:32:50 +02:00
Frane Polić 7814710610 chore(ui): sync Figma resources (#13088)
**What**
- sync latest Figma icons and ui presets
2025-08-01 06:54:38 +00:00
Carlos R. L. Rodrigues f6736d9661 fix(core-flows): refresh payment collection (#13103) 2025-07-31 09:06:20 -03:00
scherddel 1bdf602f1c This fixes the discount_ calculation logic and promotion tax inclusiveness calculation (#12960)
* This fixes the discount_ calculation logic

* This fixes the adjustment to be handled as a subtotal value in every calculation and applies the tax inclusive logic on the promotion value itself

* Added some testcases and revoked some changes to improve testing output

* Fixed a test case based on feedback

* Corrected promotion/admin test cases

* Corrected cart/store test case

* Improved cart/store test cases for more robust promotion testing considering tax inclusion flags

* Remove unnessary changes as adjustments now automatically are subtotals and therefore the tax inclusive flag does not need to be applied again

* Remove adjustments->is_tax_inclusive usage everywhere

* Migration script to remove is_tax_inclusive in cart line item adjustment

* Forgot to adjust one more testcase

* Corrections based on fPolic feedback

* Refactored PR to consider feedback from oliver

* Added more testcases for promotion in cart

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-31 13:27:43 +02:00
Riqwan Thamir 75320e744f fix(promotion): check currency when computing actions for promotions (#13084)
* fix(promotion): check currency when computing actions for promotions

* chore: fix tests

* chore: fix more specs
2025-07-31 11:41:07 +02:00
Jakub Bogucki 6e66e36d08 fix(core-flows): createCustomerGroupsStep, delete created customer groups (#13056)
* fix: createCustomerGroupsStep rollback delete created customer groups instead of customers

* Create serious-seahorses-switch.md

---------

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2025-07-27 15:04:22 +02:00
Oli Juhl 909fc4c127 fix(create-medusa-app): Don't allow dot in project name (#13042) 2025-07-25 17:44:06 +02:00
SteelRazor47 4da237f615 fix(dashboard): correct overflow in a few settings edit forms (#11982)
* add correct overflow to forms

* changeset

---------

Co-authored-by: SteelRazor47 <steelrazor47@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-25 13:37:05 +02:00
Frane Polić 9fb5baa912 fix(core-flows): guest customer updates email to another guest account (#13037)
* fix(core-flows); guest customer updates email to another guest account

* wip: refactor test

* fix: refactor step, add testing

* fix: update test

* fix: string assertion in a test
2025-07-25 12:49:06 +02:00
github-actions[bot] 137ea0883d chore: Version Packages (#12924)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-24 09:41:35 +02:00
Frane Polić 439c711845 fix(dashboard, product): product attributes update with a relation update (#13019)
* fix(dashboard, product): product attributes update with a relation update

* fix: rm log

* chore: refactor
2025-07-23 21:01:50 +02:00
Oli Juhl 468b81c2cb fix(modules-sdk): Entity types (#13002)
* fix(modules-sdk): Entity types

* Create forty-laws-wait.md
2025-07-22 19:48:35 +02:00
Ante Primorac 0db5bf6f8c fix(js-sdk): add missing admin order archive and complete methods (#12944)
* fix(js-sdk): add missing admin order archive and complete methods

* Create cuddly-rice-shave.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-22 19:14:07 +02:00
Carlos R. L. Rodrigues 1bd455bc7b fix(workflows-sdk): fix step name config used before default (#12926) 2025-07-22 09:53:24 -03:00
Trevor 74f86c95b1 chore: Expose Awilix resolution errors (#13008)
Co-authored-by: Trevor N. <trevor@pegasuscart.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-22 10:44:17 +02:00
Pedro Guzman 1f2cefa68e fix: fix script migrations order 2025-07-21 19:33:24 +02:00
Carlos R. L. Rodrigues 798ac0068e chore(payment): use generate schema (#13004)
Fixes: https://github.com/medusajs/medusa/issues/12959

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-21 11:52:47 +00:00
Riqwan Thamir 822217fa36 fix(pricing): fix pricing query when max_quantity is null (#12981)
what: 

Prices when max_quantity value is null is accounted for when quantity is passed in context.

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-21 06:34:58 +00:00
Frane Polić 3fa1db9dea fix(dashboard): allocation UI for orders with more than 20 reservation items (#12989) 2025-07-20 13:30:23 +00:00
Shahed Nasser 35bd9f0bc4 chore: add to TSDocs note about removing item from order edit (#12997) 2025-07-18 18:36:10 +03:00
Adrien de Peretti 7b1debfe12 fix(wfe): add missing state in inmemory notify on run finished (#12987) 2025-07-18 11:25:02 +02:00