Frane Polić
fe007d01bd
feat(medusa, link-modules): sales channel <> order link ( #5810 )
2024-01-03 14:07:54 +01:00
Adrien de Peretti
278b7fb203
fix(medusa): Update cart sales channel should not remove all line items ( #5980 )
2024-01-03 14:06:07 +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
cyf0e
b5a07cfcf4
fix(medusa): add payments default relation to getTotalsRelations ( #5875 )
...
* bugfix: Add payments relation to getTotalsRelations
* update order test to expect correct paid_total and refundable_amount
2023-12-22 08:13:39 +01:00
Philip Korsholm
c1c470e6b8
fix(medusa, pricing, types): pass dates as Date-objects rather than strings to the pricing module ( #5768 )
...
* init
* remove date string validator;
* add transformOptionalDate transformer to api
* move type conversion to the datalayer
* fix final module integration test
* update arrow-function
* make string optional
* move work to utils
* make check for value exists
* move util back to pricng
* change utils
* refactor get-iso-string
* fix build
* flip transform condition
* add null check for isDate
* feat(pricing): Separate Pricing Module internal types from `@medusajs/types` (#5777 )
* create types for pricing repositories
* create RepositoryTypes input
* add service types
* use models for repository types
* fix build
* update types to match interface types
* add aliases
* types instead of moduletypes
* move repository to types for pricing module
* add changeset
* fix merge error
* fix conflict
* fix build
* re-add validation of dates in updatePriceLists_
2023-12-21 08:29:41 +01:00
Adrien de Peretti
9cc787cac4
feat(workflows-sdk): Configurable retries upon step creation ( #5728 )
...
**What**
- Allow to create step that can be configured to have a max retry
- Step end retry mechanism on permanent failure
Also added an API to override a step configuration from within the createWorkflow
```ts
const step = createStep({ name: "step", maxRetries: 3 }, async (_, context) => {
return new StepResponse({ output: "output" })
})
const workflow = createWorkflow("workflow", function () {
const res = step().config({ maxRetries: 5 }) // This will override the original maxRetries of 3
})
```
**NOTE**
We can maybe find another name than config on the step workflow data to override the step config.
2023-12-19 09:38:27 +00: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
56b07ed0cf
feat(medusa): Update shipping option price type ( #5895 )
...
**What**
- allow updates to shipping option price type
- Clean up the use of strings in the api validation
Fixes #5824
2023-12-15 10:12:43 +00:00
Riqwan Thamir
2d79eeeecc
feat(medusa): add currency to region responses ( #5857 )
...
Resolves https://github.com/medusajs/medusa/issues/5837
2023-12-14 15:52:54 +00:00
Riqwan Thamir
07107f3565
feat(orchestration,core-flows,medusa,product,types,utils): product import/export uses workflows ( #5811 )
2023-12-12 12:09:25 +00:00
Riqwan Thamir
079f0da83f
feat(core-flows,pricing,medusa,pricing,types,utils): Price List Prices can have their own rules ( #5752 )
...
**What**
- Add price-rules for prices in price-lists
- make rules object optional when creating prices
**Why**
- more price granularity
Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com >
2023-12-12 08:20:21 +00:00
Adrien de Peretti
6975eacb33
feat(medusa): Improve add line item to cart perf and transaction management + clustering start command ( #5701 )
2023-12-06 08:53:35 +01:00
Oli Juhl
428331a653
feat(medusa): Respond with order when cart is already completed ( #5766 )
2023-12-01 09:17:12 +01:00
Philip Korsholm
e4bfa6c88a
fix(medusa): throw proper error when product doesn't exist w/ key header ( #5745 )
...
**What**
- ensure that an error is raised properly if the requested product doesn't exist and a publishable-key header is set
**Why**
- previously endpoints would hang if the product didn't exist and requests would time out
closes #5724
2023-11-28 10:24:50 +00:00
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