Commit Graph
100 Commits
Author SHA1 Message Date
Philip Korsholm 0c30d05cf3 fix(admin-ui): allocated badge for orders with statuses cancelled and archived (#3950)
* fix allocated badge for orders with statuses cancelled and archived

* add changeset
2023-05-01 09:48:51 +02:00
Philip Korsholm 4c5c4fd9b3 feat(admin-ui): Metadata for stock locations (#3955)
* initial update to stock locations

* add changeset
2023-05-01 08:39:29 +02:00
Philip Korsholm 4a85627435 feat(medusa, medusa-plugin-brightpearl): Inventory management for Brightpearl (#3192) 2023-04-23 12:50:19 +02:00
Philip Korsholm 2cc2acb6e0 fix(admin-ui): Add guard for null product_id (#3894)
* handle null variants differently

* add changeset
2023-04-21 18:02:37 +02:00
Philip Korsholm d302db2397 fix(admin-ui): Add guard for null product_id (#3894)
* handle null variants differently

* add changeset
2023-04-21 18:00:51 +02:00
Philip KorsholmandOliver Windall Juhl 2be144ff05 feat(medusa): Add purchasable prop on variants when setting availability (#3811)
* write integration tests

* update variant inventory decorator

* update types

* add changeset

* feedback comments

* add yaml schemas

* different oas approach

* pr feedback

* update oas

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-04-20 08:54:26 +02:00
Philip Korsholm 0d0e9bf206 fix(medusa): Correct inventory quantity calculation (#3881)
* initial fix

* add changeset
2023-04-19 15:43:55 +02:00
Philip Korsholm 748833383f hotfix(medusa): Temporary multi-warehouse support for draft orders (#3665)
* remove reservations from draft order creation and show correct inventory

* add changeset

* add integration tests

* adjust inventory on payment if no inventory service is installed
2023-04-04 11:36:51 +02:00
Philip Korsholm 7f87c4f2c8 fix(medusa-react): Query key invalidation (#3686) 2023-04-03 17:29:48 +02:00
Philip Korsholm 0cca13779d Fix(medusa): stocked quantity counting when listing products (#3684)
* count stocked quantity correctly when listing products

* add integration test

* add changeset
2023-04-03 11:07:56 +02:00
Philip Korsholm a5ad6c0542 fix(admin-ui, medusa): Require name in create stock location (#3670)
* initial fix

* add changeset

* remove company from required fields
2023-04-02 11:57:41 +02:00
Philip KorsholmandOliver Windall Juhl eed784d7d0 fix(admin-ui, medusa): Allocations and fulfillments for variants without inventory items (#3660)
* fix fulfillment for order lines without inventory items

* fix summary card on order for variants without inventory items

* add changeset

* minor fixes

* remove variants without inventory items from allocate modal

* naming

* Update .changeset/kind-rings-wave.md

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>

* remove line item indicator

* cleanup

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-31 15:53:56 +02:00
Philip Korsholm 5e405be02c feat(medusa): Remove reservations for all line items when an order edit is accepted (#3544)
**What**
- Remove all allocations to line items once an order edit is confirmed

**Why**
- Since all line items of an order are discarded once an order edit is confirmed it will orphan the reservations causing inconsistencies with the stock
2023-03-30 09:56:10 +00:00
Philip Korsholm 999aeb116c fix(medusa): Fix hanging inventory item migration script (#3624) 2023-03-30 09:29:44 +02:00
Philip Korsholm 5fd74b38ae feat(medusa): remove created reservations on subsequent failure for cart completion (#3554)
**What**
- If cart completion fails after creating reservations, remove those reservations

**Why**
- To avoid hanging reservations if something fails at a later point
2023-03-29 17:03:53 +00:00
Philip Korsholm a7e3f2d343 feat(admin-ui): move inventory item fields into manage inventory modal (#3591) 2023-03-29 18:12:38 +02:00
Philip Korsholm 0d00903385 Fix(admin-ui): delete inventory item when variant is deleted (#3585) 2023-03-29 16:23:22 +02:00
Philip KorsholmandOliver Windall Juhl 0695ff642b fix(medusa, admin-ui): List all inventory levels (#3552)
* ensure that all levels are listed

* add changeset

* remove count from config

* update changeset version bump

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-29 08:54:49 +02:00
d1a6aa5a90 fix(admin-ui): Create fulfillment (#3607)
* fix for create-fulfillment

* remove ff check

* add changeset

* Disable Create fulfillment button if no quantities fulfilled

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: Rares Capilnar <rares.capilnar@gmail.com>
2023-03-28 19:04:35 +02:00
Philip Korsholm e359d3f85b fix(medusa): Include inventory quantity when listing products (#3586)
* initial inclusion of quantities when listing admin prices

* add changeset

* rename variable

* add inventory service check when listing products

* update changeset version bump
2023-03-28 12:42:26 +02:00
Philip Korsholm feaf8d2e19 feat(admin-ui, medusa): Improve fulfillment validation (#3541)
* validate that an inventory level exists as well

* improve create-fulfillment handling in admin

* pass along location id rather than inventory level id

* add changeset

* remove dependency
2023-03-27 20:36:59 +02:00
Philip Korsholm 284578a67a Fix(admin-ui): multi warehouse minor fixes (#3540)
**What**
1. Enable the "create location" button in "create stock location" when a field has changed
2. Remove the "successful delete" toast when cancelling stock location creation
3. Properly update available and reserved when editing stock levels for variant
4. invalidate inventoryItemList queryKeys when changing location levels

**Why**
- we had the same bug with form validation when creating location levels as we had when editing them (1)
- when updating location levels, listing inventory items wouldn't show the newly added location levels (4)
- fixing ui bugs (2, 4)
2023-03-24 14:11:40 +00:00
Philip Korsholm 332a9b686b Feat(admin-ui): Request return flow warnings and errors (#3473)
**What**
- Add warning to request-return modal if no inventory level exists for the combination of items that is being requested 
- Block receive return at location with the same condition
2023-03-24 14:01:31 +00:00
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
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
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
Philip KorsholmandSebastian Rindom 2e12f13565 Feat/show order as allocated (#3497)
**What**
- Add check to see if any items is unfulfilled when validating reservations for allocation indicator
- Add reservations refresh to onSuccess when creating a fulfillment to automatically update indicators on fulfillment



Fixes CORE-1248

Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
2023-03-16 15:49:00 +00: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
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
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
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
Philip Korsholm c16f387d1c fix(admin-ui): Edit allocation update (#3447)
**What**
- update the edit-allocation side-bar with the new table layout

Fixes CORE-1215
2023-03-13 14:08:05 +00:00
Philip Korsholm ef4a36794e Fix(admin-ui): border overflow (#3437)
**What**
- Fix border clipping out of component

Fixes CORE-1190
2023-03-09 17:28:00 +00: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
Philip Korsholm 784723a039 Fix/disable allocate button (#3426)
* remove allocate option from order editing summary if no further allocations can be made

* add changeset

* add minor button styles to badge component
2023-03-09 13:05: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
06f567f446 fix(admin-ui): table action gap (#3386)
* add gap in table actions

* add changeset

* Update .changeset/light-frogs-smoke.md

Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>

---------

Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-07 13:14:14 +01: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
Philip Korsholm 5d809a7a39 fix(medusa-payment-stripe): Add typescript to dev deps (#3371)
* add typescript dev devepency

* add changeset

* update yarn.lock
2023-03-04 15:37:32 +01:00
Philip KorsholmandOliver Windall Juhl 8424236799 fix(medusa): Update typescript types to reflect oas and return types (#3344)
* update typescript types to reflect oas and return types

* add changeset

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-02-28 19:19:24 +01:00
Philip Korsholm d61d6c7b7f fix(medusa): Account for multiple inventory items in get-inventory (#3094)
* use pvi service method instead of inventory service method to get quantity for sales channel

* save a few invocations

* rename quantity

* omit || 0

* add changeset

* extract method for retrieving variant inventory quantity

* update pr with feedback
2023-02-28 17:09:20 +01:00
Philip Korsholm 5eb61fa0ef fix(medusa): update create fulfillment flow (#3172)
* update create fulfillment flow

* move transaction service creation close to where it's used

* integration tests

* fix feedback

* use transformBody

* add changeset
2023-02-28 16:28:11 +01:00
Philip KorsholmandOliver Windall Juhl a1e59313c9 feat(medusa, stock-location): Sales channel filtering when listing locations (#3324)
* only add ordering select if not already selected

* add integration test

* add changeset

* remove catch

* linting and suggestion from adrien

* add sales channel filtering when listing locations

* add changeset

* add exception back into sales channel location service

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-02-28 10:41:59 +01:00
Philip Korsholm 0a02b70e59 fix(medusa): Reservation routes and VariantInventory type (#3328) 2023-02-26 13:42:16 +01:00
Philip Korsholm 08c8aa46c5 fix(medusa): Only add ordering select if not already present (#3319) 2023-02-26 13:08:06 +01:00
Philip Korsholm 8f4c84121b feat(medusa): Add inventory for variants (#2970)
* initial get-inventory impl

* add inventory management to create-variant

* update create-variant endpoint

* move if statement

* use middleware for module checking

* add endpoint to medusa-js

* export return type from get-inventory

* add jsdoc

* revert create variant

* rename variable

* initial setInventoryPattern for variant and product endpoints

* remove cache

* sort imports

* add sales channel info to inventory calculations

* add missing import

* remove promise.all from single promise

* update oas

* initial feedback

* checkout joinLevels from develop

* add variant middleware

* add comments
2023-01-24 11:10:33 +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
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
Philip Korsholm 1dc79590b3 fix(medusa): Rename quantity to required quantity (#2963) 2023-01-11 19:21:05 +01:00
Philip Korsholm 16716f5a4f feat(medusa): Create fulfillment with location (#2931)
* remove duplicate key from oas

* changeset

* initial suggestion for adding locations to fulfillments

* update migration

* re-add functionality for removing entire reservations

* fix tests

* add location when adjusting reserved inventory of a line_item

* add changest

* handle multiple reservations for a product in the same channel

* confirm inventory in stock location previous to creating the fulfillment

* fix tests after updating create-fulfillment to confirm inventory prior to creating fulfillment

* remove bugged code

* initial validation

* initial changes for review

* chekcpoint

* update validate inventory at location

* redo some unwanted changes

* typing

* update snapshots

* redo change for eslintrc

* add eslint disable

* re-order methods in interface

* assert no_notification

* iterate one time less

* add test for validation of correct inventory adjustments in case of no inventory service installation

* ensure correct adjustments for order cancellations

* remove comment

* fix tests

* fix but with coalescing

* remove location id from confirm inventory

* don't throw when adjusting reservations for a line item without reservations

* move reservation adjustments to the api

* add multiplication for updating a reservation quantity

* move inventory adjustments from the service layer to the api

* delete reservation if quantity is adjusted to 0

* rename updateReservation to updateReservationItem

* update dto fields

* reference the correct fields

* update with transaction

* add jsdocs

* force boolean cast

* context-ize cancel and create fulfillment transaction methods

* undo notification cast

* update with changes

* refactor withTransaction to variable

* use maps

* fix service mocks
2023-01-09 14:44:34 +01:00
Philip Korsholm 077e4d9606 remove duplicate key from oas (#2953)
**What**
- remove duplicate oas key

**Why**
- oas generation fails when duplicate keys are present
2023-01-06 09:46:23 +00:00
Philip Korsholm a153289ba3 feat(medusa): Pass location upon receiving returns (#2949) 2023-01-05 19:09:27 +01:00
Philip Korsholm b9680b641f feat(medusa): Add ProductVariantInventoryService (#2883)
* add mw feature flag

* add services

* add types

* add module interfaces

* add interface export

* add models for mw

* to be ammended

* remove featureflag

* use correct count

* update cart completion strategy

* swap service conversion

* update return service

* update order service

* update claim service

* add exception to claim item

* update cart service

* add indicies

* add changeset

* nullable changes in store

* store model update

* fix unit tests

* remove old inventory service

* format integration test

* update snapshots

* remove old inventory service tests

* update snapshots

* remove old code

* option updates

* naming

* add jsdoc to pv inventory service

* rename class variables

* pr feedback

* rename option to context

* if(variant_id) instead of if(typeof varia...)

* update tests

* add jsdoc

* go for custom

* update code for readability
2022-12-30 11:30:04 +01:00
Philip Korsholm 90d774f563 tests(integration): Randomize option value name (#2918) 2022-12-29 18:15:10 +01:00
Philip Korsholm 645e0d0ec5 Feat(medusa): search orders by customer phone and name (#2913)
* add support for customer first- and last names and phone

* test for querying customer first_name, last_name and phone

* add customer as prop for querying orders

* polishing before pr

* changeset
2022-12-29 15:20:18 +01:00
Philip Korsholm 3f097b7987 allow module definitions to have no default package (#2878)
* allow module definitions to have no default package

* remove duplicated test

* update modulesresponse type
2022-12-22 14:51:24 +01:00
Philip Korsholm 37aaca0da4 feat(medusa): Extend Module Resolution configuration (#2864)
**What**
update module definitions in `ConfigModule` to support the following module configuration methods:
- none: defaults are loaded
- boolean `inventoryService: true|false`, if true the defaults are loaded, false throws if it's a required module, if the module is not required it's not loaded 
- string: `inventoryService: "..."`, treats the string as a path to the overriding module, (we dont handle the case where a string is given but the module is not overridable, we just load the default in that case)
- `ConfigurableModuleDeclaration = { resolve?: string, options?: Record } `, like plugins, options can be used to pass configs to the main service of the module, if not defined no options are passed. Resolve is like string, if defined it's used to look for a custom module, otherwise the default is loaded.

Testing: 
- Added unit tests for: 
  - `loaders/modules.ts`
  - `loaders/module-definitions/index.ts`

Fixes CORE-932
2022-12-22 12:20:57 +00:00
Philip Korsholm d8893d6b9f chore: Update release tag from staging to next (#2858) 2022-12-20 12:21:48 +01:00
Philip Korsholm 79cddc23da feat(medusa-file-s3): Allow all AWS options in config (#2809) 2022-12-20 10:01:30 +01:00
Philip Korsholm c16522d6ce feat(medusa): Add has_account to list-customers query params (#2811) 2022-12-16 12:16:34 +01:00
Philip Korsholm 6283010fd6 Fix(medusa): Totals on draft orders (#2785)
* test subtotals on draft order operations

* fetch cart with subtotals when doing draft order operations

* write test for updating discounts seeing changes in totals

* formatting

* udpate test

* force taxes

* missing select

* add import

* rm force_taxes
2022-12-16 10:21:53 +01:00
Philip Korsholm e79794ea92 chore(medusa): Remove unused event from order service (#2793)
**What**
- remove unused event (legacy from claiming orders)
2022-12-14 09:43:47 +00:00
Philip Korsholm a6243618fe feat(medusa): Claim customer orders (#2710) 2022-12-08 17:48:49 +01:00
Philip Korsholm 406354c97e chore(workflows): Update trigger-staging-release.yml (#2718) 2022-12-04 15:42:27 +01:00
Philip Korsholm 761ea8383d chore(workflow): Ignore changes in ./github folder in staging release trigger 2022-11-30 13:59:27 +01:00
Philip Korsholm b023d846c3 Feat(Medusa): Trigger staging deployment (#2695)
* initial implementation of trigger action

* rename access token

* update paths ignore
2022-11-30 13:59:26 +01:00
Philip Korsholm 0764c6f994 chore(workflow): Ignore changes in ./github folder in staging release trigger 2022-11-30 09:39:12 +01:00
Philip Korsholm ea193b6830 Feat(Medusa): Trigger staging deployment (#2695)
* initial implementation of trigger action

* rename access token

* update paths ignore
2022-11-29 16:46:28 +01:00
70a8d3450f fix(medusa): Use correct auth middleware in GET /store/auth (#2687)
* use correct authentication middleware

* remove guard from get-session since it's guarded by middleware doing the same check

* Add integration tests

* Create lazy-swans-agree.md

Co-authored-by: olivermrbl <oliver@mrbltech.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-11-29 15:46:55 +01:00
e7c4cc3751 fix(medusa): Separate JWT auth strategies per domain (#2646)
**What**
Separate JWT auth strategies per domain

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2022-11-22 12:30:05 +00:00
Philip Korsholm 5332081972 fix(medusa, medusa-plugin-discount-generator, medusa-plugin-restock-notification): Bump Medusa package versions (#2623) 2022-11-18 10:50:13 +01:00
Philip Korsholm c6c5667cdd Fix/staging release install and versioning (#2621) 2022-11-17 16:38:14 +00:00
Philip Korsholm f60267a494 feat(medusa): Release staging version on push to develop (#2594)
* initial

* working config

* update name and add snapshot to release

* add changeset

* use correct command for action

* pr feedback
2022-11-16 20:08:18 +01:00
Philip Korsholm 15d6f92964 Fix(medusa): Swaps in tax inclusive regions (#2557)
**What**
- Ensure that swaps can be created for orders with discounts in tax inclusive regions

**How**
- Retrieve cart with discounts and region before creating adjustments for line items in cart. 
  - In `discountService.calculateDiscountForLineItem` we used the method `totalsService.getLineItemTotals` if a line-item is tax inclusive. This method uses some fields from the cart that aren't populated on cart creation (such a `items` which caused the original error).

**Testing**
- add integration test `swaps > tax inclusive > "Complete swap flow with discount"` that creates a swap in the following environment
  - tax inclusive region 
  - tax inclusive line item to be swapped
  - fixed type discount with allocation: total

Fixes CORE-748
2022-11-07 10:47:26 +00:00
Philip Korsholm 434b11af46 Fix(medusa): make shipping option requirements tax inclusive if the shipping option is (#2544)
**What**
- validate shipping option requirements including tax if the shipping option is tax inclusive

**Testing**
- " given a cart with total above min-threshold and subtotal below min-threshold shipping option with tax inclusive pricing is available and can be applied"
- "given a cart with total above max-threshold and subtotal below max-threshold shipping option with tax inclusive pricing is not available"

Fixes CORE-752
2022-11-04 14:04:07 +00:00
Philip Korsholm 38d4a7db3d Feat(Medusa): Allow custom shipping price on draft orders (#2531)
* create custom shipping option for cart to have custom shipping price on draft orders

* Create moody-chefs-stare.md
2022-11-03 08:44:47 +01:00
Philip Korsholm ea3d738823 Feat(medusa): config error handling in loaders (#2514)
**What**
- add error handling when loading project config

**How**
- Add error parameter to get-medusa-config result if an error was thrown (previously we returned an empty config)
- Discussion: 
A different, but equally valid approach could be just throwing the error rather than creating an error parameter. This causes a more ugly output without warnings and changes the api a bit but it would force error handling. wdyt?

**Why**
- cli would fail with database error `databaseMissingDriverError` if config was invalid, ex. missing a comma


### example (missing `,` in config)
**old output**
```
Successfully compiled 2 files with Babel (143ms).
[medusa-config] ⚠️ redis_url not found. A fake redis instance will be used.
[medusa-config] ⚠️ database_type not found. fallback to default sqlite.
info:    Using flag MEDUSA_FF_ORDER_EDITING from environment with value true
info:    Using flag MEDUSA_FF_SALES_CHANNELS from environment with value true
info:    Using flag MEDUSA_FF_TAX_INCLUSIVE_PRICING from environment with value true
info:    Using fake Redis
✔ Models initialized – 13ms
✔ Plugin models initialized – 0ms
✔ Repositories initialized – 17ms
⠋ Initializing databaseMissingDriverError: Wrong driver: "undefined" given. Supported drivers are: "aurora-data-api", "aurora-data-api-pg", "better-sqlite3", "capacitor", "cockroachdb", "cordova", "expo", "mariadb", "mongodb", "mssql", "mysql", "nativescript", "oracle", "postgres", "react-native", "sap", "sqlite", "sqljs".
```

**new output** 
```
Successfully compiled 2 files with Babel (185ms).
error:    Error in loading config: Unexpected identifier
error:    /Users/phko/projects/community/my-medusa-store/medusa-config.js:129
  plugins,
  ^^^^^^^

SyntaxError: Unexpected identifier
    at compileFunction (<anonymous>)
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1033:15)
    at Module._compile (node:internal/modules/cjs/loader:1069:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at getConfigFile (/Users/phko/projects/community/my-medusa-store/node_modules/medusa-core-utils/dist/get-config-file.js:26:20)
```
2022-11-02 18:58:02 +00:00
Philip Korsholm 3c5e31c645 fix(medusa, medusa-file-*): Protected uploads for file services (#2433) 2022-10-18 10:46:47 +02:00
Philip Korsholm bb75a0bc5e fix(medusa): Ensure no orphan product option values (#2408) 2022-10-12 12:48:50 +02:00
Philip Korsholm 053206a390 fix(medusa-file-s3, medusa): Add S3 export support (#2380) 2022-10-08 18:09:01 +02:00
Philip Korsholm 527c587d8f feat(medusa): Add difference due to OrderEdit totals (#2352) 2022-10-07 10:21:13 +02:00
Philip Korsholm 642902aaeb feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353) 2022-10-06 13:58:46 +02:00
Philip Korsholm 00959f79bc Feat(medusa): remove item from order (#2273)
* wait for update to order edit model

* delete line item tests

* create remove method for lineitem with tax lines

* add remove item tests

* split delete allocation tests into two: more and less than total

* remove unused import

* cleanup

* add medusa-js and react endpoints

* pr feedback fixes

* linting

* remove unused relation from query

* remove removed-event and unused imports

* add await
2022-09-30 09:48:18 +02:00
Philip Korsholm 87ad29dda4 Feat(medusa): add 'edits' to order relations if the feature is enabled (#2263)
**What**
- add "edits" relation if order editing is enabled
- use the featureflag key from the saleschannels flag in loaders
2022-09-28 14:11:01 +00:00
Philip Korsholm 1807bff029 Feat(medusa): cancel order edit (#2240)
**What**
- cancel an order edit

Fixes CORE-500
2022-09-27 03:13:15 +00:00
Philip Korsholm 6da29c72c4 Feat(medusa): request order edit (#2239)
**What**
- Implement `admin/order-edits/:id/request`

Fixes CORE-499
2022-09-22 10:17:00 +00:00
Philip Korsholm c661cc789b Feat/decline order edit (#2234)
**What**
- Decline an order edit from a store endpoint
- Refactor totals setting to a service method

Fixes CORE-502
2022-09-21 11:02:10 +00:00
Philip Korsholm 5a2ac76762 feat(medusa): Hard delete OrderEdits (#2225) 2022-09-19 10:18:21 +02:00
Philip Korsholm 09627c01d3 feat(medusa): Support OrderEdit removal (#2204) 2022-09-16 08:39:40 +02:00
Philip Korsholm 6f4b221971 fix(medusa): Cleanup Tax lines in case of a failed cart completion (#2212) 2022-09-15 17:14:10 +02:00
Philip KorsholmandOliver Windall Juhl 80e02130b4 feat(medusa): Convert SystemPaymentProvider to TypeScript (#1988)
**What**
- convert system payment provider to typescript

Fixes CORE-397

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-08-22 17:37:25 +00:00
Philip Korsholm c97ccd3fb5 feat(medusa): Convert FulfillmentService to TypeScript (#1962) 2022-08-22 19:19:41 +02:00
Philip Korsholm a54dc68db7 feat(medusa): Filtering Customer Orders (#975) 2022-08-21 13:26:25 +02:00
Philip Korsholm 448fd5b44e tests(integration-tests): Allow null updates in discounts (#1299) 2022-08-21 12:54:30 +02:00