Commit Graph
1746 Commits
Author SHA1 Message Date
Philip Korsholm 3171b0e518 feat(medusa): add if statement to idempotency-key initialize (#3555)
* add if statement to idempotency-key initialize

* add changeset
2023-03-22 21:34:50 +01:00
Oliver Windall Juhl 74bc4b16a0 feat(medusa-plugin-algolia): Revamp Algolia search plugin (#3510) 2023-03-22 12:55:26 +01:00
Oliver Windall Juhl ef5ef9f5a2 feat(medusa,event-bus-local,event-bus-redis): Event Bus modules (#2599) 2023-03-22 10:26:21 +01:00
Riqwan Thamir 7f2223b650 fix(medusa): fix bug with parent not being saved correctly (#3534)
What:

- Parent was being updated incorrectly because of a weird typeorm issue, making the rank pick up the wrong entity's rank. This PR fixes that issue by passing in an ID and letting the service take care of fetching the parent.

RESOLVES CORE-1274
2023-03-21 08:37:13 +00:00
Riqwan Thamir 98cad6d731 feat(medusa): seed command can create product categories (#3528)
* chore: seed command can create product categories

* chore: lint fixes

* chore: add a default value for categories
2023-03-20 19:08:52 +01:00
Philip Korsholm 55c5fba0d3 Feat(admin, medusa): add locations to claim and swap creation (#3522)
**What**
- Add location selection to claim and swap creation

Fixes CORE-1269
2023-03-20 14:05:37 +00:00
Philip Korsholm 026bdab05d Feat/fulfill swaps and claims with locations (#3518)
* re-add if statements

* initial implementation

* add changeset

* address feedback

* remove context param from create-fulfillment

* fix tests
2023-03-20 13:48:25 +01:00
Philip Korsholm ea2633bccf Fix/minor mw fixes (#3521)
**What**
- Fix stock locations quantities being shown as `undefined` and `NaN`
- Throw if updates to location levels are made with negative quantities through the api
- Show "allocated" in order summary for partially fulfilled orders

Fixes CORE-1268, CORE-1267, CORE-1265
2023-03-19 20:28:59 +00:00
Philip KorsholmandOliver Windall Juhl aed7805c0e fix(medusa): Error messages for reset tokens (#3514)
* initial

* reset password token handling

* Create .changeset/old-planes-cross.md

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-19 10:52:10 +01:00
Carlos R. L. Rodrigues aa690beed7 feat(medusa): Modules initializer (#3352) 2023-03-17 12:18:52 -03:00
Philip KorsholmandOliver Windall Juhl 0d1b63d773 fix(medusa): Use get for creating fulfillments (#3498)
* use get

* changeset

* use set

* add tests

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-16 19:03:36 +01:00
Davor BačićandOliver Windall Juhl fe4b8feb7e feat(medusa): Add event emitter to ProductCollectionService (#3495)
* added event emit on ProductCollectionService CRUD, updated unit test

* productCollectionService code style fix

* Create .changeset/gold-fireants-look.md

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-16 19:01:26 +01:00
Oliver Windall Juhlandadrien2p 7e17e0ddc2 feat(medusa-plugin-meilisearch): Update + improve Meilisearch plugin (#3377)
* feat(medusa-plugin-meilisearch): Upgrade meilisearch deps + migrate plugin to TS

* fix version

* Remove transaction base service from search service

* Create .changeset/strange-mails-pump.md

* Backward compatibility

* Address PR feedback

* Fix folder structure

* Update readme

* Move types

* fix deps

* Change version in changeset

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
2023-03-16 16:15:29 +01:00
Philip Korsholm 02c77d7059 Fix/adjust reservations correctly (#3474)
**What**
- Adjust reservations correctly according to the following heuristic: 

adjustment by addition:  (i.e. positive quantity adjustment passed to the adjustment method)
- if a reservation for the line-item in the location exists add quantity to that
- if not create a new reservation

adjustment by subtraction: 
- if a reservation with the exact quantity exists, delete it and return
- if a reservation with a greater quantity exists, subtract from it and return 
- otherwise delete from reservations until a reservation with greater quantity than the remaining is found and adjust that with the remaining quantity OR there are no more reservations

Fixes CORE-1247
2023-03-16 09:47:54 +00:00
Philip Korsholm 38c8d49f46 Feat(medusa): handle reservation quantity update for line items (#3484)
**What**
-  Raise exception if a reservation is updated or created to have larger quantity than is unfulfilled for a line-item

Fixes CORE-1249
2023-03-16 09:15:39 +00:00
Riqwan Thamir 061a600f80 fix(medusa): fix rank order changing on category update (#3486)
what:

- fixes issue where ranking changes when only properties other than rank are updated on categories

FIXES CORE-1253
2023-03-16 08:53:49 +00:00
PatrickandOliver Windall Juhl 13f40d7217 feat(oas): declare x-expanded-relations - Admin (#3483)
* feat(oas): declare x-expanded-relations - Admin

* fixup! feat(oas): declare x-expanded-relations - Admin

* fixup! feat(oas): declare x-expanded-relations - Admin

* fixup! feat(oas): declare x-expanded-relations - Admin

* fixup! feat(oas): declare x-expanded-relations - Admin

* fixup! feat(oas): declare x-expanded-relations - Admin

* feat: move defaultAdminOrdersRelations and Fields to types directory

* chore(changeset): patch

* fix(test): update unit tests

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-16 09:33:09 +01:00
Patrick 522e306e2e feat(oas): declare x-expanded-relations - Store (#3482)
* feat(oas): declare x-expanded-relations - Store

* fixup! feat(oas): declare x-expanded-relations - Store

* fixup! feat(oas): declare x-expanded-relations - Store

* fixup! feat(oas): declare x-expanded-relations - Store

* fixup! feat(oas): declare x-expanded-relations - Store

* chore(changeset): patch

* fix(tests): update store auth integration test

* fix: pr feedback

* fix(test): match response code
2023-03-16 09:08:20 +01:00
Carlos R. L. Rodrigues 77d46220c2 Feat(modules-sdk,inventory,stock-location): modules isolated connection (#3329)
* feat: scoped container for modules
2023-03-15 12:09:45 -03:00
Philip Korsholm 3be6084dfd filter possible locations by inventory id (#3476)
**What**
- Ensure that an inventory level exists for a sales channel (which it will since this is invoked after `confirmInventory` that will validate that stock exists in the sales channel)

Fixes CORE-1225
2023-03-15 12:00:18 +00:00
Patrick 6748877c69 fix(oas,js,react): use AdminExtendedStoresRes instead of AdminStoresRes (#3478)
## What

Declare and use AdminExtendedStoresRes for `[get] /admin/store` endpoint.

## Why

Only `[get] /admin/store` returns `ExtendedStoreDTO`. Other `/admin/store` endpoints return `Store`.

## How

* Create new AdminExtendedStoresRes OAS schema
* Update medusa-js
* Update medusa-react
2023-03-15 11:17:34 +00:00
Philip Korsholm 10bf05c147 Fix(inventory, stock-location): Remove orphaned location levels and reservations (#3460)
**What**
- Remove related inventory levels and reservation items when a stock location is removed

**How**
- Add bulk deletion methods for both inventory levels and reservation items to the inventory service api
- invoke both on location removal

Fixes CORE-1232
2023-03-15 09:12:46 +00:00
Philip KorsholmandSebastian Rindom fe9eea4c18 feat(medusa, admin-ui, medusa-react, medusa-js): Allow toggling of manage inventory (#3435)
**What**
- Toggle manage inventory in the inventory management modal

**How**
- Create/update/remove inventory item based on if `manage_inventory` is set and if an inventory item already exists
- Move all stock location updates to when the modal is submitted
- Add create-inventory-item endpoint in the core

Fixes CORE-1196

Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
2023-03-14 16:14:31 +00:00
Philip Korsholm 30a3203640 Fix(medusa): Missing location id on fulfillments (#3462)
**What**
- include location id when creating a fulfillment
- Allow location updates to reservations without passing along quantity

**Why**
- location_id on fulfillment was null after creation

Fixes CORE-1242, CORE-1243
2023-03-14 11:08:52 +00:00
olivermrbl 24604f1b71 chore: Merge conflicts with master 2023-03-14 11:43:31 +01:00
Philip Korsholm 55a1f232a3 Feat(admin-ui, medusa): request return with location (#3451)
* add location_id to request_return endpoint to support "receive_now" returns

* changeset

* admin request return

* add locations to recieving returns

* cleanup test

* add check for inventory service
2023-03-14 10:35:59 +01:00
olivermrbl 77fd361ce8 chore(release): v1.7.13 2023-03-13 19:09:08 +01:00
Riqwan Thamir 2f42ed35d6 feat(medusa, admin-ui): increase tree depth + scope categories on store + allow categories relation in products API (#3450)
What:
- increase tree depth in react nestable
- scope categories on store queries
- allow categories relation in products API

RESOLVES CORE-1238
RESOLVES CORE-1237
RESOLVES CORE-1236
2023-03-13 17:30:21 +00:00
Adrien de Peretti f0a1355feb feat(medusa): Bulk emit events (#3407) 2023-03-13 15:28:51 +01:00
Patrick 7b57695e00 feat(codegen): x-expanded-relations (#3442)
## What

Alter generated types base on `x-expanded-relations` OAS extension declared on schemaObjects.

## Why

Often, API endpoints will automatically expand a model relations by default. They can also decorate a model with calculated totals. In order to more accurately represent the API, we wish to alter the generated types based on the expanded relations information.

## How

- Follow the relation declaration signature as the backend controllers and the `expand` query param, i.e.: `items.variant.product`.
- Introduce a custom `x-expended-relations` OAS extension.
- Allow for organizing declared relations to help their maintenance.
- Use traversal algorithms in codegen to support deeply nested relationships.
- Use [type-fest](https://www.npmjs.com/package/type-fest)'s `Merge` and `SetRequired` to efficiently alter the types while enabling great intellisense for IDEs.

Extra scope: 
* Added convenience yarn script to interact with the `medisa-oas` CLI within the monorepo. 

## Test

Include in the PR are two implementations of the x-expanded-relations on OAS schema, a simple and a complex one.

### Step 1
* Run `yarn install`
* Run `yarn build`
* Run `yarn medusa-oas oas --type combined --out-dir ~/tmp/oas`
* Run `yarn medusa-oas client --type combined --component types --src-file ~/tmp/oas/combined.osa.json --out-dir ~/tmp/types`
* Open `~/tmp/types/models/StoreRegionsRes`
* Expect relations to be declared as required

### Step 2
* Open `~/tmp/types/models/StoreCartsRes`
* Expect relations to be declared as required
* Expect nested relations to have relations as required.

### Step 3 (optional)
* Open `~/tmp/types` in an intellisense capable IDE
* Within the `index.ts` file, attempt to declare a `const storeRegionRes: StoreRegionRes = {}`
* Expect IDE to highlight that `countries` is a required field of `StoreRegionRes`
2023-03-13 14:21:56 +00:00
olivermrbl 6d928628a9 chore: Fix merge conflicts with master 2023-03-12 12:53:07 +01:00
Patrick b7a48e51df fix(oas): fix OAS typos in AdminVariant (#3453) 2023-03-12 09:43:06 +01:00
Frane Polić f97b3d7cce feat(medusa): Cache modules (#3187) 2023-03-10 15:09:26 +01:00
Carlos R. L. Rodrigues 54dcc1871c feat(medusa,medusa-core-utils): graceful shutdown server (#3408)
* feat: graceful shutdown
2023-03-10 09:11:45 -03:00
Riqwan Thamir 9ba09ba4d7 feat(medusa, medusa-js, medusa-react): Add store queries to react medusa (#3436)
What:

- Adds queries to medusa react for core
- Fix naming issues in types

RESOLVES CORE-1131
2023-03-10 10:14:48 +00:00
Patrick 966aea65c2 feat(oas-cli): combine admin + store + custom OAS (#3411) 2023-03-10 10:37:59 +01:00
Philip Korsholm 80b95a2300 Fix(medusa, admin-ui): Order allocations (#3419)
**What**
- Fix `delete-reservation` endpoint to allow deletions of reservations 
- remove `inventory_item_id` from reservation update call to properly update reservation
- invalidate all list caches to properly update order overview after an allocation has been created
- Fix overlap for long product titles in edit-allocation-modal

Fixes CORE-1214
2023-03-09 17:07:49 +00:00
Adrien de Peretti 601d20e7ab chores(medusa): Improve draft order creation perf flow (#3431) 2023-03-09 16:17:41 +01:00
Patrick 4042beb102 feat(oas): add @schema OAS for address request payloads (#3423)
## What

Replace AddressFields with actual AddressPayload schema based off the actual type used by the controllers.

## Why

AddressPayload is currently being referenced in client code. Our OAS schema should attempt to match current client usage in order to reduce friction when migrating to a OAS generated types package.

## How

* Represent AddressPayload and AddressCreatePayload in our OAS schemas.
* Replace reference to AddressFields
* Plus, fix typo in /admin/orders/ route
2023-03-09 14:31:40 +00:00
olivermrbl 2fe056f4cf chore(release): v1.7.12 2023-03-09 08:58:49 +01:00
Riqwan Thamir 478d1af8d0 feat(medusa, admin-ui): Improvements to product categories (#3416) 2023-03-08 16:56:49 +01:00
57d7728dd9 feat(admin-ui, medusa-js, medusa-react, medusa): Multiwarehousing UI (#3403)
* add "get-variant" endpoint

* import from a different place

* fix unit test

* add changeset

* inventory management for orders

* add changeset

* initial create-fulfillment

* add changeset

* type oas and admin

* Move inv. creation and listing from admin repo

* Fix location editing bug (CORE-1216)

* Fix default warehouse on inventory table view

* remove actions from each table line

* Use feature flag hook instead of context directly

* remove manage inventory action if inventory management is not enabled

* Address review comments

* fix queries made when inventorymodules are disabled

* variant form changes for feature enabled

* move exclamation icon into warning icon

* ensure queries are not run unless feature is enabled for create-fulfillment

---------

Co-authored-by: Philip Korsholm <philip.korsholm@hotmail.com>
Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
2023-03-08 16:08:56 +01:00
Philip Korsholm 9f508c8bd8 fix(medusa): Create migration to ensure correct variant inventory column (#3384)
* add migration to ensure quantity is called required quantity

* add changeset
2023-03-08 15:27:43 +01:00
Adrien de Peretti 53eda215e0 fix(medusa): Issue when ordering with multiple columns (#3385)
**What**
No true fix due to the same issue as [here](https://github.com/typeorm/typeorm/issues/6294) but at least the pagination works again. The ordering can't be applied on multiple columns/relation as it produce the wrong SQL.

FIXES CORE-1193
2023-03-08 12:37:18 +00:00
Oliver Windall Juhl ce577f2696 feat(medusa): Add global job options for events (#3394) 2023-03-08 11:09:43 +01:00
Adrien de Peretti 84e4489683 chore(medusa): Little improvement in draft order creation (#3374)
**What**
Only call line item service create once, instead of twice.
2023-03-07 19:10:53 +00:00
Riqwan Thamir 1d09a266be feat(medusa): category list API can return all descendant (#3392)
* chore: category list API can return all descendant

* chore: category handle is no longer required via api

* chore: added treescope to sorting

* chore: address feedback on PR
2023-03-07 15:54:49 +01:00
Adrien de Peretti 33c6ccf059 fix(medeusa): Transform query includes options should only be added to allowed props if there is already at least one allowed props (#3362)
**What**
when `fields` only contain includes options, it should return the entire object plus the include options. If the fields contains the included options + other fields, it should only return the requested fields + the included options
2023-03-07 11:52:14 +00:00
Philip Korsholm 15f47baf56 Fix(admin-ui, medusa): stock location fixes (#3395)
**What**
- A series of minor fixes for admin-ui relating to managing stock locations: 
  - make "create location" `primary`
  - add delete prompt when cancelling creation if information has been input
  - avoid clipping focus border on country select when creating a stock location
  - allow removals of sales channels from stock locations 

Fixes CORE-1191, CORE-1192, CORE-1190, CORE-1189
2023-03-07 10:54:09 +00:00
Oliver Windall Juhl aa0d1f3215 fix(medusa): Remove default job age option from EventBus (#3388)
* fix(medusa): Remove default job age option from EventBus

* Create .changeset/spicy-camels-invite.md
2023-03-06 19:41:12 +01:00