Riqwan Thamir
3d68be2b6b
fix(orchestration,link-modules,pricing,types): fix shippingprofile errror outside of core + change link alias name ( #5025 )
...
* fix(orchestration,link-modules,pricing,types): fix shippingprofile error outside of core + change link alias name
* chore: scope relationships and move condition inside
* chore: remove islist
* chore: fix merge conflict
* chore: reverted serviceName scoping
* chore: change shape to make methodOverride compatible
* chore: added methodOverride to remote query
* chore: revert override
2023-09-13 12:16:00 +02:00
Adrien de Peretti
7231f65833
feat(medusa): Prevent default SC to be assign if the isolated product flag is enabled ( #5037 )
...
* feat(medusa): Prevent default SC to be assign if the isolated product flag is enabled
* Create breezy-fans-accept.md
2023-09-13 10:36:55 +02:00
Oli Juhl
d4432dd183
feat(admin-ui): Add display name + pull supported languages from config ( #5028 )
2023-09-13 09:45:26 +02:00
Carlos R. L. Rodrigues
05fcfd803e
Fix(medusa): duplicated migration ( #5029 )
...
Fix duplicated migration class name
2023-09-12 20:15:47 +00: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
Geoffroy Empain
afd4e72cdf
feat(admin-ui): Multi-language support ( #4962 )
2023-09-12 14:53:48 +02:00
Adrien de Peretti
107aaa371c
fix(orchestration): Infinite loop by reference update ( #5023 )
...
* fix(orchestration): Infinite loop by reference update
* fix
* handle conflict alias config
* rm field alias
* Create wet-gorillas-laugh.md
2023-09-12 13:24:35 +02:00
Riqwan Thamir
834da5c41a
feat(pricing, types): PriceSets as entry point to pricing module ( #4978 )
...
What:
- Adds PriceSet, PriceSetMoneyAmount, updates schema
- Adds service/repo for PriceSet
- Shifts entry point to use PriceSet
- Updates link/joiner config
RESOLVES CORE-1495
2023-09-11 17:24:31 +00:00
Riqwan Thamir
d3ebb42cb8
fix(link-modules): fix link configuration for product shipping profile ( #5014 )
2023-09-11 14:36:45 +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
Juan Pablo Orsay and Oli Juhl
87e3a7d06a
fix(admin-ui): disabling analytics when opted out ( #4939 )
...
* fixes #4423 by either using the `useAnalytics` hook or using an ErrorBoundary specific instance
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-11 12:40:15 +02:00
Adrien de Peretti
6273b4b160
feat(utils, module-sdk, medusa): Extract pg connection utils to utils package ( #4961 )
2023-09-11 12:10:40 +02:00
Adrien de Peretti
a87d07655b
fix(link-modules): Fix link module initialization ( #4990 )
...
**What**
Add a new configuration on the relationship to specify if the relation is consumed from an internal service (from medusa core). In that case do not check if the service is part of the loaded modules
2023-09-11 08:49:23 +00:00
Carlos R. L. Rodrigues
d8649bacaa
chore(modules-sdk,orchestration): to remote joiner query ( #4974 )
...
Helper function to transform js/json object into RemoteJoinerQuery format.
```typescript
toRemoteJoinerQuery({
product: {
fields: ["id", "title"],
__args: {
skip: 0,
},
variants: {
fields: ["id", "title", "handle", "sku"],
shipping_profile: {
profile: {
fields: ["id", "name"],
},
},
},
collections: {
fields: ["id", "title"],
},
},
})
```
outputs:
```
{
alias: "product",
fields: ["id", "title"],
expands: [
{
property: "product.variants",
fields: ["id", "title", "handle", "sku"],
},
{
property: "product.variants.shipping_profile",
},
{
property: "product.variants.shipping_profile.profile",
fields: ["id", "name"],
},
{
property: "product.collections",
fields: ["id", "title"],
},
],
args: [
{
name: "skip",
value: 0,
},
],
};
```
2023-09-10 13:26:50 +00:00
github-actions[bot] and github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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
Shahed Nasser
240b038006
feat(create-medusa-app): add install Next.js storefront option ( #4968 )
...
* feat(create-medusa-app): add install Next.js storefront option
* added config for yes option
* added more instructions to exit message
* handle duplicate directories and next errors
* use next.js branch
* add line break in storefront question
* pass next.js directory name as env variable
* change question message
* address PR feedback
* fix(medusa-cli): remove .git directory in `new` command
* fix deleting a directory error
2023-09-08 12:17:48 +02:00
olivermrbl
aecae5705d
chore(changesets): Change minor bump to patch
2023-09-07 20:17:46 +02:00
olivermrbl
9f16c90f99
chore(changesets): Change minor bump to patch
2023-09-07 17:33:09 +02:00
Josip Matić and Oli Juhl
c7b149a7bc
feat(medusa-fulfillment-webshipper): Create webshipper return order ( #4846 )
...
Adds option to create a webshipper return order if return_portal is defined through webshipper options. Return order allows additional features in webshipper, such as marking the return as "Arrived" or "Processed" which enables us to create a webhook and automatically mark return as received in medusa.
Note:
Return portal is a "required" relationship in webshipper when doing a return order POST request, hence it should be defined in options prior to using this feature.
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-09-07 10:21:03 +00:00
olivermrbl
09d97fd05e
chore(changesets): Add changeset minor-bumping @medusajs/product
2023-09-07 10:41:20 +02:00
Riqwan Thamir
c3dba06948
fix(modules-sdk, orchestration): add missing dependencies + fix default handling in medusa-app & remote query ( #4930 )
2023-09-07 07:53:46 +00:00
Riqwan Thamir and Oli Juhl
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
Adrien de Peretti
b71776738c
feat(medusa): Event bus db failure handling ( #4963 )
...
* feat(medusa): Event bus db failure handling
* naming
* Create olive-years-heal.md
2023-09-06 17:07:29 +02:00
Shahed Nasser
9781089ca3
chore(oas): Update OAS for upload endpoints ( #4953 )
...
* chore(oas): Update OAS for upload endpoints
* added changeset
* address pr feedback
2023-09-06 17:39:19 +03:00
Kasper Fabricius Kristensen
545022145b
fix(admin): Export RouteProps and SettingProps ( #4950 )
...
* fix: export SettingProps and RouteProps from admin package
* add changeset
2023-09-05 19:22:52 +02:00
Josip Matić and Oli Juhl
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
Oli Juhl
17d91c276a
feat(medusa): Add AbstractFulfillmentService ( #4922 )
...
* feat(medusa): Add abstract fulfillment service
* add data types
* add loaders
* Create nine-glasses-allow.md
* address pr comments
2023-09-03 20:05:36 +02:00
zulianrizki and zulian-coconutlab
c348263fdb
fix(medusa-payment-stripe): api endpoint for getStripePayments ( #4928 )
...
fixes https://github.com/medusajs/medusa/issues/4927
Co-authored-by: zulian-coconutlab <73976574+zulian-coconutlab@users.noreply.github.com >
2023-09-01 10:38:03 +00:00
fcb6b4f510
feat(pricing, utils, types): adds money amount to pricing module ( #4909 )
...
What:
- Adds money amount service / repo / model
- Adds money amount to entry service
- Adds tests for services
- Refreshes schema
- Update joiner config to include money amounts
RESOLVES CORE-1478
RESOLVES CORE-1479
Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com >
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
2023-08-31 13:03:10 +00:00
Frane Polić
4bf8acbdd4
fix(medusa): csv parser check match prop on column ( #4913 )
...
**What**
- if there is the `match` column with regex defined in the schema don't look up column definition by name
2023-08-31 09:38:52 +00: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 and Riqwan Thamir
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
Riqwan Thamir
460161a69f
feat(pricing, types, utils, medusa-sdk): Pricing Module Setup + Currency ( #4860 )
...
What:
- Setups the skeleton for pricing module
- Creates service/model/repository for currency model
- Setups types
- Setups DB
- Moved some utils to a common place
RESOLVES CORE-1477
RESOLVES CORE-1476
2023-08-29 21:58:34 +00:00
Rares Stefan
470379e631
fix(medusa, admin-ui): Add deleted_at to Return Reason unique constraint ( #4834 )
...
* Update return reason create to upsert
* Create strange-wombats-invite.md
* Revert upsert, make value index only apply on non-deleted entities
2023-08-29 19:26:58 +02:00
Lacey Pevey and Oli Juhl
046b0dcfa5
chore(medusa-file-s3): Add cache-control option + update to sdk v3 ( #4884 )
...
* add cache-control option, fix delete function, update to sdk v3
* Create cool-pears-trade.md
* reformat throw line, remove dev comment
* remove console.log debugging statement
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-08-29 19:25:17 +02:00
4d439bed38
fix(medusa): Make event enqueuer reconnect the database when it lost the connection ( #4855 )
...
* Try to periodically reconnect database from enqueuer
* Create great-months-train.md
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com >
2023-08-29 13:03:11 +02:00
Frane Polić
b7de679e9b
feat(admin-ui): batch job completed notification ( #4886 )
2023-08-28 20:21:42 +02:00
Frane Polić and Oli Juhl
50798d1189
fix(admin-ui): currency input exception ( #4888 )
...
* fix: infer cell formatting
* chore: changeset
* Update friendly-months-attack.md
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-08-28 16:58:34 +02:00
Riqwan Thamir
a1110b3438
fix(medusa): category_id and q params for list products endpoint ld work ( #4889 )
...
Looks like during an earlier refactor, some of the categories logic wasn't ported over to the handler that works with q params.
what:
- adds a fix that allows queries to be made on category_id when q param is passed.
Fixes https://github.com/medusajs/medusa/issues/4885
2023-08-28 11:46:55 +00:00
github-actions[bot] and github-actions[bot] <github-actions[bot]@users.noreply.github.com>
81904762b0
chore: Version Packages ( #4867 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-25 16:49:02 +02:00
olivermrbl
e91bd9e1c1
chore(changesets): Minor bump file plugins
2023-08-25 16:36:54 +02:00
github-actions[bot] and github-actions[bot] <github-actions[bot]@users.noreply.github.com>
362abdfad7
chore: Version Packages ( #4826 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-25 16:15:33 +02:00
Frane Polić
0c7c2eeeab
feat(admin-ui): refresh products when a BatchJob is completed ( #4840 )
2023-08-25 07:34:48 +00:00
Rares Stefan
f4bf9ee169
fix(admin-ui): Fix variant creation when no stock locations provided ( #4843 )
...
* Update check on variant creation, whether to create stock locations
* Create spicy-shoes-type.md
2023-08-24 08:51:12 +02:00
Rares Stefan
57e199ef52
fix(admin-ui): Fix sign out in admin panel not redirecting correctly ( #4837 )
2023-08-23 21:54:45 +02:00
Frane Polić
8b860416d2
feat(medusa): PriceListImportStrategy descriptive errors ( #4842 )
2023-08-23 21:39:34 +02:00
Shahed Nasser
c58588904c
fix(medusa-telemetry): added missing babel dependencies ( #4817 )
2023-08-23 14:26:06 +02:00
Frane Polić
d8a6e3e0d8
feat(medusa-file-local): implement missing streaming methods ( #4788 )
2023-08-23 13:05:04 +02:00
olivermrbl
8a43a6bc1d
chore: Bump @medusajs/utils + @medusajs/product
2023-08-22 15:46:59 +02:00