Commit Graph
212 Commits
Author SHA1 Message Date
Patrick 09dc9c6677 feat(oas): declare x-codegen on Admin routes - A to D (#3090)
### What

Declare `x-codegen` in OAS for Admin routes - A to D.

### Why

We are introducing a new `x-codegen` OpenApi extension, also known as _vendor extension_, in order to help with passing information down to code generators.

In our case, we wish to declare the `method` name that we would expect to call on a client. This mimics our current JS client package. 
E.g. `medusaClient.product.list` where `product` is the tag of the route and `list` is the x-codegen.method value.

We are also defining the name of a potential typed object for query parameters. OAS 3.0 does not allow to bundle query parameters under a single definition but it is not uncommon to see API clients handle all query parameters as a single typed object, like our JS client package. With x-codegen.queryParams, a code generator can create a named and typed object to bundle all query parameters for a given route. 
E.g. `medusaClient.customer.retrieve(id: string, queryParams: AdminGetCustomerParams)` 

### How

Declare `x-codegen` as an object with fields `method` and `queryParams` on all paths.

Match method and queryParams values with equivalent ones from our current JS client package.

### Test

* Ran OAS validator.
* Ran docs build script.

Expect no visible changes to the documentation.
2023-01-23 20:32:20 +00:00
Carlos R. L. RodriguesandOliver 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. RodriguesandSebastian 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
olivermrbl 7152073b00 Merge branch 'master' into develop 2023-01-19 18:30:44 +01:00
olivermrbl a48c533bec chore(release): Publish 2023-01-19 18:29:07 +01:00
olivermrbl 15bea8d49e Merge branch 'master' into develop 2023-01-19 18:26:34 +01:00
Oliver Windall Juhl 9c2169422d fix(medusa): Only add Sales Channel relation + field when enabled (#3069) 2023-01-19 18:26:10 +01:00
Oliver Windall Juhl 9427bc7f25 fix(medusa): Move migration to correct folder (#3067) 2023-01-19 17:34:59 +01:00
Kasper Fabricius Kristensen fcba705701 fix(medusa): Allow deleting metadata fields (#3055) 2023-01-19 11:34:13 +01:00
olivermrbl 6481b0c357 chore(release): Publish 2023-01-18 18:48:57 +01:00
Philip Korsholm 9c4647383e Feat/reservations endpoints (#2995)
**What**
- add reservation endpoints: 
 - `create-reservation`
 - `update-reservation`
 - `delete-reservation`
 - `get-reservation`
 - `list-reservations`
 - `orders/create-reservation-for-line-item`
 - `orders/get-reservations`

Fixes CORE-979
2023-01-18 16:39:33 +00:00
Kasper Fabricius Kristensen 150696de99 feat(medusa, medusa-js, medusa-react): Add endpoint to retrieve product tags from the storefront (#3051) 2023-01-18 10:47:15 +01:00
olivermrbl ab580066ae fix: Merge conflicts with master 2023-01-18 10:17:39 +01:00
Philip Korsholm 76d1752310 fix(medusa): Draft order inventory management (#3040)
* reserve quantities when creating a draft order

* only adjust quantities if a location is provided on a fulfillment

* initial fix for fulfillments

* changeset

* add check for inventory service when cancelling fulfillment

* update test-request with module loaders

* remove unused variable
2023-01-17 16:14:58 +01:00
Patrick cb1ec0076b chore(oas): replace response with $ref class JSDoc (Store PRO-V) (#3044)
### Scope

Store routes directories PRO to V.

### What

Move inline OAS response schema declaration under their respective class declarations in order to expose them through  `#/components/schemas`. Replace inline OAS response schema with a `$ref` reference pointing to the newly declared schema.

### Why

Having response declared as its own "named" schema will allow OAS code generators to output typed entities/DTO that can be consumed without having to reference the route/operation.

### How

Declare a new @schema JSDoc for each "Res" class used to parse and validate request body. Move the current inline requestBody to the new @schema.

### Test

- Ran OAS validator.
- Ran docs build script.

Expect no visible changes to the documentation.
2023-01-17 14:22:10 +00:00
Carlos R. L. Rodrigues 0175388835 feat(medusa): Transaction Orchestrator (#2861)
* chore: transaction orchestrator
2023-01-16 20:16:41 -03:00
Riqwan Thamir 7d4b8b9cc5 feat(medusa): List (service + controller) product categories #3004 (#3023)
**What:**

Introduces a store endpoint to retrieve a list of product categories

**Why:**

This is part of a greater goal of allowing products to be added to multiple categories.

**How:**

- Creates an endpoint in store routes

RESOLVES CORE-968
2023-01-16 19:20:42 +00:00
Patrick 1ec1a78dfa Merge branch 'develop' into chore/oas-res-schema-AtoPAY 2023-01-16 11:59:19 -05:00
Patrick 542daeeadd chore: changeset 2023-01-16 11:59:05 -05:00
Kasper Fabricius Kristensen cb25244007 hotfix(medusa-js, medusa-react): Fix issue with JS client bundle (#3038) 2023-01-16 17:44:24 +01:00
PatrickandOliver Windall Juhl a0c4cfe0f7 chore(oas): replace response with $ref class JSDoc (Admin PR0-SAL) (#3030)
### Scope

Admin routes directories PRO to SAL.

### What

Move inline OAS response schema declaration under their respective class declarations in order to expose them through  `#/components/schemas`. Replace inline OAS response schema with a `$ref` reference pointing to the newly declared schema.

### Why

Having response declared as its own "named" schema will allow OAS code generators to output typed entities/DTO that can be consumed without having to reference the route/operation.

### How

Declare a new @schema JSDoc for each "Res" class used to parse and validate request body. Move the current inline requestBody to the new @schema.

### Test

- Ran OAS validator.
- Ran docs build script.

Expect no visible changes to the documentation.

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-01-16 16:00:05 +00:00
Adrien de Peretti 8c08d00319 fix(medusa): Legacy total service to accept custom items (#3027) 2023-01-16 09:57:01 +01:00
PatrickandOliver Windall Juhl 27a29ef24e chore(oas): replace response with $ref class JSDoc (Admin SHI-V) (#3031)
### Scope

Admin routes directories SHI to V.

### What

Move inline OAS response schema declaration under their respective class declarations in order to expose them through  `#/components/schemas`. Replace inline OAS response schema with a `$ref` reference pointing to the newly declared schema.

### Why

Having response declared as its own "named" schema will allow OAS code generators to output typed entities/DTO that can be consumed without having to reference the route/operation.

### How

Declare a new @schema JSDoc for each "Res" class used to parse and validate request body. Move the current inline requestBody to the new @schema.

### Test

- Ran OAS validator.
- Ran docs build script.

Expect no visible changes to the documentation.

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-01-15 19:04:26 +00:00
Oliver Windall Juhl 1547dd8143 fix(medusa): Add module config to transaction base service (#3033) 2023-01-15 19:37:11 +01:00
Adrien de Peretti 93d0dc1bdc fix(medusa): test, build and watch scripts (#3025) 2023-01-15 17:10:26 +01:00
Adrien de Peretti 142c8aa70f fix(medusa, medusa-payment-paypal): Add missing data in Payment Collection input (#3010) 2023-01-13 16:26:39 +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
Adrien de Peretti b3e4be7208 fix(medusa): Draft order totals not working with custom items (#3008) 2023-01-13 13:52:09 +01:00
Oliver Windall Juhl 9e3beaf531 chore(feature-flags): Remove OrderEditing feature flag (#3006) 2023-01-13 11:10:09 +00:00
Oliver Windall Juhl d2c692aa96 fix(medusa): Add default sales channel to product in seeding (#3013) 2023-01-13 10:01:30 +01:00
Riqwan Thamir b2839e2e4d feat(medusa): Retrieve (service + controller) a product category (#3004)
What:

Introduces a store endpoint to retrieve a product category

Why:

This is part of a greater goal of allowing products to be added to multiple categories.

How:

- Creates an endpoint in store routes

RESOLVES CORE-967
2023-01-12 16:19:06 +00:00
Oliver Windall Juhl b80124d32d feat(medusa): Allow custom created_by on order edits (#3007) 2023-01-12 15:47:18 +01:00
Riqwan Thamir aef8421235 feat(medusa): Emit events on product category mutations (#3003)
* chore: added events on product category mutation

* chore: remove duplicates + refactor test
2023-01-12 09:32:03 +01:00
Philip Korsholm 1dc79590b3 fix(medusa): Rename quantity to required quantity (#2963) 2023-01-11 19:21:05 +01:00
Kasper Fabricius Kristensen 8d1275c942 feat(medusa-react): Upgrade react-query and clean up dependencies (#2969) 2023-01-11 19:19:34 +01:00
Riqwan Thamir aab163babb feat(medusa): Nested Categories Admin Update Endpoint (#2986)
What:

Introduces an admin endpoint that allows a user to update a product category

Why:

This is part of a greater goal of allowing products to be added to multiple categories.

How:

- Creates a route on the admin scope to update category
- Creates a method in product category services to update a category

RESOLVES CORE-956
2023-01-11 16:21:53 +00:00
olivermrbl a8bde8ba74 chore(release): Publish 2023-01-11 16:27:54 +01:00
olivermrbl 9cf971c6bd chore: Add missing changeset for PayPal plugin 2023-01-11 16:24:41 +01:00
Riqwan Thamir 8ed4eab73a feat(medusa): added admin create endpoint for nested categories (#2985)
What:

Introduces an admin endpoint that allows a user to create a product category

Why:

This is part of a greater goal of allowing products to be added to multiple categories.

How:

- Creates a route on the admin scope to create category
- Creates a method in product category services to create a category

RESOLVES CORE-958
2023-01-11 13:29:02 +00:00
olivermrbl 8e80e50638 chore: Update changesets 2023-01-10 19:26:34 +01:00
Adrien de Peretti a2df11fc10 fix(medusa-payment-manual): Correct wrongly used input data (#2979) 2023-01-10 18:23:24 +01:00
Oliver Windall Juhl 3308766389 chore(feature-flags): Sales Channels enabled by default (#2966) 2023-01-10 16:45:23 +00:00
Adrien de Peretti cac81749ea feat(medusa): Update payment session management (#2937) 2023-01-10 16:33:24 +01:00
Riqwan Thamir 71fa60892c feat(medusa): Nested Categories Admin Delete Endpoint (#2975)
**What:**

Introduces an admin endpoint that allows a user to delete a product category, given an ID.

Why:

This is part of a greater goal of allowing products to be added to multiple categories.

How:

- Creates a route on the admin scope to delete category
- Creates a method in product category services to delete a category

RESOLVES CORE-957
2023-01-10 14:28:46 +00:00
Kasper Fabricius Kristensen f6c81dab9e feat(medusa-js): Bundle package using Rollup (#2964) 2023-01-10 14:44:25 +01:00
Riqwan Thamir f3ced106ad feat(medusa): Nested Categories Admin List Endpoint (#2973)
* chore: added get route for admin categories API

* chore: add tree method to mock repository

* chore: added changeset to the PR

* chore: rename id to productCategoryId in service

* chore: switch cli option to string

* chore: lint fixes, tests for parent category

* chore: move Nested Categories behind feature flag

* chore: use transformQuery hook in api

* chore: add feature flag in migrations

* chore: remove migration FF, fix FF name

* chore: add free text search + count repo function

* chore: added list endpoint for admin

* chore: added changeset for feature

* chore: address pr review comments

* chore: change oas comment

* chore: add nullable parent category filter + test
2023-01-10 12:52:31 +01:00
Adrien de Peretti 4a50786fbc feat(medusa): Introduce Payment Processor API (#2737) 2023-01-10 12:15:42 +01:00
Adrien de PerettiandOliver Windall Juhl 1817b810fc fix(medusa): Cancel order missing refunds relation (#2976)
**What**

The order cancelation does not include the refunds relation. It means that the check of the length of the refund is never true and therefore no errors are thrown if the order contains the refunds.

**How**

Add the refunds relation and tests

FIXES CORE-976

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-01-10 09:38:59 +00:00
Riqwan Thamir 47d075351f feat(medusa): Get route for admin product categories API (#2961) 2023-01-10 10:08:16 +01:00
Oliver Windall Juhl 33b3e5f16d chore(feature-flags): Publishable Keys enabled by default (#2967) 2023-01-10 08:59:57 +01:00