Commit Graph

4879 Commits

Author SHA1 Message Date
Frane Polić
fc321e96ce fix(core-flows): select stock locations for reservation from correct SC (#10661)
* fix: add stock location for reservations only if related to correct SC

* fix: update spec

* fix: wrong SC id get in OE flow

* fix: ensure test case has multiple SC and SLs
2024-12-20 09:25:19 +01:00
Adrien de Peretti
100da64242 chore(fulfillment, utils): Migrate module to DML (#10617)
**What**
- Allow to provide `foreignKeyName` option for hasOne and belongsTo relationships
  - `model.hasOne(() => OtherEntity, { foreignKey: true, foreignKeyName: 'other_entity_something_id' })`
  - The above will also output a generated type that takes into consideration the custom fk name 🔽 
- Update types to account for defined custom foreign key name
- Fix joiner config linkable generation to account for custom linkable keys that provide a public API for their model but are not part of the list of the models included in the MedusaService
  - This was supposed to be handled correctly but the implementation was not considering that custom linkable keys could reference models not part of the one provided to medusa service
- Migrate fulfillment module to DML
- Fix has one with fk behaviour and hooks (the relation should be assigned but not the fk)
- Fix has one belongsTo hooks (the relation should be assigned but not the fk)
- Fix hasOneWithFk and belongsTo non persisted fk to be selectable
- Allow to define `belongsTo` without other side definition for `ManyToOne` with no counter part defined
  - Meaning that if a user defined `belongsTo` on one side andnot mapped by and no counter part on the other entity it will be considered as a `ManyToOne`
- `orphanRemoval` on `OneToOne` have been removed, this means that when assigning a new object relation to an entity, the previous one gets deconected but not deleted automatically. This prevent removing data un volountarely

**NOTE**
As per our convention here are some information to keep in mind

**HasOne <> BelongsTo**
Define `OneToOne`, The foreign key is owned by the belongs to and the relation needs to be provided to cascade if wanted

**HasMany <> BelongsTo**
Define `OneToMane` <> `ManyToOne`, the foreign key is owned by the many to one and for those relation no cascade will be performed, the foreign key must be provided. For the `HasMany` the cascade is available

**HasOne (with FK)**
Will act similarly to belongs to with **HasOne <> BelongsTo**

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2024-12-19 16:40:11 +00:00
Frane Polić
1118e35924 feat(core-flows): pass fields variant details when creating fulfillment (#10665) 2024-12-19 16:39:04 +01:00
Riqwan Thamir
d08b71f9b8 fix(product): updating collections with products fix (#10668) 2024-12-19 16:31:45 +01:00
Riqwan Thamir
5d1098ceb9 fix(core-flows): refresh payment collections upon shipping changes (#10673)
* fix(core-flows): refresh payment collections upon shipping changes

* chore: fix spec
2024-12-19 16:31:17 +01:00
Eugene Pro
3efd25d06d feat(dashboard): ability to locate new admin route under existing route (#10587)
This PR add ability to locate new admin route under existing route in sidebar.

For example, new route Brands
![image](https://github.com/user-attachments/assets/1b297fb0-296c-4e94-a4cb-f84f4c676c53)
![image](https://github.com/user-attachments/assets/80336909-1c0a-49c9-b8e1-3b1137ae2e48)

https://github.com/user-attachments/assets/b46b1813-e92e-4b67-84a1-84660023ac7c
2024-12-19 12:23:21 +00:00
Riqwan Thamir
3f4d574748 feat(order, types): Add Credit Line to order module (#10636)
* feat(order, types): Add Credit Line to order module

* chore: add action to inject credit lines
2024-12-19 10:36:59 +01:00
Shahed Nasser
fec24aa7eb chore: improve tsdocs of fulfillment provider (#10649)
* initial changes

* small changes
2024-12-19 10:04:12 +02:00
Frane Polić
3dba551ad2 fix(core-flows): data passed to to fulfillment provider context (#10660)
* fix: cart data passed to context, from location in validation

* refactor: extract common fields to a const
2024-12-18 21:23:06 +01:00
Shahed Nasser
9d85e663b8 fix(core-flows): use useQueryGraphStep instead of useQueryStep (#10643)
Replace usage of `useQueryStep` with `useGraphQueryStep` and remove `useQueryStep`, as it's not exported by the package and seems to be a duplicate of `useGraphQueryStep`
2024-12-18 17:18:51 +00:00
Adrien de Peretti
048620884b chore(types): Keep intelisense while being more loosen (#10657)
**What**
Keep the autocompletion for the fields API in Query APIs while being more flexible in order to prevent limitation from our depth limit but also to be more flexible when assigning string[] coming from the API for example.
2024-12-18 17:12:31 +00:00
Oli Juhl
9133957a94 fix(notification): Only use enabled providers for notis (#10659) 2024-12-18 13:59:12 +01:00
Frane Polić
c7008bb569 fix: order details status (#10650) 2024-12-18 12:56:18 +01:00
Oli Juhl
c9b8db04c1 feat: Custom line items (#10408)
* feat: Custom line items

* fix tests

* fix migration

* Allow custom items in update line item workflow

* throw if line item doesn't have a price

* minor things

* wip

* fix flows

* fix test

* add default

* add to type
2024-12-18 12:53:57 +01:00
Frane Polić
bde4b82194 feat(core-flows,dashboard,js-sdk,medusa,types): support Fulfillment Options (#10622)
**What**
- add a list point for fetching fulfillment options for a provider
- add FO support on SO create & update on dashboard
- pass `cart` and `stockLocation` to `validateFufillmentData` context

---

CLOSES CMRC-789
CLOSES CMRC-790
2024-12-18 09:16:26 +00:00
Oli Juhl
f3eca7734e fix(medusa): Missing metadata field on order (#10651) 2024-12-18 10:09:35 +01:00
Shahed Nasser
570c85538b chore: fix redocly circular dependencies (#10642) 2024-12-17 19:45:57 +02:00
Shahed Nasser
1232a43fce fix(core-flows): export getItemTaxLinesStep (#10640) 2024-12-17 19:31:55 +02:00
Nathan John
2ad08c4c44 Add FilterableRefundReason filter by description and label (#10606) 2024-12-17 15:54:06 +00:00
Riqwan Thamir
632c340bf5 chore(utils): add comments + cleanup util functions (#10628)
remnants from https://github.com/medusajs/medusa/pull/10579
2024-12-17 14:22:33 +00:00
olivermrbl
a391a29aa8 chore: Version packages 2024-12-17 14:41:05 +01:00
Riqwan Thamir
6367bccde8 feat(medusa,pricing): Cart pricing context with customer group (#10579)
* fix(carts): Fixes cart modifications not accounting for certain price lists (#10493)

*What*

* Fixes #10490
* Expands any available customer_id into its customer_group_ids for cart
  updates that add line items.

*Why*

* Cart updates from the storefront were overriding any valid price lists
  that were correctly being shown in the storefront's product pages.

*How*

* Adds a new workflow step that expands an optional customer_id into the
  customer_group_ids it belongs to.
* Uses this step in the addToCartWorkflow and
  updateLineItemInCartWorkflow workflows.

*Testing*
* Using medusa-dev to test on a local backend.
* Adds integration tests for the addToCart and updateLineItemInCart
  workflows.

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>

* chore: update cart workflows to accept new pricing context

* chore: add transfer specs

* chore: fix specs

* chore: modify types + specs

* chore: add data migration + dashboard changes

* chore: fix update line item workflow

* chore: add changeset + unskip spec

---------

Co-authored-by: Sergio Campamá <sergiocampama@gmail.com>
2024-12-17 11:10:30 +01:00
Frane Polić
0c49470066 feat(core-flows): calculate SO price on cart ops (#10563)
**What**
- calculate the shipping option price when creating a shipping method
- calculate the shipping option price when refreshing cart
- add testing for calculated SO flow
- fix validation on calculated SO creation
- add manual fulfillment provider for testing
- add `from_location` to calculation context

---

RESOLVES CMRC-778
RESOLVES CMRC-602
RESOLVES SUP-136
2024-12-16 22:28:30 +00:00
Carlos R. L. Rodrigues
95baacfd00 fix(cart): Tax rate data type (#10626)
* fix(cart): tax rate data type

* update test
2024-12-16 20:09:05 +01:00
Riqwan Thamir
90ad2566fd feat(types,fulfillment): ability to delete a canceled fulfillment (#10602) 2024-12-16 11:17:45 +01:00
Riqwan Thamir
429c57095b fix(core-flows): use customer create workflow to reuse the emit event (#10601)
what:

- uses the create customer workflow instead to reuse the event emit.

RESOLVES CMRC-792
2024-12-13 14:40:46 +00:00
Carlos R. L. Rodrigues
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
Harminder Virk
ae1d875fcf fix: pluralization rule for the info word (#10599) 2024-12-13 16:09:09 +05:30
Shahed Nasser
54118941ef docs-util: support @version tag (#10591) 2024-12-13 09:40:47 +02:00
Shahed Nasser
7f669b8c5f chore: small tsdoc update to dml float property. (#10576) 2024-12-12 15:32:22 +02:00
Harminder Virk
e021c9258c Feat/tax dml (#10525)
Fixes: FRMW-2842

There are zero breaking changes and the users will have to run the migrations
2024-12-12 09:35:11 +00:00
Frane Polić
472e92e400 feat(medusa, core-flows, fulfillment): calculate SO price endpoint (#10532)
**What**
- endpoint + flow for fetching calculated price for a shipping option

---

CLOSES CMRC-777
2024-12-12 08:03:56 +00:00
Harminder Virk
885c82ded6 feat: add support for float properties (#10551) 2024-12-12 10:34:39 +05:30
Carlos R. L. Rodrigues
0264294ab5 chore(payment): Payment module DML (#10553)
* chore(payment): Payment module DML

* rm log

* migration
2024-12-11 13:09:10 -03:00
Shahed Nasser
c3b2b4b438 chore: fixes to tsdocs + docs-util related to providers 2024-12-11 17:27:32 +02:00
Kasper Fabricius Kristensen
dc5e73af4d fix(dashboard): Prevent fulfillment provider modal from re-rendering before form submission is complete (#10547)
Resolves CMRC-782
2024-12-11 13:10:58 +00:00
Stevche Radevski
3626118eef feat(file-s3): Add support for IAM role authentication to file-s3 provider (#10528) 2024-12-11 18:30:37 +08:00
Harminder Virk
16d27ea6e4 feat: Migrate customer module to DML (#10499) 2024-12-11 14:37:27 +05:30
Frane Polić
d8a92dbb2d feat(core-flows, dashboard, fulfillment, fulfillment-manual, utils, types): create shipping options with calculated prices (#10495)
**What**
- support creating SO with calculated price
- support updating SO for both types of pricing
- update `validateShippingOptionPricesStep` to handle both SO price_types
- add the `validateShippingOptionsForPriceCalculation` method to `FulfillementModule`
- add `canCalculate` and `calculatePrice` to fulfillment provider service service / interface / manual provider
- disable SO pricing edit on Admin if SO price type is calculated

---

CLOSES CMRC-776
2024-12-11 08:38:44 +00:00
Harminder Virk
fad85a9d29 refactor: migrate promotion module (#10410) 2024-12-11 13:12:39 +05:30
Avia-Code
777582ac43 feat: added Ukrainian translations (#10536)
This pull request adds support for the Ukraine language in the MedusaJS Admin Dashboard.
Full translation, and json schema tests passed successfully
2024-12-10 22:17:00 +00:00
Kasper Fabricius Kristensen
16192d9b30 fix(product): Only apply default order to products if user has not specified one (#10535) 2024-12-10 16:57:11 +00:00
Harminder Virk
4ad9ac1e5f refactor: migration stock location module (#10471)
Fixes: FRMW-2831
2024-12-10 16:08:48 +00:00
olivermrbl
0e342b491d chore: Version packages 2024-12-10 14:01:50 +01:00
Kasper Fabricius Kristensen
de81187929 fix(dashboard): Add FE validation for conditional prices (#10523)
* fix(dashboard): Add FE validation for conditional prices

* fix(dashboard): Add FE validation for conditional prices

* lint

* only set error on one field

* fix which field shows error
2024-12-10 11:57:10 +01:00
Carlos R. L. Rodrigues
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
Oli Juhl
e5e5a34108 fix(core-flows): Refresh cart when items are deleted (#10513) 2024-12-09 19:21:32 +01:00
Kasper Fabricius Kristensen
c9a66b19af fix(dashboard,ui): ConditionBlock styling (#10481)
**What**
- Resolves CMRC-58
- Also fixes some other issues, TS errors, Eslint warnings etc. in the Promotion domain. There are still several TS errors as the return types from `@medusajs/types` don't seem to match how they are used here, but I have left that as is, as I am not super familiar with the Promotion module.
2024-12-09 17:42:19 +00:00
Shahed Nasser
7c76ee24cb chore: fix documentation links in TSDocs (#10511) 2024-12-09 18:52:02 +02:00
Riqwan Thamir
a04238a7f1 fix(payment): ensure that payment error is captured in logger (#10506)
what:

- when an error occurs upon retrieving a provider, log the original error through the logger

Helps https://github.com/medusajs/medusa/issues/10500 in debugging.
2024-12-09 16:44:32 +00:00