Commit Graph

5496 Commits

Author SHA1 Message Date
Shahed Nasser
bf1ed331be chore: improve description of findOrCreateCustomerStep (#12840) 2025-06-26 19:02:52 +03:00
Shahed Nasser
2983c7c3a5 chore: add missing types in TSDocs example (#12835) 2025-06-26 14:54:00 +03:00
Riqwan Thamir
9a62f359f1 fix(core-flows,workflows-sdk): compensate account holders only when its created (#12825)
* fix(core-flows,workflows-sdk): compensate account holders only when its created

* chore: remove only
2025-06-26 12:30:08 +02:00
Harminder Virk
10dff3e266 fix: do not apply prefix when getting file contents as buffer or stream (#12831)
* fix: do not apply prefix when getting file contents as buffer or stream

* Create spotty-mayflies-bathe.md
2025-06-26 13:58:17 +05:30
Shahed Nasser
94920c3f6d chore: add version and deprecated tags to import routes and methods (#12829) 2025-06-26 09:54:50 +03:00
github-actions[bot]
628e8d22ee chore: Version Packages (#12691)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-25 11:41:13 +02:00
Stevche Radevski
95c3f4933a fix: Add missing migration for payment statuses (#12821) 2025-06-25 11:28:33 +02:00
Riqwan Thamir
820a936b98 feat: add cookie options (#12720)
* feat: add cookie options

* feat: allow configuring hmr server port via the HMR_PORT env var

* support configuring HMR host and proto

* allow configuring the hmr client_port

* cleanup

* cleanup

---------

Co-authored-by: Harminder Virk <virk.officials@gmail.com>
Co-authored-by: Salvador Gironès <salvadorgirones@gmail.com>
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2025-06-25 11:18:28 +02:00
Adrien de Peretti
d517dbd66a feat(): Add support for jwt asymetric keys (#12813)
* feat(): Add support for jwt asymetric keys

* Create early-chefs-chew.md

* fix unit tests

* Add verify options support

* feedback

* fix unit tests
2025-06-25 10:29:32 +02:00
Adrien de Peretti
a833c3c98c fix(utils): build query withDeleted remove auto detection (#12788)
**What**
Currently, filtering data providing a `deleted_at` value will automatically apply the `withDeleted` flag which in turns remove the default constraint apply to all queries `deleted_at: null`. The problem is that it does not account for the value assign to `deleted_at` leading to inconsistent behaviour depending on the value. e.g filtering with `deleted_at: { $eq: null }` where the expectation is to only filter the non deleted record will end up returning deleted record as well by applying the `withDeleted` filters.

This pr revert this auto detection if favor of the user providing `withDeleted` explicitly, as it is already supported , plus the filters.

Further more, some integration tests demonstrate how to filter deleted records (e.g product) from the api. While the api did not properly support it, this pr adds support to pass with_deleted flags to the query and being handled accordingly to our api support. Validators have been updated and product list end point benefit from it. Also, the list config type was already accepting such value which I have translated to the remote query config.

Also, since the previous pr was adjusting the product types, I ve adjusted them to match the expectation
2025-06-25 07:51:37 +00:00
Frane Polić
9d61bb7e71 fix(dashboard): fix currency input locale formatting (#12812)
* fix: refund forms and format currency util

* fix: claim form

* fix: return form

* fix: exchange form
2025-06-25 09:23:49 +02:00
Ante Primorac
6ca755ede7 feat: Enable filtering admin products by variant EAN, UPC, and barcode (#12815)
* Add filters for variant ean, upc, and barcode in product queries and validators

* fix: Omit 'q' field from variants in product list and validation parameters

* Add tests for admin products filtering by variants ean, upc, and barcode

* Add changeset for filter admin products api by variant ean, upc, and barcode

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-25 09:17:01 +02:00
juanzgc
fbf33885f5 feat: Search by billing_address and shipping_address on Order model (#12814)
* feat: Search by billing_address and shipping_address on Order model

**What**
Added `.searchable()` method to the `shipping_address` and `billing_address` relationships in the `Order` model, enabling search functionality.

**Why**
Previously searching via `shipping_address` and `billing_address` was not supported, limiting the ability to find orders based on shipping or billing address information.

Resolves SUP-1838

* Update integration tests to include billing_address and non-existing addresses.
2025-06-25 09:16:40 +02:00
Carlos R. L. Rodrigues
ba1e6595b7 fix(payment): round curency precision (#12803) 2025-06-24 18:41:14 +02:00
Shahed Nasser
93cf79cb0f docs: add loyalty plugin routes to OAS (#12811)
* generated OAS

* remove unused schemas

* generated specs

* add cloud badge for routes

* add to loyalty plugin page

* allow clicking the tooltip
2025-06-24 19:17:55 +03:00
juanzgc
3826bde591 fix(medusa): Query Config update Order By filter (#12781)
**What**
Fixed a bug in the prepareListQuery function where nested field ordering was not properly building the expected nested object structure. The function was returning flat objects like { "employee.first_name": "ASC" } instead of the correct nested structure { "employee": { "first_name": "ASC" } }.

**Why**
The buildOrder function is designed to create nested objects from dot-notation field paths, which is essential for proper query building in the Medusa framework. When this functionality was broken, it prevented correct ordering of related fields and caused queries to fail or return unexpected results.

**How**
- Root cause: The `prepareListQuery` function was not properly utilizing the `buildOrder` utility function to transform dot-notation field paths into nested objects
- Before: order = "employee.first_name" → { "employee.first_name": "ASC" }
- After: order = "employee.first_name" → { "employee": { "first_name": "ASC" } }
- Added comprehensive tests: Created detailed unit tests for the prepareListQuery function focusing on buildOrder functionality, covering various scenarios including:
  - Simple ascending/descending order
  - Nested field ordering (e.g., product.title)
  - Deeply nested ordering (e.g., product.variants.prices.amount)
  - Multiple nesting levels (up to 5 levels deep)
- Added integration tests: Created integration tests in `product.spec.ts` to verify the full end-to-end functionality of nested ordering with variant titles

The fix ensures that the buildOrder function properly transforms dot-notation field paths into the expected nested object structure, enabling correct query building for related field ordering throughout the Medusa framework.

Resolves SUP-1868
2025-06-24 15:45:54 +00:00
Adrien de Peretti
316a325b63 fix(workflow-engine-*): Cleanup expired executions and reduce redis storage usage (#12795) 2025-06-24 13:32:10 +02:00
Stevche Radevski
c0807f5496 fix: Allow setting the status of a payment session when updating (#12809) 2025-06-24 13:15:10 +02:00
Stevche Radevski
b116f75fbf fix(payment): Return and set the correct status when a session is created with stripe (#12769) 2025-06-21 20:36:58 +02:00
Pedro Guzman
c2f91c8a8a Merge pull request #12735 from medusajs/fix/graph-query-operators-typing
fix: add operators to RemoteQueryFilters
2025-06-20 11:11:11 +02:00
Oli Juhl
1c987540aa fix(workflow-engine-redis): Ensure PK is set without errors (#12775)
* fix(workflow-engine-redis): Align naming of migration

* change approach
2025-06-19 20:19:01 +02:00
Shahed Nasser
502f90fb32 fix(dashboard): fix subtitle for tax inclusive fields in promotions (#12776)
* fix(dashboard): fix subtitle for tax inclusive fields in promotions

* Update packages/admin/dashboard/src/i18n/translations/en.json

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-19 14:15:59 +03:00
Shahed Nasser
7d09981440 chore: remove ignore tag for import function + update version tag (#12774) 2025-06-19 13:08:34 +03:00
Harminder Virk
94b62c6724 fix: initiate request container before other express middleware (#12761) 2025-06-19 07:23:15 +00:00
Frane Polić
52becfdb90 fix(dashboard,types): loyalty UI changes (#12764) 2025-06-18 20:38:36 +02:00
Stevche Radevski
a7a264b13c fix: Add missing partially funded event handler for Stripe (#12763) 2025-06-18 16:23:13 +02:00
Pedro Guzman
9043e534ce make operators deep 2025-06-18 15:37:26 +02:00
Pedro Guzman
ebe02a3836 simplify RemoteQueryFilterOperators 2025-06-18 13:31:56 +02:00
Stevche Radevski
5856963e0b feat: Normalize payment method data and options when passed to Stripe (#12757) 2025-06-18 09:23:42 +02:00
Adrien de Peretti
9bdd5429af fix(core, medusa-test-utils): Fix medusa test runner plugin modules loading (#12753) 2025-06-17 19:43:31 +02:00
Harminder Virk
00505b4f8e chore: upgrade to use glob 10 (#12754)
Glob 7 uses the `inflight` module, which leaks memory. Also, all other Medusa packages are using glob 10+. So upgraded the one used by the framework too.

Fixes: FRMW-2972
2025-06-17 12:52:27 +00:00
Frane Polić
7a8f639b38 fix(payment): add account holder methods to the manual provider (#12751) 2025-06-17 09:10:05 +02:00
Stevche Radevski
4e26e1ab3e chore: Remove source maps for icons (#12752) 2025-06-17 09:09:35 +02:00
Shahed Nasser
2e861a9449 fix(create-medusa-app): ensure the same package manager is used consistently (#12714)
* fix(create-medusa-app): ensure the same package manager is used consistently

* fix verbose not working as expected

* improvements

* remove legacy peer deps

* format
2025-06-16 14:07:35 +03:00
Pedro Guzman
6e8b7c6262 remove depth limitation from OperatorsOnlyFilters to make it compatible with BaseFilterable 2025-06-14 02:38:31 +02:00
Pedro Guzman
8443d37275 cast selector to RemoteQueryFilters 2025-06-14 02:09:50 +02:00
Pedro Guzman
2d87346bb2 fix: add operators to RemoteQueryFilters 2025-06-14 01:48:25 +02:00
Stevche Radevski
3ca02749c4 fix: Disable ensure database checks when establishing DB connection (#12734) 2025-06-13 16:45:49 +02:00
Oli Juhl
b79215dd5c fix(utils): Typecasting non-text fields in FTS (#12729) 2025-06-13 13:18:50 +02:00
Pedro Guzman
ebd4d70b6b Merge pull request #12684 from medusajs/pedro/keep-enum-values-in-types-generation
fix: keep enum values in types generation
fix: generate union types instead of enums
2025-06-13 13:15:56 +02:00
Stevche Radevski
bff5c00777 feat: Improve startup time by parallelizing module and link loading (#12731) 2025-06-13 13:11:19 +02:00
Pedro Guzman
8e3490d748 generate union types instead of enums 2025-06-13 12:23:58 +02:00
Pedro Guzman
4e9d2352f8 restore base schema in cleanAndMergeSchema in case modules define their own schemas 2025-06-13 12:23:58 +02:00
Pedro Guzman
827c49e87e fix graphql test 2025-06-13 12:23:58 +02:00
Pedro Guzman
66f27d5770 leave base medusa schema only in modules 2025-06-13 12:23:58 +02:00
Pedro Guzman
9e3b3667f8 fix joiner-config-builder test 2025-06-13 12:23:57 +02:00
Pedro Guzman
0fd0a0892b add full defaultMedusaSchema 2025-06-13 12:23:57 +02:00
Pedro Guzman
0409ef4886 add enumSchema directive to module graphQL schema 2025-06-13 12:23:57 +02:00
Pedro Guzman
c202c819e5 add enumValue directive to GraphQL schema 2025-06-13 12:23:57 +02:00
Pedro Guzman
6f09ca0800 fix: keep enum values in types generation 2025-06-13 12:23:56 +02:00