Commit Graph

61 Commits

Author SHA1 Message Date
Riqwan Thamir fbbfb0cb62 feat(framework,medusa): Ensure publishable key middleware is set for all store endpoints (#9429)
* feat(framework,medusa): Ensure publishable key middleware is set for all store endpoints

* chore: fix tests
2024-10-02 18:01:50 +02:00
Shahed Nasser 7bc7c50eef fix(types, medusa): http types fixes (#9334)
* fix(types, medusa): http types fixes

* fix build error

* remove return fields

* more fixes

* fix cart payload types
2024-10-02 10:28:22 +03:00
Oli Juhl 8851ae7b51 fix: Update tax lines on cart when region changes (#9367)
**What**
- Removes broken cart retrieval step `retrieveWithCartLinks` in favor of `useRemoteQueryStep` in `updateTaxLinesWorkflows`

**Why**
- Filters variables in the step were passed with an incorrect shape
  - I removed the step, since it's only used once and the behavior is identical to the generic remote query step

**Note**
- Because the filters were passed incorrectly, the, now-removed, step has always returned the first cart in the database. As a result all tax calculations so far have been based on whatever the shape of that cart has. It basically ignores all input to this workflow
2024-09-30 11:55:54 +00:00
Carlos R. L. Rodrigues 19bc8d7f61 fix(core-flows): shipping options for cart (#9343)
FIXES: CC-536

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2024-09-27 12:32:32 +00:00
Adrien de Peretti a8e19faf8d chore: use framework sub paths everywhere (#9253) 2024-09-26 16:38:38 +05:30
Shahed Nasser 3533aa86e8 fix(types, medusa): fixes to HTTP types (#9273)
### types

- Remove `is_internal` and `is_active` from `StoreProductCategory`
- Add missing status, reference, and action enums from `BaseOrderChange` and `BaseOrderChangeAction`
- Remove unused totals from `BaseOrderSummary`.
- Fix references to base types from admin / store types
- Other general fixes

### medusa

- Use HTTP types for create / update return reason routes
- Remove type arguments from the calculate taxes route since it's a `POST` API route but the type argument for the select query parameters only.
- Add `metadata` to the list of cart's fields.
- Add type casting for order previews in response
2024-09-25 15:24:23 +00:00
Shahed Nasser d7dd7de0fe fix(types): remove BigNumberValue usages in http types (#9285)
remove all `BigNumberValue` usages in http types, since http requests will only receive a number.
2024-09-25 12:12:43 +00:00
Riqwan Thamir 69f6645716 feat(core-flows,dashboard,types,fulfillment,medusa): uses requires shipping throughout lifecycle (#9170)
what:

- uses requires shipping throughout lifecycle

https://github.com/user-attachments/assets/d5ba89d3-5ea0-49c4-b2d5-490c4764933e
2024-09-24 08:26:22 +00:00
Carlos R. L. Rodrigues 950cf9af79 chore: remove container registration name (#9137) 2024-09-16 06:22:24 -03:00
Riqwan Thamir a729fb3fbb feat(utils,types,framework,medusa): store endpoints should require publishable key (#9068)
* feat(utils,types,framework,medusa): store endpoints should require publishable key

* chore: fix specs

* chore: fix more specs

* chore: update js-sdk

* chore: fix specs wrt to default SC

* chore: revert custom headers + change error message

* chore: fix specs

* chore: fix new store specs
2024-09-11 15:08:37 +02:00
Riqwan Thamir afd0921326 fix(utils,medusa,order,cart): fix totals when promotions are included (#9014)
* fix(utils): fix totals when promotions are included

* chore: update totals calc

* chore: ignore taxes when taxable amount is 0

* chore: use subtotals everywhere

* chore: fix shipping totals + tests
2024-09-10 10:59:22 +02:00
Shahed Nasser c962283281 fix(types, medusa): request / response types clean-up (#9043)
More clean-up of request / response types
2024-09-09 06:59:43 +00:00
Shahed Nasser 4b1827ed48 fix(types,medusa): fix query types for some store routes (#8994) 2024-09-04 19:36:55 +03:00
Oli Juhl cbb0a6adc7 fix: Customer registration (#8896)
* fix: Customer registration

* update test

* one mroe test

* chore: add transformation
2024-09-01 11:41:39 +02:00
Carlos R. L. Rodrigues 4ffb49efd0 chore(cart): completed at (#8921) 2024-08-31 12:42:58 -03:00
Shahed Nasser 0ee5c2d501 fix(dashboard, js-sdk, types, medusa): separate between delete response with and without parent (#8852)
- Separate the previous `DeleteResponse` to `DeleteResponse` and `DeleteResponseWithParent`, as not every API route's delete response returns a parent. This ensures more accurate types shown in OAS / documentation.
- Use `DeleteResponse` or `DeleteResponseWithParent` in response API routes based on what they return
- Remove direct usage of `DeleteResponse` in API route, and instead create a type in the `type` package specific for the route / domain.
- Use the new types in the `js-sdk` and `dashboard`.
2024-08-30 07:15:02 +00:00
Shahed Nasser 9f495fd853 chore(types, medusa): [3/3] add missing query type arguments (#8880)
Add missing type arguments in listing requests.

3/3
2024-08-30 07:07:18 +00:00
Oli Juhl c2e7940f61 fix: Validate boolean query params (#8834) 2024-08-28 13:14:15 +02:00
Shahed Nasser 8f8e2f5a65 fix(medusa): use correct request type for create cart API route (#8820) 2024-08-28 12:16:30 +03:00
Carlos R. L. Rodrigues 058378970a chore: dependecies reorg (#8535) 2024-08-23 07:16:04 -03:00
Shahed Nasser 078c2df773 chore(medusa,types): [4] Add request types to API routes (#8561) 2024-08-13 09:37:11 +03:00
Shahed Nasser 578e5182dd chore(medusa,types): [3] Add request types to API routes (#8560)
* chore(medusa,types): [3] Add request types to API routes

* more types
2024-08-13 09:36:56 +03:00
Shahed Nasser e5e8489cc0 chore(medusa,types): [2] Add request types to API routes (#8559)
* chore(medusa,types): [2] Add request types to API routes

* fix up base currency
2024-08-13 09:36:41 +03:00
Shahed Nasser 24985cf89d chore(medusa,types): [1] Add request types to API routes (#8558)
Add request types as type arguments in API routes. This also includes adding / rearranging types under the `types` package.

PR 1/n
2024-08-12 11:27:00 +00:00
Carlos R. L. Rodrigues 6ffe85aa3d chore(core-flows): favor runAsStep (#8540) 2024-08-12 06:21:11 -03:00
Christian d4c5f6593d Feat: admin return reason list (#8482)
* feat: add missing endpoints to return reason sdk

* add return reason list route

* add return reason query hooks

* fix update return reasons in order modules service

* fix store/return-reasons middleware

* add missing tests for /return-resasons/:id
2024-08-08 16:24:13 +02:00
Harminder Virk 7695d30952 feature: add create and update cart hooks (#8481) 2024-08-07 16:00:37 +05:30
Carlos R. L. Rodrigues 5125d1328d chore(medusa,core-flows): cart payment collection link (#8457) 2024-08-06 06:12:21 -03:00
Stevche Radevski 3a068c6b27 feat: Use tag ids instead of values wherever possible (#8394) 2024-08-02 09:22:03 +02:00
Adrien de Peretti f81652bf6e chore(framework): Move and improve routes loader (#8392)
* chore(framework): Move and improve routes loader

* cleanup

* fix(framework): import
2024-08-01 16:18:42 +02:00
josetr 74d0d166b3 Cart API should also return billing_address.province by default (#8293)
* Cart API should also return billing_address.province by default

* Add shipping_address.company & billing_address.company fields
2024-07-26 12:14:05 +02:00
Carlos R. L. Rodrigues 07205e4249 fix(utils): totals calculation (#8190) 2024-07-19 06:49:49 -03:00
Carlos R. L. Rodrigues de36e2b36e chore: rename return flow (#8050) 2024-07-10 08:09:10 -03:00
Stevche Radevski 1c3ef13371 feat: Add necessary middlewares for tax inclusive pricing (#7827)
We are adding tax inclusive pricing calculation when listing products.

Two things to keep in mind:
- `region_id` will be required if you request calculated prices.
- We won't accept `currency_code` anymore, as that will come from the region info (since ultimately a cart and its currency are tied to a region)

REF CORE-2376
DEPENDS ON #8003
2024-07-09 09:37:13 +00:00
Stevche Radevski db6969578f feat: Plug tax inclusivity in cart and order workflows (#8013) 2024-07-09 11:10:42 +02:00
Carlos R. L. Rodrigues a7844efd09 chore: move ModuleRegistrationName to utils (#7911) 2024-07-03 06:30:56 -03:00
Stevche Radevski 0dd927a26c fix: Select region and email by default for order (#7909) 2024-07-02 15:20:03 +00:00
Carlos R. L. Rodrigues 9f3998393b fix(totals): order item totals (#7867) 2024-06-28 09:34:25 -03:00
Stevche Radevski 944051a951 fix: Allow filtering products by variant options in store (#7784) 2024-06-21 10:42:09 +02:00
Riqwan Thamir f61557712c chore: make apis nullable (#7763)
what:

- makes top level attributes of each object an optional field in the http layer where possible

RESOLVES CORE-2229
2024-06-20 10:10:59 +00:00
Adrien de Peretti 48963f55ef Chore/rm main entity concept (#7709)
**What**
Update the `MedusaService` class, factory and types to remove the concept of main modules. The idea being that all method will be explicitly named and suffixes to represent the object you are trying to manipulate.
This pr also includes various fixes in different modules

Co-authored-by: Stevche Radevski <4820812+sradevski@users.noreply.github.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-06-19 13:02:16 +00:00
Oli Juhl 6ee0a2c1b5 feat: Variant inventory quantity in GET requests (#7701)
* feat: Variant inventory quantity in GET requests

* clean up

* fix link name
2024-06-13 13:41:54 +02:00
Oli Juhl 3f661c917b feat: Fix subscribers loading + add order <> cart link (#7617) 2024-06-09 12:31:28 +02:00
Shahed Nasser bd302e678e fix(medusa): return a single category instead of an array in retrieve category route (#7638)
* fix(medusa): return a single category instead of an array in retrieve category route

* change to use refetchEntity
2024-06-06 19:30:31 +02:00
Stevche Radevski e44fe78b96 fix: Several fixes to store product endpoints, moved several test suites to HTTP (#7601)
* chore: Move publishable api key tests to HTTP

* chore: Move store tests to HTTP folder

* fix: Add tests for store products, fix several bugs around publishable keys
2024-06-04 21:00:07 +02:00
Riqwan Thamir e7005a0aac feat(core-flows,medusa): adds inventory kit creation to variants endpoint (#7599)
what:

When creating a variant, we can now create inventory as a part of the product and variants create endpoint.

This applies only to variants where `manage_inventory=true`. 2 cases present itself:

1. When inventory_items are present
  - Link an inventory item with required_quantity to the variant
  - the inventory item already needs to be present
2. When inventory_items are not present
  - A default inventory item will be created
  - links the created item to the variant with a default required_quantity
  
  
RESOLVES CORE-2220
2024-06-04 13:49:31 +00:00
Riqwan Thamir 15e9787465 feat(types,medusa): add inventory quantity to products endpoint (#7541)
what:

- when inventory_quantity is requested through the API, we calculate the inventory based on sales channels + stock locations and return the total available inventory.

A variant can have multiple inventory items. As an example:

Table: (variant)
  - 4 (required_quantity via link) x legs (inventory item)
  - 2 x table top

Only if all individual inventory items of a variant are available, do we mark the variant as available as a single unit. 

RESOLVES CORE-2187
2024-05-30 13:20:06 +00:00
Stevche Radevski aeda24265d feat: Remove returning token from customer and user endpoints (#7523)
* chore: Move generateJwtToken to utils

* feat: Stop returning token on user and customer endpoints
2024-05-29 17:13:01 +02:00
Oli Juhl ad21bd30b1 fix: errors thrown in transformer (#7480)
* chore: wup

* throw on error

* add back test

---------

Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
2024-05-28 08:44:33 +02:00
Riqwan Thamir 7baedf73d5 feat(core-flows,types,utils,medusa): Update existing line items when adding the same variant to cart (#7470)
* feat(core-flows,types,utils,medusa): Update existing line items when adding the same variant to cart

* chore: split steps into 2 for add-to-cart

* chore: split steps into 2 for add-to-cart

* chore: iterate safely

* chore: parallelize upsert
2024-05-27 17:54:11 +02:00