Adrien de Peretti
130c641e5c
chore: Abstract module services ( #6087 )
...
**What**
Create a service abstraction for the modules internal service layer. The objective is to reduce the effort of building new modules when the logic is the same or otherwise allow to override the default behavior.
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2024-01-18 09:20:08 +00:00
Adrien de Peretti
72bc52231c
chore(utils): Update base repository to infer primary keys and support composite ( #6062 )
2024-01-14 17:13:25 +01:00
Adrien de Peretti
b6ac768698
chore: abstract the modules repository ( #6035 )
...
**What**
Reduce the work effort to create repositories when building new modules by abstracting the most common cases into the base class default implementation returned by a factory
- [x] Migrate all modules
Co-authored-by: Riqwan Thamir <5105988+riqwan@users.noreply.github.com >
2024-01-10 13:12:02 +00:00
Adrien de Peretti
a9b4214503
chore(utils, product): Attempt to simplify module scripts export ( #6021 )
2024-01-09 20:20:05 +01:00
github-actions[bot]
47272bf2b9
chore: Version Packages ( #5880 )
2024-01-09 18:41:35 +01:00
Philip Korsholm
d16d10619d
Feat(medusa-test-utils, utils, pricing, product, link-modules): upgrade mikro orm version to latest ( #5985 )
...
* update mikro-orm version
* add changeset
* update product tests
* add optional number serializer util
* upgrade cart mikro-orm versions
* clean up test
2024-01-02 17:11:55 +01:00
github-actions[bot]
7f5e638f61
chore: Version Packages ( #5754 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-14 15:27:39 +01: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
Adrien de Peretti
85cda7ce37
feat(medusa, core-workflows, product): slightly improve create cart workflow ( #5725 )
2023-12-07 17:05:23 +01:00
Adrien de Peretti
946db51a9b
chore(): Add engines to all package.json if needed ( #5812 )
2023-12-07 17:03:50 +01:00
Adrien de Peretti
8f25ed8a10
feat(link-modules, pricing, product, utils): Custom database config in shared mode ( #5755 )
...
* feat(link-modules, pricing, product, utils): Should be able to set some custom database config even in shared mode
* Create wet-hounds-retire.md
2023-11-29 08:19:28 +00:00
github-actions[bot]
935e9f0561
chore: Version Packages ( #5673 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-27 16:43:51 +00:00
Philip Korsholm
de8f748674
fix(link-modules, utils): remove limits on queries when primary-key is provided ( #5732 )
2023-11-27 15:42:25 +00:00
Philip Korsholm
18afe0b9ad
Fix(medusa, inventory, stock-location, types, utils): Modules sdk build query ( #5713 )
...
* remove defaults
* take 2
* works now
* add changeset
* pricing module and pricing service list take null updates
* update handlers
* update product module service with take:null where relevant
* no spread
* note to self:default offset should be 0, not 15
2023-11-27 10:17:42 +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
Philip Korsholm
dc5750dd66
feat(medusa,types,workflows,utils,product): PricingModule Integration of PriceLists into Core ( #5536 )
2023-11-21 17:42:37 +00:00
github-actions[bot]
f4085dbede
chore: Version Packages ( #5622 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-21 08:46:09 +00:00
Riqwan Thamir
c4722715cd
fix(product): when running migrations, prevent exploding on isolated case ( #5643 )
...
* fix(product): when running migrations, prevent exploding on isolated case
* chore: remove try catch block
* chore: added variant test fixes
* chore: update name of var
2023-11-20 18:08:28 +01:00
github-actions[bot]
71d59d2c81
chore: Version Packages ( #5527 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-10 10:28:21 +01:00
Adrien de Peretti
f90ba02087
feat(utils): Introduce promiseAll util ( #5543 )
2023-11-08 08:48:48 +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
github-actions[bot]
309c82e175
chore: Version Packages ( #5454 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-01 08:19:58 +01:00
Adrien de Peretti
a45da9215d
fix(medusa, modules-sdk, modules): Module loading missing dependencies + remote query reference issue ( #5468 )
2023-10-26 20:24:38 +02:00
github-actions[bot]
c0d74bc682
chore: Version Packages ( #5340 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-19 15:58:48 +02: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
Riqwan Thamir
453297f525
chore: fix interfaces for product module ( #5387 )
...
Some changes based on @shahednasser's PR - https://github.com/medusajs/medusa/pull/5341
2023-10-18 13:38:12 +00:00
github-actions[bot]
35d5fbe8cc
chore: Version Packages ( #5272 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-06 08:41:24 -07:00
Carlos R. L. Rodrigues
130cbc1f43
feat(*): Modules export entities and fields ( #5242 )
2023-10-03 14:20:43 -07:00
github-actions[bot]
223a4a4cd9
chore: Version Packages ( #5002 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-15 17:09:34 +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
Adrien de Peretti
30863fee52
feat(medusa): List products with Remote Query ( #4969 )
...
**What**
- includes some type fixes in the DAL layer
- List products including their prices and filtered by the sales channel as well as q parameter and category scope and all other filters
- Assign shipping profile
- ordering
- Add missing columns in the product module
- update product module migrations
**Comment**
- In regards to the fields, we can pass whatever we want the module will only return the one that exists (default behavior), but on the other hand, that is not possible for the relations.
**question**
- To simplify usage, should we expose the fields/relations available from the module to simplify building a query for the user and be aware of what the module provides
**todo**
- Add back the support for the user to ask for fields/relations
2023-09-12 15:55:05 +00:00
github-actions[bot]
98b91d1137
chore: Version Packages ( #4891 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-08 14:09:39 +02:00
Riqwan Thamir
66bd9a835c
feat(products,types,pricing): allow scoping products by collection_id + pricing by currency_code ( #4965 )
...
* chore: allow scoping products by collection_id
* chore: scope money amounts by currency code + change category_ids to category_id
* chore: add an extra product to test without collection
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-07 09:06:50 +02:00
Riqwan Thamir
87bade096e
fix(utils, product, pricing, link-modules): add missing dependencies for utils + fix migration path issue ( #4915 )
...
* fix: add missing dependencies for utils
* chore: migration path is set from the calling package
* chore: update changeset
2023-08-31 09:16:02 +02:00
Carlos R. L. Rodrigues
4d16acf5f0
feat(link-modules,modules-sdk, utils, types, products) - Remote Link and Link modules ( #4695 )
...
What:
- Definition of all Modules links
- `link-modules` package to manage the creation of all pre-defined link or custom ones
```typescript
import { initialize as iniInventory } from "@medusajs/inventory";
import { initialize as iniProduct } from "@medusajs/product";
import {
initialize as iniLinks,
runMigrations as migrateLinks
} from "@medusajs/link-modules";
await Promise.all([iniInventory(), iniProduct()]);
await migrateLinks(); // create tables based on previous loaded modules
await iniLinks(); // load link based on previous loaded modules
await iniLinks(undefined, [
{
serviceName: "product_custom_translation_service_link",
isLink: true,
databaseConfig: {
tableName: "product_transalations",
},
alias: [
{
name: "translations",
},
],
primaryKeys: ["id", "product_id", "translation_id"],
relationships: [
{
serviceName: Modules.PRODUCT,
primaryKey: "id",
foreignKey: "product_id",
alias: "product",
},
{
serviceName: "custom_translation_service",
primaryKey: "id",
foreignKey: "translation_id",
alias: "transalation",
deleteCascade: true,
},
],
extends: [
{
serviceName: Modules.PRODUCT,
relationship: {
serviceName: "product_custom_translation_service_link",
primaryKey: "product_id",
foreignKey: "id",
alias: "translations",
isList: true,
},
},
{
serviceName: "custom_translation_service",
relationship: {
serviceName: "product_custom_translation_service_link",
primaryKey: "product_id",
foreignKey: "id",
alias: "product_link",
},
},
],
},
]); // custom links
```
Remote Link
```typescript
import { RemoteLink, Modules } from "@medusajs/modules-sdk";
// [...] initialize modules and links
const remoteLink = new RemoteLink();
// upsert the relationship
await remoteLink.create({ // one (object) or many (array)
[Modules.PRODUCT]: {
variant_id: "var_abc",
},
[Modules.INVENTORY]: {
inventory_item_id: "iitem_abc",
},
data: { // optional additional fields
required_quantity: 5
}
});
// dismiss (doesn't cascade)
await remoteLink.dismiss({ // one (object) or many (array)
[Modules.PRODUCT]: {
variant_id: "var_abc",
},
[Modules.INVENTORY]: {
inventory_item_id: "iitem_abc",
},
});
// delete
await remoteLink.delete({
// every key is a module
[Modules.PRODUCT]: {
// every key is a linkable field
variant_id: "var_abc", // single or multiple values
},
});
// restore
await remoteLink.restore({
// every key is a module
[Modules.PRODUCT]: {
// every key is a linkable field
variant_id: "var_abc", // single or multiple values
},
});
```
Co-authored-by: Riqwan Thamir <5105988+riqwan@users.noreply.github.com >
2023-08-30 14:31:32 +00:00
olivermrbl
8a43a6bc1d
chore: Bump @medusajs/utils + @medusajs/product
2023-08-22 15:46:59 +02:00
github-actions[bot]
db36258885
chore: Version Packages ( #4711 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-17 17:17:41 +02:00
Oli Juhl
1d2637572b
chore: Remove rimraf from prepare ( #4741 )
2023-08-11 22:55:59 +02:00
Oli Juhl
9469063f64
fix(medusa-js): return type of collection hook + export ( #4747 )
2023-08-11 13:37:54 +02:00
Adrien de Peretti
f8d3d5f91a
chore(product): remove decorator where it is not necessary and cleanup ( #4731 )
...
* chore(product): remove decorator where it is not necessary and cleanup
* Create twenty-gorillas-exist.md
2023-08-10 09:57:32 +02:00
Adrien de Peretti
3f3a84262c
feat(types, product, utils, medusa): Include shared connection for modules ( #4626 )
2023-08-08 15:10:34 +00:00
github-actions[bot]
0deecf353f
chore: Version Packages ( #4643 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-07 13:43:54 +02:00
Adrien de Peretti
dc46927bc6
feat(medusa, types, utils, workflow): Migrate medusa workflow to the workflow package ( #4682 )
2023-08-05 16:03:45 +02:00
Riqwan Thamir
1260b1a806
chore: fix module test ( #4693 )
2023-08-04 14:38:07 +02:00
Riqwan Thamir
8af55aed87
feat(product, types, modules-sdk): added event bus events for products ( #4654 )
...
what:
- adds an eventbus dependency to product module.
- emits events on product, category and collection CUD
RESOLVES CORE-1450
2023-08-04 09:26:02 +00:00
Adrien de Peretti
ce3326c5fb
feat(prduct, utils, types): Create soft delete pattern for link module ( #4649 )
...
* feat(prouct, utils, types): Create soft delete pattern for link module
* add comment
* add comment
* finalise
* remove linkable keys
* cleanup and tests
* cleanup
* add some comments and renaming
* re work
* fix tests
---------
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2023-08-02 19:29:01 +02:00
Adrien de Peretti
4b80ba8a35
fix(product, integration-tests): Fix integration tests ( #4674 )
...
* fix(product, integration-tests): Fix integration tests
* improve test
* Create dirty-eagles-shop.md
2023-08-02 13:44:53 +02:00
Adrien de Peretti
4073b73130
feat(product): Move mikro orm utils to the utils package ( #4631 )
...
Move utils to the utils package as much as possible
Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com >
2023-07-31 11:30:43 +00:00
Riqwan Thamir
107ae23a3f
fix(utils, types, medusa-plugin-meilisearch, medusa-plugin-algolia): move SoftDeletableFilterKey, variantKeys, indexTypes from types to utils ( #4623 )
...
* chore: move SoftDeletableKey from types to utils
* chore: move variantkeys, indextypes
2023-07-27 16:42:26 +02:00