Carlos R. L. Rodrigues
302323916b
feat: Workflow engine modules ( #6128 )
2024-01-23 10:08:08 -03:00
Carlos R. L. Rodrigues
d85fee42ee
chore: use loaded module reference ( #5763 )
2024-01-23 08:31:02 -03:00
Carlos R. L. Rodrigues
19bbae61f8
fix(modules-sdk): create workflow returning step transformer ( #6102 )
2024-01-17 09:17:37 -03:00
Carlos R. L. Rodrigues
ffb0c7b4cd
feat(workflows-sdk): get name method ( #5714 )
2023-11-24 16:39:27 +00:00
Carlos R. L. Rodrigues
9f9db39698
feat(workflows): Workflow DX ( #5607 )
2023-11-22 17:23:39 +00:00
Carlos R. L. Rodrigues
130cbc1f43
feat(*): Modules export entities and fields ( #5242 )
2023-10-03 14:20:43 -07:00
Carlos R. L. Rodrigues
b3f1135fba
chore(medusa): link modules as medusa dependency ( #5208 )
2023-09-26 08:20:29 -04:00
Carlos R. L. Rodrigues
25dad081b7
fix(admin-ui): translation pt ( #5176 )
...
What:
Fix a couple of words in Portuguese
2023-09-21 18:16:22 +00:00
Carlos R. L. Rodrigues and Adrien de Peretti
47603f4797
fix(modules-sdk): medusa app load legacy modules ( #5115 )
...
* fix: default module path
* fix: allow legacy modules to be loaded by MedusaApp
* changeset
---------
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com >
2023-09-20 10:20:46 +02:00
Carlos R. L. Rodrigues
1e5a6d4359
fix(modules-sdk): medusa app default module ( #5114 )
2023-09-18 12:45:13 +00:00
Carlos R. L. Rodrigues
5362bfc348
feat(medusa): Drop FKs to isolate products ( #5042 )
...
What:
Remove FKs related to product domain tables
2023-09-13 12:05:37 +00:00
Carlos R. L. Rodrigues
05fcfd803e
Fix(medusa): duplicated migration ( #5029 )
...
Fix duplicated migration class name
2023-09-12 20:15:47 +00:00
Carlos R. L. Rodrigues
0953bdfe84
feat(orchestration): Remote Joiner field aliases ( #5013 )
...
* initial commit
* chore: unit tests and forward arguments
2023-09-12 08:43:25 +02: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
Carlos R. L. Rodrigues
4b0e3fb2a7
feat(medusa,orchestration): Decouple Product in Cart domain ( #4945 )
2023-09-08 17:24:46 +02: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
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
Carlos R. L. Rodrigues
d9c5e165cd
chore: pipeline node version ( #4896 )
2023-08-28 19:41:47 +00:00
Carlos R. L. Rodrigues
c53fa6cd3b
fix(utils,product): mikro orm connection loader ( #4825 )
...
Fix shared connection property check
2023-08-22 12:35:52 +00:00
c0ca002901
feat(orchestration,workflows): pipe oncomplete and workflow preparation ( #4697 )
...
* chore: pipe onComplete and workflow preparation step
* changeset
* fix: tests
---------
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-08-08 13:06:47 +02:00
Carlos R. L. Rodrigues
f12299deb1
Feat: @medusajs/workflows ( #4553 )
...
feat: medusa workflows
2023-07-25 10:13:14 -03:00
Carlos R. L. Rodrigues
f174bb6fa1
fix(modules-sdk): remote query get loaded modules ( #4596 )
2023-07-24 16:20:30 +00:00
Carlos R. L. Rodrigues
5a8a889c6d
feat(modules-sdk): Remote Query ( #4463 )
...
* feat: Remote Query
2023-07-19 15:35:36 -03:00
Carlos R. L. Rodrigues
43427b8893
Feat(medusa) - Orchestrator builder ( #4472 )
...
* chore: Trasanction Orchestrator builder
* Feat(medusa): Workflow Manager (#4506 )
2023-07-13 10:53:55 -03:00
Carlos R. L. Rodrigues
499c3478c9
feat: Remote Joiner ( #4098 )
2023-06-29 15:29:01 +02:00
Carlos R. L. Rodrigues
e73c3e51c9
feat(modules-sdk): Module as singleton instances ( #4065 )
2023-05-18 10:12:18 +02:00
Carlos R. L. Rodrigues
bd12a95083
chore: Initialize method for modules ( #3649 )
...
What:
- Export initialize methods for all modules to be used as a package.
- Export `runMigrations` and `revertMigration` on modules that DB migrations are available
```typescript
import {
initialize as initializeInventory,
InventoryServiceInitializeOptions,
runMigrations as runMigrationsInventory,
} from "@medusajs/inventory";
import { initialize as eventBusInitialize } from "@medusajs/event-bus-redis";
import { initialize as cacheInitialize } from "@medusajs/cache-redis";
const eventBus = await eventBusInitialize({
redisUrl: "localhost",
});
const cache = await cacheInitialize({
redisUrl: "localhost",
});
const options: InventoryServiceInitializeOptions = {
database: {
type: "postgres",
url: `postgres://postgres:@localhost/inventory`,
},
};
await runMigrationsInventory({
options,
});
const inventoryService = await initializeInventory(options, {
eventBusService: eventBus,
});
const sku = "sku_123"
const item = await service.createInventoryItem({
sku,
});
cache.set(sku, { item });
```
2023-03-31 12:09:04 +00:00
Carlos R. L. Rodrigues
0e8b3c8efb
fix stdio ( #3633 )
2023-03-29 19:19:18 +02:00
Carlos R. L. Rodrigues
55e94d0b45
fix(modules-sdk): check if dependency is registered ( #3620 )
...
* fix: check if dependency is registered
* changeset
2023-03-29 08:47:12 +02:00
Carlos R. L. Rodrigues
bca1f80dd5
chore(medusa, modules-sdk): default module error message ( #3605 )
...
* default module error message
* changeset
* unit test
2023-03-28 17:43:20 +02:00
Carlos R. L. Rodrigues
4e9d257d3b
Chore(medusa,utils,types,inventory,stock-location): remove core dependency modules ( #3531 )
2023-03-23 08:07:32 -03:00
Carlos R. L. Rodrigues
aa690beed7
feat(medusa): Modules initializer ( #3352 )
2023-03-17 12:18:52 -03:00
Carlos R. L. Rodrigues
2869763ea9
fix(medusa): EventBusService.emit using Redis mock ( #3491 )
...
* Fix eventBusService.emit using redis mock
* revert gitignore
* enqueuer
* unit test add redis_url
* fix test
2023-03-16 09:29:18 +01:00
Carlos R. L. Rodrigues
77d46220c2
Feat(modules-sdk,inventory,stock-location): modules isolated connection ( #3329 )
...
* feat: scoped container for modules
2023-03-15 12:09:45 -03:00
Carlos R. L. Rodrigues
54dcc1871c
feat(medusa,medusa-core-utils): graceful shutdown server ( #3408 )
...
* feat: graceful shutdown
2023-03-10 09:11:45 -03:00
Carlos R. L. Rodrigues
ad7f56506f
Feat(medusa,modules-sdk): Modules SDK package ( #3294 )
2023-02-23 13:09:35 -03:00
Carlos R. L. Rodrigues and Oliver Windall Juhl
80452332d8
fix(medusa): Default sales channel on product create ( #3249 )
...
What:
Assign the default sales channel if none is provided while creating a new product.
FIXES: CORE-1114
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-02-14 08:46:14 +00:00
Carlos R. L. Rodrigues
d859ccf551
Feat(medusa) - delete cascade modules associations ( #3190 )
...
* delete cascade sales channel x locations, variant x inventory item
2023-02-08 17:23:47 -03:00
Carlos R. L. Rodrigues
923ccece24
feat(medusa,stock-location,inventory): Integration tests ( #3149 )
2023-02-06 09:02:43 -03:00
Carlos R. L. Rodrigues
d50db84a33
Feat: TO variant creation ( #3097 )
2023-02-02 09:01:10 -03:00
Carlos R. L. Rodrigues
f776ed234f
feat(medusa): Run shared module migrations ( #3109 )
2023-02-01 08:10:59 -03:00
Carlos R. L. Rodrigues and Oliver Windall Juhl
2d525237b6
fix(stock-location): Stock location address required ( #3065 )
...
What:
- Removes the requirement to have an address id while creating a new stock location.
- Add field company to Location Address
FIXES: CORE-1018
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com >
2023-01-23 12:47:04 +00:00
Carlos R. L. Rodrigues and Sebastian Rindom
f65f590a27
feat: inventory items api ( #2971 )
...
What:
Admin endpoints to handle inventory items and their stock levels per location
FIXES: CORE-975
Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com >
2023-01-23 12:06:23 +00:00
Carlos R. L. Rodrigues
aa54d902e5
chore: added missing withTransacton, create-variant using TO ( #3047 )
...
Create variant integrated with Inventory modules
2023-01-18 09:29:06 -03:00
Carlos R. L. Rodrigues
0175388835
feat(medusa): Transaction Orchestrator ( #2861 )
...
* chore: transaction orchestrator
2023-01-16 20:16:41 -03:00
Carlos R. L. Rodrigues
f6ec05f3f9
feat(medusa): Validate module required properties ( #3029 )
2023-01-15 17:08:08 +01:00
Carlos R. L. Rodrigues
9dbccd9ca7
feat(medusa, stock-location, inventory): Allow modules to integrate with core ( #2997 )
...
* feat: module shared resources
2023-01-13 10:39:43 -03:00
Carlos R. L. Rodrigues
93ee248493
feat(medusa, inventory): Inventory Management module ( #2956 )
...
* feat: inventory module
2023-01-10 14:38:30 -03:00
Carlos R. L. Rodrigues
c07ffb6165
feat(medusa): Stock location module ( #2907 )
...
* feat: stock location module
2023-01-04 13:11:59 -03:00
Carlos R. L. Rodrigues
726858d847
chore: complete payment collection on order edit even if confirmed ( #2877 )
2022-12-22 13:07:41 -03:00
Carlos R. L. Rodrigues
8dcc805ccf
feat(medusa): Validate required id before retrieving ( #2738 )
2022-12-19 09:49:18 +01:00
Carlos R. L. Rodrigues
15c667fbd3
feat(medusa,medusa-react): PaymentCollection support ( #2659 )
...
* chore: medusa react, order edit complete fix and single payment session
2022-12-07 12:39:35 -03:00
Carlos R. L. Rodrigues
01a879ac94
chore: markAsAuthorized and payment collection tests ( #2620 )
...
* chore: markAsAuthorized and payment collection tests
2022-11-18 11:23:35 -03:00
Carlos R. L. Rodrigues
ccfc5f666d
feat(medusa-js): Add payment and payment collections clients ( #2608 )
2022-11-15 21:27:00 +01:00
Carlos R. L. Rodrigues
4baa2e0149
docs: payment and payment collection OAS ( #2604 )
2022-11-15 14:30:47 +00:00
Carlos R. L. Rodrigues
755ba90c05
feat(medusa): Payment Collection endpoints ( #2525 )
2022-11-11 18:28:45 +01:00
Carlos R. L. Rodrigues
c3f8297599
feat(medusa): manage payment sessions from payment collection ( #2402 )
...
* feat: manage payment sessions from payment collection
2022-11-02 13:34:29 -03:00
Carlos R. L. Rodrigues
b88cef2b1f
feat: Development server for core + plugins ( #2448 )
2022-10-21 15:53:06 +02:00
Carlos R. L. Rodrigues
d0f274dbe7
feat(medusa): PaymentCollectionService ( #2365 )
2022-10-07 09:37:10 +02:00
Carlos R. L. Rodrigues
e20f77ac66
feat: payment collection data model ( #2343 )
...
* feat: payment collection data model
2022-10-04 15:41:12 -03:00
Carlos R. L. Rodrigues
eb8034502b
chore: initial commit fix linting issues ( #2169 )
...
* chore: lint fixes
2022-09-21 12:19:03 -03:00
Carlos R. L. Rodrigues
a94d9816fe
chore: Centralise ESLint rules ( #2162 )
...
* chore: centrilize eslint rules
2022-09-13 07:42:33 -03:00
Carlos R. L. Rodrigues
846ae637e2
fix(medusa): Hot reloading on Windows ( #2105 )
2022-08-29 15:46:15 +02:00
Carlos R. L. Rodrigues
ffd6234356
chore(integration): throw errors on catch blocks ( #2091 )
...
Why:
Suppressing errors and not failing the execution will lead to misleading errors of the following tests.
Fixes CORE-461
2022-08-25 06:36:24 +00:00
Carlos R. L. Rodrigues
690ca9e89a
chore(integration-tests): Normalize DB config + use single process ( #2077 )
2022-08-24 12:29:53 +02:00