Commit Graph

2001 Commits

Author SHA1 Message Date
Riqwan Thamir 8ac74c1357 feat(core-flows,types,pricing,medusa): Products API can create prices with rules (#7796)
* chore: Products API can create prices with rules

* chore: fix tests

* chore: cleanup

* chore: address comments
2024-06-21 15:30:36 +02: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 305e1d66ca fix(medusa): Load subscribers and scheduled jobs in worker mode (#7769) 2024-06-18 19:15:55 +02:00
Riqwan Thamir 0d04c548f5 feat(dashboard,types,promotion,medusa): hide fields on promotions depending on templates (#7746)
**what:**

- hides different fields depending on the chosen template
- remove operator values API
- fixes to edit promotion rules
- make currency optional for promotion

RESOLVES CORE-2297
2024-06-18 16:47:42 +00:00
Kasper Fabricius Kristensen 2d8d2c4255 feat(dashboard,js-sdk,types,admin-shared): Add Product Types domain (#7732) 2024-06-17 16:50:55 +00:00
Riqwan Thamir 3d33f06e77 chore: upgrade jest everywhere (#7703) 2024-06-14 07:35:30 +02: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
Stevche Radevski d862d03de0 feat: Revamp of product categories (#7695)
* feat: Normalize the categories interface to match standards

* feat: Revamp the product category implementation

* fix: Adjustments to code and tests around product categories
2024-06-13 09:10:12 +02:00
Riqwan Thamir 129fb447d0 chore: allow calculating prices without explicit fields (#7691) 2024-06-12 20:04:53 +02:00
Kasper Fabricius Kristensen 2f76fbc6ed feat(dashboard,types,sdk,medusa,ui): ProductCategory domain (#7675)
**What**
- Add missing features to ProductCategory domain in admin
- Add types
- Add SDK

**UI**
- Moves the TooltipProvider from the component to an export. Users should now wrap their entire application in a TooltipProvider. This change was made to take advantage of the built-in features of Radix Tooltip, and allows us to skip the delayDuration when moving the cursor from one tooltip to another within 500ms.
- Fixes the layout of the Hint component, as the create form revealed that it was off.
- Fixes an issue where focus styles were missing from the dropdown menu.

**Note**
- ~~We currently don't have an endpoint for deleting categories, so I have disabled the button in the admin. See CORE--2286~~ PR has been opened to add delete endpoint, so I have re-enabled the delete button.
- The update category workflow seems to be broken, it's possible for the `mpath` of a category to reach an invalid state, that breaks `include_descendants_tree` from working. See CORE-2287.
- The ProductCategory model is incorrect. All fields are optional and it's not possible to set the description to null, which means the only way of unsetting it is to set it to `""`. See CORE-2276.
- The design for the Organize drag-n-drop form is not final. Ludvig will create a final design, and we can then update the form.
- Currently, all things related to Metadata is left out, as we need to update the flow for metadata according to the latest designs.

RESOLVES CORE-1960, CORE-2230
*except for the above mentioned issues.
2024-06-12 11:15:12 +00:00
Stevche Radevski 0e731dbad0 feat: Add support for category deletion (#7679) 2024-06-11 16:49:42 +02:00
Stevche Radevski bef5941714 feat: Add support for scheduled jobs (#7674) 2024-06-11 11:35:56 +00:00
Stevche Radevski 8e2a42b786 Clean up product typings (#7663)
There are a lot of issues in the admin after applying the correct typings, but fixing those should be done gradually, it's better to keep it out of this PR
2024-06-11 09:28:40 +00:00
Riqwan Thamir 39ddba2491 chore: ability to group events on redis event bus (#7655)
* chore: ability to group events on redis event bus

* chore: fix tests

* Update packages/modules/event-bus-redis/src/services/event-bus-redis.ts

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>

* chore: change shape of input and body data

* chore: fix builds

* chore: address comments

* chore: fix unit test

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2024-06-10 22:15:43 +02:00
Frane Polić f08f0d6cc9 feat(dashboard): inventory create flow (#7650) 2024-06-10 17:37:36 +02:00
Oli Juhl 3f661c917b feat: Fix subscribers loading + add order <> cart link (#7617) 2024-06-09 12:31:28 +02:00
Riqwan Thamir 1f1b996f63 chore: buyget templates add default target + buy rules (#7500)
* chore: buyget templates add default target + buy rules

* chore: reposition

* chore: address comments

* chore: added fixes

* chore: fix typo

* chore: fix strictness checks
2024-06-07 09:47:31 +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 a62a8be016 chore: Move price list tests to HTTP folder (#7632)
* chore: Move price list tests to HTTP folder

* chore: Remove several unused helpers
2024-06-06 17:17:41 +02:00
Riqwan Thamir 0507dbe027 chore(core-flows,inventory,types,medusa): add fixes to inventory module + location levels api (#7629)
what:

- santizes inputs to prevent reserved_quantity from being updated directly
- inventory items create api can create location levels
- add validation to update quantity of reservation items
- general cleanup

RESOLVES CORE-2254
2024-06-06 12:58:17 +00:00
Kasper Fabricius Kristensen 50ce223e4b feat(types,js-sdk,medusa,fulfillment): Types and SDK methods related to Stock Locations (#7625) 2024-06-06 11:04:42 +02:00
Frane Polić d285e60961 feat(dashboard,core-flows,medusa): update fulfillment flows (#7589)
* fix: fulfillment ops

* fix: cancel fulfillment route

* fix: adjustInventoryLevelsStep throwing

* feat: cancel order and fix endpoint

* fix: type

* feat: order domain sdk

* feat: delete unused file

* fix: import
2024-06-06 08:58:21 +02:00
Stevche Radevski d2e1e9f8c7 fix: Apply strict schema for all body and query parameters (#7624) 2024-06-05 15:40:54 +00:00
Riqwan Thamir 0a5b2b5fa7 chore: fix inventory items specs (#7620) 2024-06-05 15:27:54 +02:00
Stevche Radevski 1e3c8747e5 chore: Move inventory tests to HTTP layer (#7613) 2024-06-05 09:36:58 +00:00
Stevche Radevski fafc92b875 Revamp auth module to support multiple providers linked to a single auth identity (#7521) 2024-06-05 07:47:16 +00:00
Oli Juhl dc087bf310 feat: Move shipping option + profile test and more (#7609) 2024-06-05 08:36:41 +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
Stevche Radevski 0929c4f457 Feat: Add product tag endpoints, move tests to HTTP folder (#7591)
* chore: Move product type tests to HTTP folder

* feat: Add product tags endpoints and move tests to HTTP folder
2024-06-04 10:56:22 +02:00
Oli Juhl ce40fe88f5 chore: Move admin invites + user tests to HTTP (#7596) 2024-06-04 10:53:01 +02:00
Riqwan Thamir ecfbfcc707 feat(core-flows,modules-sdk,types,medusa,link-modules): adds variant <> inventory item link endpoints (#7576)
what:

- adds variant inventory link management endpoints:
```
Link inventory item to variant
POST /products/:id/variants/:vid/inventory-items

Update variant's inventory item link
POST /products/:id/variants/:vid/inventory-items/:iid

Unlink variant's inventory item
DELETE /products/:id/variants/:vid/inventory-items/:iid
```

- a batch endpoint that does the above 3 across variants
```
POST /products/:id/variants/inventory-items
```
2024-06-03 18:23:29 +00:00
Carlos R. L. Rodrigues 122186a78d chore(order): cancel order (#7586) 2024-06-03 12:31:33 -03:00
Stevche Radevski fdd9022376 chore: Move payment tests to http folder (#7588) 2024-06-03 15:04:18 +00:00
Oli Juhl 0c0c510a37 chore: Move admin region tests (#7582) 2024-06-03 14:25:43 +02:00
Stevche Radevski 100154d905 chore: Move currency, collection, and auth tests to http folder (#7581)
* chore: Move auth tests to http folder

* chore: Migrate collection tests to http folder

* chore: Move currency tests to http folder
2024-06-03 12:13:22 +02:00
Oli Juhl cabdb2fcd8 chore: Move sales channel tests (#7579)
What
- Move sales channel integration tests from `/api` to `/http`

Deleted tests that do not belong in the suite:
- POST /admin/products/:id
   - Mutation sales channels on products
- POST /admin/products
   - Creating a product with a sales channel
- GET /admin/products
   - Filtering products by sales channel
   - Expanding with a sales channel
- GET /admin/orders
   - Filtering orders by sales channel
   - Expanding with a sales channel
- POST /admin/orders/:id/swaps
   - Creating a swap with a sales channel
2024-06-03 09:47:45 +00:00
Oli Juhl 65d3222973 chore: Move customer + customer group integration tests and fixes issues (#7577)
* chore: Move customer + customer group and fixes issues

* remove /customer sendpoint
2024-06-03 10:52:32 +02:00
Carlos R. L. Rodrigues af0140d317 feat(order): cancel fulfillment (#7573) 2024-06-02 09:33:24 -03:00
Harminder Virk 11528526fa feat: loosely typed container 2024-05-31 15:22:03 +05:30
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 6698f3ab7b feat: Add http integration tests and enable them in pipeline (#7532) 2024-05-30 10:51:31 +02:00
Stevche Radevski 5ad6864b82 feat: Improve zod error messages (#7535) 2024-05-30 09:52:47 +02: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
Kasper Fabricius Kristensen e5e5eb6e18 fix(dashboard): Clean Edit Variant form payload of empty strings (#7512)
* fix(dashboard): Clean Edit Variant form paylod of empty strings

* fix(dashboard,medusa): Allow passing null to update variant to unset fields

* fix product edit form

* cleanup

* cleanup

* pass prop
2024-05-29 17:09:40 +02:00
Riqwan Thamir f0b9d5534e chore: query inventory items by location id (#7524)
what:

- allows querying inventory items by the correct location_id
2024-05-29 14:14:10 +00:00
Carlos R. L. Rodrigues f1ced57d5f chore: payment auto capture + remove enum from utils (#7513)
What:

- handles payments session that are auto captured
- removes all the enums from `@medusajs/types`
- move all `@medusajs/types` to devDependencies
2024-05-29 11:12:59 +00:00
Carlos R. L. Rodrigues bbca54efa7 chore(order): aggregate statuses (#7497) 2024-05-29 07:05:42 -03:00