Commit Graph
100 Commits
Author SHA1 Message Date
Carlos R. L. RodriguesandGitHub 5c6c28545c chore(modules-sdk): db migration concurrency as envvar (#13965)
## Summary

**What** — What changes are introduced in this PR?

*Please provide answer here*

**Why** — Why are these changes relevant or necessary?  

*Please provide answer here*

**How** — How have these changes been implemented?

*Please provide answer here*

**Testing** — How have these changes been tested, or how can the reviewer test the feature?

*Please provide answer here*

---

## Examples

Provide examples or code snippets that demonstrate how this feature works, or how it can be used in practice.  
This helps with documentation and ensures maintainers can quickly understand and verify the change.

```ts
// Example usage
```

---

## Checklist

Please ensure the following before requesting a review:

- [ ] I have added a **changeset** for this PR
    - Every non-breaking change should be marked as a **patch**
    - To add a changeset, run `yarn changeset` and follow the prompts
- [ ] The changes are covered by relevant **tests**
- [ ] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable

---

## Additional Context

Add any additional context, related issues, or references that might help the reviewer understand this PR.
2025-11-05 11:08:02 +00:00
Carlos R. L. RodriguesandGitHub 990691e78a chore(medusa): do not use transaction id on cart operations (#13931) 2025-10-31 15:09:35 -03:00
Carlos R. L. RodriguesandGitHub 13d7d15be5 chore(modules-sdk): parallel migrations (#13898) 2025-10-31 11:05:53 -03:00
Carlos R. L. RodriguesandGitHub c9701c70da fix(utils): db migration big number default value (#13913)
## Summary

**What** — What changes are introduced in this PR?

Generate db migrations with big number default values

**Why** — Why are these changes relevant or necessary?  



**How** — How have these changes been implemented?



**Testing** — How have these changes been tested, or how can the reviewer test the feature?



---

## Examples

Provide examples or code snippets that demonstrate how this feature works, or how it can be used in practice.  
This helps with documentation and ensures maintainers can quickly understand and verify the change.

```ts
// Example usage
```

---

## Checklist

Please ensure the following before requesting a review:

- [x] I have added a **changeset** for this PR
    - Every non-breaking change should be marked as a **patch**
    - To add a changeset, run `yarn changeset` and follow the prompts
- [x] The changes are covered by relevant **tests**
- [x] I have verified the code works as intended locally
- [ ] I have linked the related issue(s) if applicable

---

## Additional Context

Add any additional context, related issues, or references that might help the reviewer understand this PR.
2025-10-30 15:37:17 +00:00
Carlos R. L. RodriguesandGitHub 9d8ed70130 feat(cli): servers and workers in cluster mode (#13601)
* feat(cli): servers and workers in cluster mode

* allow percentage
2025-09-28 10:06:18 +02:00
Carlos R. L. RodriguesandGitHub 3960c80e9f fix(medusa): start cluster (#13599) 2025-09-25 16:07:22 -03:00
Carlos R. L. RodriguesandGitHub 1b57e5c58a fix(core-flows): skip locking by default on subworkflows (#13594) 2025-09-25 09:39:14 -03:00
Carlos R. L. RodriguesandGitHub 68a643bb3a fix(workflow-engine-redis): use worker connection (#13561)
What:
 * Regular redis connection does not have `maxRetriesPerRequest: null`, and the worker connection hangs.
2025-09-22 04:59:59 +00:00
Carlos R. L. RodriguesandGitHub 9563ee446f fix(utils,core-flows): subtotal calculation and returns location (#13497)
* fix(utils,core-flows): subtotal calculation and returns location

* changeset

* fix test

* var

* rm extra field from test

* fix original total

* fix partial refunds and pending difference

* fix test

* fix test

* test

* extract to util

* original total and update payment when receive return

* original_subtotal

* default fields

* test

* calculate pending difference

* revert claims test

* pending difference

* creadit line fix

* if
2025-09-18 17:50:40 +02:00
Carlos R. L. RodriguesandGitHub b776fd55dc chore(core-flows): lock on cart operations (#13424)
What:
 - acquire a lock before cart mutations to avoid concurrent changes, e.g applying promotions.
2025-09-08 18:05:09 +00:00
Carlos R. L. RodriguesandGitHub 71d8a0031f fix(index): index enum fields (#13428)
https://github.com/medusajs/medusa/issues/13372

What:
 - It handles enum fields corretly when added to filterable fields
2025-09-07 13:39:58 +00:00
Carlos R. L. RodriguesandGitHub bd571aca82 chore(orchestration): remote joiner query planner (#13364)
What:
 - Added query planning to the Remote Joiner, enabling phased and parallel execution of data aggregation.
- Replaced object deletes with non-enumerable property hiding to improve performance.
2025-09-04 14:18:02 +00:00
b4c0f131b7 chore(framework,medusa): load custom flags before medusa config (#13312)
* chore(framework,medusa): load custom flags before medusa config

* test

* test runner

* changeset

* check manager featureFlags

* discover and register flags

* rm comments

* update changeset

* changeset

* use local cli

* execute from local medusa command

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2025-09-01 16:04:43 +02:00
Carlos R. L. RodriguesandGitHub 8176d0f684 chore(core-flows): revert idempotent cart (#13336) 2025-08-28 22:45:43 +02:00
e2213448ac feat: custom logger (#13156)
* feat: custom logger

* mock log

* unit test

* FF and jobs loader

* unit test

* add to ResourceLoader

* get from container

* mock

* rm log

* default logger mock

* link loaders, express

* comments

* initialize container as first step

* db conn

* test

* initialize start

* plugin build using default logger

* ignore .medusa

* revert ignroe

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-28 15:31:19 +02:00
9412669e65 chore: idempotent cart operations (#13236)
* chore(core-flows): idempotent cart operations

* changeset

* add tests

* revert

* revert route

* promo test

* skip bugs

* fix test

* tests

* avoid workflow name conflict

* prevent nested workflow from being deleted until the top level parent finishes

* remove unused setTimeout

* update changeset

* rm comments

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
2025-08-28 15:04:00 +02:00
Carlos R. L. RodriguesandGitHub b111d01898 chore(core-flows): order payment status fix (#13321)
What:
 - Consider epsilon to check if an order is fully captured or refunded.
2025-08-28 12:59:24 +00:00
Carlos R. L. RodriguesandGitHub f764b3a364 feat(index): $nin and $not operators (#13289)
* feat(index): add $not and $nin operators

* logical operator

* test

* test

* types

* logical

* schema ID

* types and $ilike fix

* index type
2025-08-28 11:56:17 +02:00
Carlos R. L. RodriguesandGitHub e413cfefc2 feat(utils): define file config (#13283)
** What
 - Allow auto-loaded Medusa files to export a config object.
 - Currently supports isDisabled to control loading.
 - new instance `FeatureFlag` exported by `@medusajs/framework/utils`
 - `feature-flags` is now a supported folder for medusa projects, modules, providers and plugins. They will be loaded and added to `FeatureFlag`

** Why
 - Enables conditional loading of routes, migrations, jobs, subscribers, workflows, and other files based on feature flags.

```ts
// /src/feature-flags

import { FlagSettings } from "@medusajs/framework/feature-flags"

const CustomFeatureFlag: FlagSettings = {
  key: "custom_feature",
  default_val: false,
  env_key: "FF_MY_CUSTOM_FEATURE",
  description: "Enable xyz",
}

export default CustomFeatureFlag
```

```ts
// /src/modules/my-custom-module/migration/Migration20250822135845.ts

import { FeatureFlag } from "@medusajs/framework/utils"

export class Migration20250822135845 extends Migration {
  override async up(){ }
  override async down(){ }
}

defineFileConfig({
  isDisabled: () => !FeatureFlag.isFeatureEnabled("custom_feature")
})
```
2025-08-26 12:22:30 +00:00
fd4e791428 fix(utils): auto generated update method return (#13225)
* fix(utils): auto generated update method return

* tests

* cleanup

* rm unused function

* Update .changeset/young-mangos-suffer.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 13:26:36 +02:00
Carlos R. L. RodriguesandGitHub 83d2ce762c chore(locking-redis): default ttl to acquire lock (#13221)
* chore(locking-redis): default ttl to acquire lock

* ttl only for the method execute
2025-08-15 11:44:24 -03:00
Carlos R. L. RodriguesandGitHub cbfe646ce1 chore(utils): round to zero credit lines (#13200) 2025-08-15 11:43:52 -03:00
Carlos R. L. RodriguesandGitHub 356b2862d2 chore(core-flows): import zod (#13197) 2025-08-13 15:12:14 -03:00
Carlos R. L. RodriguesandGitHub 9725bff25d fix(index): logical operators (#13137) 2025-08-07 07:34:50 -03:00
Carlos R. L. RodriguesandGitHub a52708769d chore(util): avoid promotion value precision limit (#13145) 2025-08-06 15:49:10 -03:00
Carlos R. L. RodriguesandGitHub b1cba9fdeb fix(workflow-engine-inmemory): fix cron job schedule (#13151) 2025-08-06 11:14:44 -03:00
Carlos R. L. RodriguesandGitHub f6736d9661 fix(core-flows): refresh payment collection (#13103) 2025-07-31 09:06:20 -03:00
Carlos R. L. RodriguesandGitHub 1bd455bc7b fix(workflows-sdk): fix step name config used before default (#12926) 2025-07-22 09:53:24 -03:00
Carlos R. L. RodriguesandGitHub 43fb06ecc2 Create loud-terms-share.md 2025-07-21 15:15:34 -03:00
798ac0068e chore(payment): use generate schema (#13004)
Fixes: https://github.com/medusajs/medusa/issues/12959

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-21 11:52:47 +00:00
Carlos R. L. RodriguesandGitHub e74044af4d chore(orchestration): improve transaction errors (#12951) 2025-07-14 11:37:54 -03:00
Carlos R. L. RodriguesandGitHub fa76f85bba fix(index): merge filterable fields schema (#12888) 2025-07-04 09:41:40 -03:00
Carlos R. L. RodriguesandGitHub ba1e6595b7 fix(payment): round curency precision (#12803) 2025-06-24 18:41:14 +02:00
Carlos R. L. RodriguesandGitHub 490bd7647f fix(core-flows): complete cart improvements (#12646)
* fix(core-flows): use cartId as transactionId and acquire lock to complete cart

* fix cart update compensation
2025-05-30 14:15:08 +01:00
Carlos R. L. RodriguesandGitHub ebe5cc7acd chore(index): return ids only (#12543) 2025-05-20 11:16:02 -03:00
Carlos R. L. RodriguesandGitHub 59bbff62d8 fix(index): Apply various fixes to the index engine (#12501) 2025-05-19 15:14:25 -03:00
Carlos R. L. RodriguesandGitHub 32be40a2c0 fix(medusa): add estimate count to admin products (#12467)
what:
 * Add `estimate_count` property to `/admin/products` endpoint when index engine FF is on
2025-05-19 18:06:28 +00:00
Carlos R. L. RodriguesandGitHub c661e06488 fix(index): query builder handle json array (#12480)
* fix(index): query builder handle json array

* fix sales channel event names
2025-05-14 18:43:01 +02:00
Carlos R. L. RodriguesandGitHub 90c61d1898 fix(core-flows): add missing remove remote link (#12326)
* fix(core-flows): add missing remove remote link

* temp disable test
2025-04-30 17:43:37 +02:00
b868a4ef4d feat(index): add filterable fields to link definition (#11898)
* feat(index): add filterable fields to link definition

* rm comment

* break recursion

* validate read only links

* validate filterable

* gql schema array

* link parents

* isInverse

* push id when not present

* Fix ciruclar relationships and add tests to ensure proper behaviour (part 1)

* log and fallback to entity.alias

* cleanup and fixes

* cleanup and fixes

* cleanup and fixes

* fix get attributes

* gql type

* unit test

* array inference

* rm only

* package.json

* pacvkage.json

* fix link retrieval on duplicated entity type and aliases + tests

* link parents as array

* Match only parent entity

* rm comment

* remove hard coded schema

* extend types

* unit test

* test

* types

* pagination type

* type

* fix integration tests

* Improve performance of in selection

* use @@ to filter property

* escape jsonPath

* add Event Bus by default

* changeset

* rm postgres analyze

* estimate count

* new query

* parent aliases

* inner query w/ filter and sort relations

* address comments

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-04-29 12:10:31 +02:00
Carlos R. L. RodriguesandGitHub e180253d60 feat(orchestration): skip on permanent failure (#12027)
What:
 - Added step config `skipOnPermanentFailure`. Skip all the next steps when the current step fails. If a string is used, the workflow will resume from the given step.
 - Fix `continueOnPermanentFailure` to continue the execution of the flow when a step fails.
 
```ts
createWorkflow("some-workflow", () => {
  errorStep().config({
    skipOnPermanentFailure: true,
  })
  nextStep1() // skipped
  nextStep2() // skipped
})


createWorkflow("some-workflow", () => {
  errorStep().config({
    skipOnPermanentFailure: "resume-from-here",
  });
  nextStep1(); // skipped
  nextStep2(); // skipped
  nextStep3().config({ name: "resume-from-here" }); // executed
  nextStep4(); // executed
});
```
2025-04-17 12:49:58 +00:00
Carlos R. L. RodriguesandGitHub 31abba8cde fix(orchestrator): save checkpoint before async step (#12138) 2025-04-10 15:36:36 +00:00
Carlos R. L. RodriguesandGitHub f615ebb7e8 chore: retry util on tests (#12126) 2025-04-09 16:07:05 +00:00
Carlos R. L. RodriguesandGitHub 92c7baa561 fix(orchestration): handle multiple shortcuts with same name (#12066) 2025-04-07 11:59:28 -03:00
Carlos R. L. RodriguesandGitHub 2270f29ec5 chore(link-modules): backward compatible links (#12062)
What:
 * Add `hasMany` for links that accepted that in the past. That way we don't block marketplaces to link 1 cart to multiple orders and carts with split payment.
2025-04-02 11:56:48 +00:00
Carlos R. L. RodriguesandGitHub 1895d8cc11 Merge branch 'develop' of https://github.com/medusajs/medusa into fix/wfe-context-ref (#12006) 2025-03-27 09:28:24 -03:00
Carlos R. L. RodriguesandGitHub 01089d5bc8 chore(core-flows): price list skip when no data (#11977) 2025-03-25 10:55:30 -03:00
Carlos R. L. RodriguesandGitHub 0625f76cd4 chore(workflow-engine): export cancel method (#11844)
What:
  * Workflow engine exports the method `cancel` to revert a workflow.
2025-03-17 12:59:09 +00:00
Carlos R. L. RodriguesandGitHub 5cf0bf4d93 chore: admin product list transform filter (#11821) 2025-03-12 13:21:09 -03:00
Carlos R. L. RodriguesandGitHub 6053ec3976 chore(workflow-engine-redis): remove repeatable jobs from old queue (#11822)
What:
  * Old  deployments have repeatable jobs registered in a wrong queue. When the `server` instance picks that job, the workflow doesn't exist, it calls to remove the job, which then removes the job from the new queue.
  * This PR cleans up any repeatable job from the queue that is exclusive to handle workflows.
2025-03-12 14:54:10 +00:00
b7678983a9 chore(cart, core-flows): Improve tax lines algo management (#11715)
Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2025-03-09 12:43:18 +00:00
Carlos R. L. RodriguesandGitHub 16d7294de8 fix(pricing): events (#11742) 2025-03-05 15:35:23 -03:00
Carlos R. L. RodriguesandGitHub 7dbec10b3b fix(order): summary raw totals (#11712) 2025-03-04 11:01:12 +00:00
Carlos R. L. RodriguesandGitHub 65eb3aa6c8 chore(core-flows): use cart id when force_refresh is true (#11625) 2025-02-26 11:01:05 -03:00
Carlos R. L. RodriguesandGitHub 322d108c03 chore(core-flows): pass cart as reference to subflows (#11617) 2025-02-26 08:26:44 -03:00
Carlos R. L. RodriguesandGitHub fa1793e8e9 chore(core-utils): avoid overfetching to refresh cart (#11602)
What:
 * Not all Cart operations need a full refresh updating items. This PR introduces a flag to force the refresh for special ocasions, like updating the Cart's region, or transfering the Cart to another customer. For all other flows it will update only promotions, taxes and payment collection if needed.
2025-02-26 10:00:04 +00:00
Carlos R. L. RodriguesandGitHub 03731c7660 chore(core-flows): reserve inventory from available location (#11538) 2025-02-26 06:10:41 -03:00
Carlos R. L. RodriguesandGitHub 0c957350a6 fix(order): calculate taxes on order edit flows (#11518)
* fix(order): calcualte taxes on order edit flows

* merge summary

* tests

* fix pending difference

* comments

* claim test

* revert method
2025-02-21 15:27:40 +01:00
22276648ad feat: query.index (#11348)
What:
 - `query.index` helper. It queries the index module, and aggregate the rest of requested fields/relations if needed like `query.graph`.
 
Not covered in this PR:
 - Hydrate only sub entities returned by the query. Example: 1 out of 5 variants have returned, it should only hydrate the data of the single entity, currently it will merge all the variants of the product.
 - Generate types of indexed data
 
 example:
 ```ts
 const query = container.resolve(ContainerRegistrationKeys.QUERY)
        
 await query.index({
  entity: "product",
  fields: [
    "id",
    "description",
    "status",
    "variants.sku",
    "variants.barcode",
    "variants.material",
    "variants.options.value",
    "variants.prices.amount",
    "variants.prices.currency_code",
    "variants.inventory_items.inventory.sku",
    "variants.inventory_items.inventory.description",
  ],
  filters: {
    "variants.sku": { $like: "%-1" },
    "variants.prices.amount": { $gt: 30 },
  },
  pagination: {
    order: {
      "variants.prices.amount": "DESC",
    },
  },
})
```
This query return all products where at least one variant has the title ending in `-1` and at least one price bigger than `30`.
 
The Index Module only hold the data used to paginate and filter, and the returned object is:
```json
{
  "id": "prod_01JKEAM2GJZ14K64R0DHK0JE72",
  "title": null,
  "variants": [
    {
      "id": "variant_01JKEAM2HC89GWS95F6GF9C6YA",
      "sku": "extra-variant-1",
      "prices": [
        {
          "id": "price_01JKEAM2JADEWWX72F8QDP6QXT",
          "amount": 80,
          "currency_code": "USD"
        }
      ]
    }
  ]
}
```

All the rest of the fields will be hydrated from their respective modules, and the final result will be:

```json
{
  "id": "prod_01JKEAY2RJTF8TW9A23KTGY1GD",
  "description": "extra description",
  "status": "draft",
  "variants": [
    {
      "sku": "extra-variant-1",
      "barcode": null,
      "material": null,
      "id": "variant_01JKEAY2S945CRZ6X4QZJ7GVBJ",
      "options": [
        {
          "value": "Red"
        }
      ],
      "prices": [
        {
          "amount": 20,
          "currency_code": "CAD",
          "id": "price_01JKEAY2T2EEYSWZHPGG11B7W7"
        },
        {
          "amount": 80,
          "currency_code": "USD",
          "id": "price_01JKEAY2T2NJK2E5468RK84CAR"
        }
      ],
      "inventory_items": [
        {
          "variant_id": "variant_01JKEAY2S945CRZ6X4QZJ7GVBJ",
          "inventory_item_id": "iitem_01JKEAY2SNY2AWEHPZN0DDXVW6",
          "inventory": {
            "sku": "extra-variant-1",
            "description": "extra variant 1",
            "id": "iitem_01JKEAY2SNY2AWEHPZN0DDXVW6"
          }
        }
      ]
    }
  ]
}
```

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2025-02-12 12:55:09 +00:00
Carlos R. L. RodriguesandGitHub d6c03ee542 fix(utils): custom linkable keys (#11400)
**What**
Fix linkable generation when there is no dml models and models are provided as virtual to the joiner config and therefore the linkable are inferred
2025-02-11 16:59:21 +00:00
Carlos R. L. RodriguesandGitHub 65fae943c9 feat(orchestration): hydrate resultset (#11263)
What:
* Add support for aggregating data into existing resultset.
* `query.graph` new option `initialData` containing the resultset to be hydrated
* It fetches data where the requested fields are not present and merge with the existing resultset
2025-02-03 11:24:57 +00:00
Carlos R. L. RodriguesandGitHub c8376a9f15 chore(medusa): clear workflow execution (#11200)
CLOSES: SUP-704
2025-02-03 10:47:32 +00:00
Carlos R. L. RodriguesandGitHub e98d3c615e chore(orchestration): validate PK when throwIfKeyNotFound (#11190)
CLOSES: FRMW-2895
2025-01-29 19:17:36 +00:00
Carlos R. L. RodriguesandGitHub 5093224914 chore(index): config changes (#11121)
Closes FRMW-2884
2025-01-27 12:54:46 +00:00
Carlos R. L. RodriguesandGitHub a76208ed02 chore(utils): patch unique index migration (#11136) 2025-01-24 13:48:37 -03:00
Carlos R. L. RodriguesandGitHub 31384855af fix(fulfillment): migration so rules (#11113) 2025-01-23 12:43:32 +00:00
Carlos R. L. RodriguesandGitHub 5aa4797873 fix(fulfillment): migration so rules (#11109) 2025-01-23 11:50:11 +00:00
cc73802ab3 chore(order): dml (#10292)
* ../../core/types/src/dml/index.ts

* ../../core/types/src/dml/index.ts

* fix: relationships mapping

* handle nullable foreign keys types

* handle nullable foreign keys types

* handle nullable foreign keys types

* continue to update product category repository

* fix all product category repositories issues

* fix product category service types

* fix product module service types

* fix product module service types

* fix repository template type

* refactor: use a singleton DMLToMikroORM factory instance

Since the MikroORM MetadataStorage is global, we will also have to turn DML
to MikroORM entities conversion use a global bucket as well

* refactor: update product module to use DML in tests

* wip: tests

* WIP product linkable fixes

* continue type fixing and start test fixing

* test: fix more tests

* fix repository

* fix pivot table computaion + fix mikro orm repository

* fix many to many management and configuration

* fix many to many management and configuration

* fix many to many management and configuration

* update product tag relation configuration

* Introduce experimental dml hooks to fix some issues with categories

* more fixes

* fix product tests

* add missing id prefixes

* fix product category handle management

* test: fix more failing tests

* test: make it all green

* test: fix breaking tests

* fix: build issues

* fix: build issues

* fix: more breaking tests

* refactor: fix issues after merge

* refactor: fix issues after merge

* refactor: surpress types error

* test: fix DML failing tests

* improve many to many inference + tests

* Wip fix columns from product entity

* remove product model before create hook and manage handle validation and transformation at the service level

* test: fix breaking unit tests

* fix: product module service to not update handle on product update

* fix define link and joiner config

* test: fix joiner config test

* test: fix joiner config test

* fix joiner config primary keys

* Fix joiner config builder

* Fix joiner config builder

* test: remove only modifier from test

* refactor: remove hooks usage from product collection

* refactor: remove hooks usage from product-option

* refactor: remove hooks usage for computing category handle

* refactor: remove hooks usage from productCategory model

* refactor: remove hooks from DML

* refactor: remove cruft

* order dml

* cleanup

* re add foerign key indexes

* wip

* chore: remove unused types

* wip

* changes

* rm raw

* autoincrement

* wip

* rel

* refactor: cleanup

* migration and models configuration adjustments

* cleanup

* number searchable

* fix random ordering

* fix

* test: fix product-category tests

* test: update breaking DML tests

* test: array assertion to not care about ordering

* fix: temporarily apply id ordering for products

* types

* wip

* WIP type improvements

* update order models

* partially fix types temporarely

* rel

* fix: recursive type issue

* improve type inference breaks

* improve type inference breaks

* update models

* rm nullable

* default value

* repository

* update default value handling

* fix unit tests

* WIP

* toMikroORM

* fix relations

* cascades

* fix

* experimental dml hooks

* rm migration

* serial

* nullable autoincrement

* fix model

* model changes

* fix one to one DML

* order test

* fix addresses

* fix unit tests

* Re align dml entity name inference

* update model table name config

* update model table name config

* revert

* update return relation

* WIP

* hasOne

* models

* fix

* model

* initial commit

* cart service

* order module

* utils unit test

* index engine

* changeset

* merge

* fix hasOne with fk

* update

* free text filter per entity

* tests

* prod category

* property string many to many

* fix big number

* link modules migration set names

* merge

* shipping option rules

* serializer

* unit test

* fix test mikro orm init

* fix test mikro orm init

* Maintain merge object properties

* fix test mikro orm init

* prevent unit test from connecting to db

* wip

* fix test

* fix test

* link test

* schema

* models

* auto increment

* hook

* model hooks

* order

* wip

* orm version

* request return field

* fix return configuration on order model

* workflows

* core flows

* unit test

* test

* base repo

* test

* base repo

* test fix

* inventory move

* locking inventory

* test

* free text fix

* rm timeout mock

* migrate fulfillment values

* v6.4.3

* cleanup

* link-modules update sql

* revert test

* remove fake timers

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
Co-authored-by: Harminder Virk <virk.officials@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-01-21 08:04:47 -05:00
Carlos R. L. RodriguesandGitHub 11f98f374c feat(core-flows): validate hook in cart workflows (#10967)
* feat(core-flows): validate hook

* rm only
2025-01-15 18:49:46 -05:00
Carlos R. L. RodriguesandGitHub c5a207144e fix(core-flows): missing variable of when condition (#10958) 2025-01-15 12:38:18 -05:00
Carlos R. L. RodriguesandGitHub 01acf9e700 fix(orchestration): avoid retry when finished (#10913) 2025-01-10 13:12:08 -03:00
Carlos R. L. RodriguesandGitHub 95baacfd00 fix(cart): Tax rate data type (#10626)
* fix(cart): tax rate data type

* update test
2024-12-16 20:09:05 +01:00
729eb5da7b chore(inventory): convert to dml (#10569)
Fixes: FRMW-2848

Co-authored-by: Harminder Virk <1706381+thetutlage@users.noreply.github.com>
2024-12-13 12:51:26 +00:00
Carlos R. L. RodriguesandGitHub 0264294ab5 chore(payment): Payment module DML (#10553)
* chore(payment): Payment module DML

* rm log

* migration
2024-12-11 13:09:10 -03:00
Carlos R. L. RodriguesandGitHub 69f4c4f4e0 chore(index): index dml (#10482)
What:
- DML - `autoincrement` property
- Index `type` option (GIN)
- Index module - DML
2024-12-10 10:55:12 +00:00
Carlos R. L. RodriguesandGitHub b0448a7c35 chore: locking-postgres provider dml (#10478) 2024-12-06 10:14:14 -03:00
Carlos R. L. RodriguesandGitHub f65a3cc06d fix(utils): avoid optional properties on graphql generated file (#10476)
FIXES: SUP-367
2024-12-06 12:16:02 +00:00
Carlos R. L. RodriguesandGitHub 90ae187e09 fix(workflows-sdk): name for when/then step (#10459) 2024-12-05 15:47:42 -03:00
Carlos R. L. RodriguesandGitHub 1f3754a75e chore(workflows-sdk): add unit test (#10419) 2024-12-04 10:32:03 +00:00
Carlos R. L. RodriguesandGitHub e9003c3124 fix(utils): read dir recursive (#10318)
What:
 - Using `Object.defineProperty) to avoid issues on Node versions that set this property as readonly.
2024-11-27 14:37:07 +00:00
Carlos R. L. RodriguesandGitHub a8eec16122 fix(core-flows): aggregate payment status (#10278) 2024-11-26 12:23:53 -03:00
Carlos R. L. RodriguesandGitHub aeb5b43692 feat(workflows-sdk): add response to permanent failure (#10177) 2024-11-20 17:29:37 -03:00
Carlos R. L. RodriguesandGitHub 42c08fa8e0 fix(framework): handle deprecated Dirent path (#10179)
What:

- `Dirent` class from `NodeJS` has different properties in different versions, causing issues in our loaders.
- Util `readDirRecursive` was introduced, avoiding old node versions to break

FIXES: https://github.com/medusajs/medusa/issues/8419
2024-11-20 20:25:48 +00:00
Carlos R. L. RodriguesandGitHub 47ca1d4b54 fix(inventory): update reservation quantity (#10139) 2024-11-18 11:55:22 -03:00
Carlos R. L. RodriguesandGitHub 06ce16c90b chore(local-file): throw error if file exist (#10087) 2024-11-14 12:11:37 -03:00
Carlos R. L. RodriguesandGitHub 3e265229f2 chore(event-bus): event bus error handling (#10085) 2024-11-13 18:03:29 -03:00
Carlos R. L. RodriguesandGitHub fc5d2b5fca feat(core-flows): order add quantity diff (#10065) 2024-11-12 16:49:58 -03:00
Carlos R. L. RodriguesandGitHub 2344012d1c fix(core-flows): capture before order created (#9980)
What:
 When `autocapture` is enabled, the webhook is processed before the order was created.
 The payment processing workflows were merged into a single one
 
FIXES: SUP-118, SUP-9

https://github.com/medusajs/medusa/issues/9998
2024-11-12 13:43:48 +00:00
Carlos R. L. RodriguesandGitHub 1eef324af3 fix(orchestration): fix set step failure (#10031)
What:
 - copy data before saving checkpoint
 - removed unused data format function
 - properly handle registerStepFailure to not throw
 - emit onFinish event even when execution failed
2024-11-12 10:06:36 +00:00
Carlos R. L. RodriguesandGitHub 1bae311a29 fix(core-flows): keep same customer on cart update (#9977)
* fix(core-flows): keep same customer on cart update

* update guest customer email

* create guest customer for new emails

* rm log
2024-11-10 14:11:40 +01:00
Carlos R. L. RodriguesandGitHub 03f4b66b90 fix(link-modules): generate graphql type of read only links (#9955) 2024-11-08 07:54:50 -03:00
Carlos R. L. RodriguesandGitHub 6496789c65 fix(framework): exclude nested fields when excluding requested field (#9979) 2024-11-07 18:26:02 -03:00
Carlos R. L. RodriguesandGitHub 898a437db0 chore(locking): disable default provider warning (#9956) 2024-11-06 14:06:01 -03:00
Carlos R. L. RodriguesandGitHub d8e3e04895 feat(core-flows): order events (#9702) 2024-10-21 15:26:44 -03:00
Carlos R. L. RodriguesandGitHub 6fa98b6a4d chore(orchestration): modules method context (#9669)
** What **
* Test to check if the MedusaContext is being injected when calling a Module's method
2024-10-18 21:08:06 +00:00
Carlos R. L. RodriguesandGitHub d3c1580c06 fix(orchestration): local workflow proxy (#9664) 2024-10-18 13:30:16 +00:00
Carlos R. L. RodriguesandGitHub 2a98be6b65 feat(medusa): ordem items endpoint (#9646) 2024-10-18 05:59:24 -03:00
Carlos R. L. RodriguesandGitHub 902ac12f73 chore: remove internal module resources option (#9582)
What:
* removes resouces type "shared" or "isolated" from internal modules.
* modules can have an isolated database connection by providing a database config as part of their options on `medusa-config`

CLOSES: FRMW-2593
2024-10-17 21:31:46 +00:00
e9a06f4b4d fea(providers): locking postgres (#9545)
Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2024-10-17 13:11:39 +00:00
Carlos R. L. RodriguesandGitHub f7fbc2f97c feat(core-flows): cart events (#9585) 2024-10-16 14:27:24 -03:00