Oli Juhl
01ee437926
chore(types,notification): Make template nullable on emails ( #13889 )
...
* chore: Make template nullable on emails
* Create curvy-lamps-float.md
2025-10-29 18:36:06 +01:00
Oli Juhl
1defb3c29b
chore: Inject sandbox handle in cloud config ( #13879 )
...
* chore: Inject sandbox handle in cloud config
* Create wet-seas-lie.md
* chore: rename medusaCloudOptions to cloud
* fix tests
2025-10-29 10:02:37 +01:00
Pedro Guzman
cc2614ded7
add Medusa Cloud Email provider ( #13781 )
...
* add Medusa Cloud Email provider
* move cloud config to project level
* add tests
* Create breezy-flowers-fly.md
* rename medusa_cloud_config to cloud
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2025-10-27 12:39:32 +01:00
Adrien de Peretti
12a96a7c70
chore(): Move peer deps into a single package and re export from framework ( #13439 )
...
* chore(): Move peer deps into a single package and re export from framework
* WIP
* update core packages
* update cli and deps
* update medusa
* update exports path
* remove analyze
* update modules deps
* finalise changes
* fix yarn
* fix import
* Refactor peer dependencies into a single package
Consolidate peer dependencies into one package and re-export from the framework.
* update changeset
* Update .changeset/brown-cows-sleep.md
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
* rm deps
* fix deps
* increase timeout
* upgrade version
* update versions
* update versions
* fixes
* update lock
* fix missing import
* fix missing import
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2025-09-22 18:36:22 +02:00
Adrien de Peretti
e8822f3e69
chore(): Module Internal Events ( #13296 )
...
* chore(): Ensure the product module emits all necessary events
* chore(): Ensure the product module emits all necessary events
* Update events tests
* more events and fixes
* more tests and category fixes
* more tests and category fixes
* Add todo
* update updateProduct_ event emitting and adjust test
* Adjust update products implementation to rely on already computed events
* rm unnecessary update variants events
* Fix formatting in changeset for product events
* refactor: Manage event emitting automatically (WIP)
* refactor: Manage event emitting automatically (WIP)
* chore(api-key): Add missing emit events and refactoring
* chore(cart): Add missing emit events and refactoring
* chore(customer): Add missing emit events and refactoring
* chore(fufillment, utils): Add missing emit events and refactoring
* chore(fufillment, utils): Add missing emit events and refactoring
* chore(inventory): Add missing emit events and refactoring
* chore(notification): Add missing emit events and refactoring
* chore(utils): Remove medusa service event handling legacy
* chore(product): Add missing emit events and refactoring
* chore(order): Add missing emit events and refactoring
* chore(payment): Add missing emit events and refactoring
* chore(pricing, util): Add missing emit events and refactoring, fix internal service upsertWithReplace event dispatching
* chore(promotions): Add missing emit events and refactoring
* chore(region): Add missing emit events and refactoring
* chore(sales-channel): Add missing emit events and refactoring
* chore(settings): Add missing emit events and refactoring
* chore(stock-location): Add missing emit events and refactoring
* chore(store): Add missing emit events and refactoring
* chore(taxes): Add missing emit events and refactoring
* chore(user): Add missing emit events and refactoring
* fix unit tests
* rm changeset for regeneration
* Create changeset for Medusa.js patch updates
Add a changeset for patch updates to multiple Medusa.js modules.
* rm unused product event builders
* address feedback
* remove old changeset
* fix event action for token generated
* fix user module events
* fix import
* fix promotion events
* add new module integration tests shard
* fix medusa service
* revert shard
* fix event action
* fix pipeline
* fix pipeline
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2025-09-10 14:37:38 +02: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
Harminder Virk
016e332e9b
feat: make AbstractModuleService create method type-safe ( #11216 )
2025-02-03 21:25:01 +05:30
Adrien de Peretti
da3906efa4
fix: Unique constraint should account for soft deleted records ( #11048 )
...
FIXES FRMW-2878
**What**
Currently, the `one-to-one` unique constraints does not account for deleted record. This prevents from inserting a new record wth the same fk if another one is deleted.
**Caveat**
`hasOne` with FK option is meant to be a special case, for example a many to one - one to many without defining the other side of the relation. In that case we don't handle this behaviour and keep it as it is
2025-01-22 07:42:06 +00:00
Adrien de Peretti
c490e08142
fix(modules): Fix miss leading provider resolution error ( #10900 )
...
FIXES SUP-560
**What**
Currently, no matter the error when looking for a provider to exists in the container we are throwing a normalized error stating that the provider does not exists in the container. The issue is that the first initialization of the provider occurs the first time we resolve it, and the error can be that the provider failed to be instanciated for any reason.
In this pr, we are explicitly checking for the error to be an awilix resolution error to throw the classic error and otherwise we provide the issue why the provider failed to be resolved.
2025-01-10 01:16:33 +00:00
Oli Juhl
9133957a94
fix(notification): Only use enabled providers for notis ( #10659 )
2024-12-18 13:59:12 +01:00
Adrien de Peretti
7aa990795c
chore(): Update module provider retrieval error message and type ( #10138 )
...
Partially RESOLVES FRMW-2802
**What**
Improve error message and change the error type when retrieving a provider from a local container fail
2024-11-19 11:19:19 +00:00
Harminder Virk
ad322f2760
breaking: remove deprecated commands and code ( #9521 )
...
* breaking: remove deprecated commands
* feat: remove deprecated code and usages
* refactor: remove more logic around default relations
* fix tests
* remove log
* fix: remove defaultFields usage
* fix: add back accidentally removed code
* refactor: implement feedback
* feat: add --cluster flag to the start command
* refactor: assign limit to defaultLimit property
* fix: breaking code because of removed check
---------
Co-authored-by: adrien2p <adrien.deperetti@gmail.com >
2024-10-14 20:11:34 +05:30
Harminder Virk
48e00169d2
breaking: move shared HTTP utils to the framework ( #9402 )
...
Fixes: FRMW-2728, FRMW-2729
After this PR gets merged the following middleware will be exported from the `@medusajs/framework/http` import path.
- applyParamsAsFilters
- clearFiltersByKey
- applyDefaultFilters
- setContext
- getQueryConfig
- httpCompression
- maybeApplyLinkFilter
- refetchEntities
- unlessPath
- validateBody
- validateQuery
Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com >
2024-10-03 09:42:00 +00:00
Adrien de Peretti
e096feb7d5
chore: Update modules deps ( #9286 )
2024-09-26 11:14:35 +05:30
Adrien de Peretti
90d530565b
chore(): Remove default limit from the build query ( #9257 )
...
* chore(): Remove default limit from the build query
* rm take: null
* fix tests
* fix tests
* fix db usage
* fix typo
* rm unsused template arg
* fixes
* fixes
* fixes
* fixes
* fixes
* fixes
* fixes
2024-09-24 16:06:45 +02:00
Adrien de Peretti
a734184538
chore(): Handle medusa service base methods events ( #9179 )
...
* chore(): Handle medusa service base methods events
* cleanup
* cleanup
* fix import
* fix decorator order
* fixes
* apply default event emition
* fix binding
* fix binding
* align tests with new event emition
2024-09-18 17:57:00 +02:00
Adrien de Peretti
81d3ae01c7
chore: Cleanup manager decorator usage ( #9181 )
2024-09-18 14:16:20 +02:00
Adrien de Peretti
99461e24ab
feat(notification): Handle long running transaction and add status support ( #8900 )
...
RESOLVES FRMW-2110
RESOLVES FRMW-2095
**What**
- Fix notification module to not retain transactions open while sending notification
- Add support for notification status [success, pending, failure]
2024-09-01 08:01:47 +00:00
Oli Juhl
bda3f68057
fix(notification): Properly disable notification providers ( #8607 )
2024-08-15 14:59:14 +02:00
Stevche Radevski
0d2e7befbd
feat: Add support for exporting products in backend ( #8214 )
...
CLOSES CC-221
CLOSES CC-223
CLOSES CC-224
2024-07-22 13:40:04 +00:00
Stevche Radevski
56f2ddc4b6
feat: Add notification endpoints for admin ( #8196 )
2024-07-19 22:00:53 +02:00
Adrien de Peretti
b368251ca3
chore: Migrate modules to use the Module util ( #7964 )
...
**What**
Apply the `Module` util to each module to handle the export and provide the linkable configuration object.
- Most joiner config that does not have any special config are removed/cleaned up in favor of the autogenerated one or simpler one
- linkable are now available in all modules
- cleaned up the dependencies of the modules
FIXES CORE-2410
2024-07-05 13:00:40 +00:00
Riqwan Thamir
276c8b925f
chore: fix notification loader error ( #7969 )
2024-07-05 12:05:18 +02:00
Stevche Radevski
012a624ee4
feat: Flatten the provider config for all modules ( #7930 )
2024-07-03 16:57:12 +02:00
Adrien de Peretti
617a5972bf
feat: refactor module joiner config and links generation ( #7859 )
...
* feat: refactor module joiner config and links generation
* improve typings
* WIP
* WIP
* WIP
* rename type file
* create link config
* finish typings and add utils
* improve links
* WIP typings
* finalize ExportModule utils
* finalize ExportModule utils
* fix: dml tests
* improve and fixes
* simplify typings with id changes
* add toJSON
* multiple fixes and entity builder fixes
* fix currency searchable
* fix tests
* medusa service refactoring
* cleanup
* cleanup and fixes
* make module name optional
* renaming
---------
Co-authored-by: Harminder Virk <virk.officials@gmail.com >
2024-07-03 13:12:49 +02:00
Harminder Virk
074e4a888e
Mark keys as primary with explicit method call ( #7900 )
2024-07-02 13:27:21 +05:30
Stevche Radevski
9daec5d7ac
chore: Migrate notification module to DML ( #7835 )
2024-07-01 09:17:32 +00:00
Adrien de Peretti
937a632eb6
chore: make module loaders DML aware and auto generate joiner config ( #7781 )
...
* chore: make module loaders DML aware and auto generate joiner config
* fixes and cleanup
* improve dml entity check
* add unit tests on load resources
* cleanup deps
* cleanup deps
* cleanup Modules
* finalise
* fix modules-sdk jest
* fix modules-sdk jest
* fix import
* fix import
2024-06-20 18:18:07 +02:00
Adrien de Peretti
48963f55ef
Chore/rm main entity concept ( #7709 )
...
**What**
Update the `MedusaService` class, factory and types to remove the concept of main modules. The idea being that all method will be explicitly named and suffixes to represent the object you are trying to manipulate.
This pr also includes various fixes in different modules
Co-authored-by: Stevche Radevski <4820812+sradevski@users.noreply.github.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2024-06-19 13:02:16 +00:00
Adrien de Peretti
d2a5201eeb
chore: Refactor and improve abstract module service factory ( #7688 )
...
* chore: Refactor and improve abstract module service factory
* align naming
* clean up some template args and tests
* partially migrate modules
* partially migrate modules
* migrate more modules
* migrate last modules
* fix typings
* rename interface
* rename interface
* fixes
* fixes
* rm local plain tests
2024-06-13 13:12:37 +02:00
Adrien de Peretti
b8bc3ed16f
chore: Start cleaning up medusa-core-utils ( #7450 )
...
**What**
- remove medusa-core-utils
- dispatch the utils where they belongs
- update usage
**NOTE**
I have been wondering if the graceful class should go into the utils package or medusa package, I ve put it in the medusa package as it seems to be the best place I can see for now and is tight to the server as well. Also, I wanted to avoid the utils package to depends on http and net dependencies, happy to change that if you feel like it
2024-05-27 08:00:15 +00:00
Adrien de Peretti
63623422fe
chore(): Autoload module resources ( #7291 )
...
**What**
- automatically build and consume connection and container loader if not exported by the module
- therefore load the services and repositories automatically, including baseRepository
- automatically build run and revert migrations if not provided
- cleaup modules to remove extra unnecessary bits and pieces
- remove the `initializeFactory` in favor of using `medusaApp`
Should drastically improve the module building DX by removing a lot of boilerplate to handle by the user, that plus the base entity should simplify quite a lot the flow cc @shahednasser
**Note**
I had to choose a way to identify connection and container loader from the exported loader from the module. I decided to go with named function `connectionLoader` and `containerLoader`, also, now the factories will return named function so if the user use the factories we are providing to build those loaders, the function will also be named and identified
2024-05-13 12:12:36 +00:00
Stevche Radevski
144e09e852
feat: Add the basic implementation of notification module ( #7282 )
...
* feat: Add the basic implementation of notification module
* fix: Minor fixes and introduction of idempotency key
* fix: Changes based on PR review
2024-05-10 11:22:03 +02:00