Commit Graph
100 Commits
Author SHA1 Message Date
Sebastian Rindom a2bf6756ac feat(customer): manage default address selection (#6295)
**What**
- Catches unique constraints on customer_id, is_default_billing/is_default_shipping and reformats
- Adds an step to create and update of addresses that unsets the previous default shipping/billing address if necessary.
  - This creates a behavior in the API where you can always set an address to be default and it will automatically unset the previous one for you.
2024-02-01 12:28:14 +00:00
Sebastian Rindom a28822e0d4 feat(customer): store addresses (#6283)
- GET /customers/me/addresses
- POST /customers/me/addresses
- GET /customers/me/addresses/:address_id
- POST /customers/me/addresses/:address_id
- DELETE /customers/me/addresses/:address_id
2024-02-01 10:11:52 +00:00
Sebastian Rindom 7903a15e0f feat(customer): Add create and retrieve customer from store side (#6267)
**What**
- GET /store/customers/me
- POST /store/customers
- Workflow for customer account creation
- Authentication middleware on customer routes
2024-01-31 11:58:29 +00:00
Sebastian Rindom f41877ef61 feat(customer): add customer group customer management (#6276)
**What**
- GET /admin/customer-groups/:id/customers
- POST /admin/customer-groups/:id/customers/batch
- POST /admin/customer-groups/:id/customers/remove

Workflows
2024-01-31 10:24:22 +00:00
Sebastian Rindom 36ec3ea3aa feat(customer): admin addresses (#6235)
**What**
- GET /admin/customers/:id/addresses
- POST /admin/customers/:id/addresses
- POST /admin/customers/:id/addresses/:address_id
- DELETE /admin/customers/:id/addresses/:address_id
2024-01-31 09:55:07 +00:00
Sebastian Rindom ca0e0631af feat(customer): add customer group management apis (#6233)
**What**
```
POST /admin/customer-groups
POST /admin/customer-groups/:id
GET /admin/customer-groups/:id
DELETE /admin/customer-groups/:id
```

- Workflows
2024-01-30 19:37:53 +00:00
Sebastian Rindom 18ff739a94 feat(customer): admin CRUD endpoints (#6232)
**What**

- GET /customers/:id
- POST /customers/:id
- DELETE /customers/:id
- POST /customers

Including workflows for each.
2024-01-30 11:43:30 +00:00
Sebastian Rindom 87390704be feat(customer): list customer (#6206)
**What**

- GET /admin/customers
- GET /admin/customer-groups
2024-01-29 16:56:39 +00:00
Sebastian Rindom 360c71e39a fix: improve error message on incorrect service export (#6240)
**What**
- Provide a more helpful error message if a user adds a file in `src/services` that doesn't export a service class.

**Why**
If you forget to `export default MyClass` in a custom service you can end up with this error:
![CleanShot 2024-01-27 at 6  24 19](https://github.com/medusajs/medusa/assets/7554214/d3700487-33e0-4629-b2c4-a2a37cb86b3e)

It's almost impossible to know how to recover from this which can be an issue for new users. The new error message informs the user that there is a missing class export and shows which file the error is related to.
2024-01-27 23:28:11 +00:00
Sebastian Rindom 8c6cc82c5d feat(customer): add customer addresses (#6224)
**What**
- adds methods to create update list customer addresses
- removes default_shipping_id and billing id from customer record and moves them to address (better normalization)
2024-01-26 15:35:23 +00:00
Sebastian Rindom 21c1c5ce6c feat(customer): add migration file (#6205) 2024-01-25 16:52:30 +00:00
Sebastian Rindom 4ad761788b chore: move v2 api behind ff (#6213) 2024-01-25 14:39:22 +00:00
Sebastian Rindom e9435a8680 feat(customer): add softdelete/restore (#6203) 2024-01-25 12:38:02 +00:00
Sebastian Rindom f72340ad87 feat(customer): add remove from group, update group (#6158)
Open #6149 again - was merged to wrong base branch.
2024-01-22 13:49:13 +00:00
Sebastian Rindom 76291823f4 feat(customers): add delete and update (#6148)
Depends on #6137 

**What**
- Add update and delete methods to the customer module
2024-01-22 12:31:46 +00:00
Sebastian Rindom a52586880c feat(customer): Introduce customer group (#6137)
**What**
Methods for:
- Bulk create customers
- Bulk and single create of customer groups
- Assigning customer <> group relationships
- listing of customers and customer groups

++ Uses new repository loading mechanism
2024-01-22 11:24:22 +00:00
Sebastian RindomandOli Juhl 1b99c5dc22 fix(medusa): ensure transaction is reused when service calls itself (#6089)
**What**
- ProductService.create calls ProductService.retrieve before returning. This fix ensures that the manager created in the atomicPhase is used when ProductService.retrieve is called.

**Why**
- Without the explicit use of the same manager in the retrieve call, race conditions easily occur if you have concurrent ProductService.create calls. The code below can reproduce the scenario:
```javascript
  const productData = [
    {
      barcode: `1234233423-${Math.random() * 100}`,
      external_id: `1234233423-${Math.random() * 100}`,
      description: "super cool product",
      discountable: true,
      hs_code: "1234213",
      origin_country: "DK",
      title: `Super cool product ${Math.random() * 100}`,
      type: { value: "Eyewear" },
      sales_channels: [{ id: sc.id }],
    },
    {
      barcode: `1234233423-${Math.random() * 100}`,
      external_id: `random-external-id-${Math.random() * 100}`,
      description: "super cool product",
      discountable: true,
      hs_code: "1234213",
      origin_country: "DK",
      title: `Super cool product ${Math.random() * 100}`,
      type: { value: "Eyewear" },
      sales_channels: [{ id: sc.id }],
    },
  ];

  const result = await Promise.all(
    productData.map(async (product) => productService.create(product))
  );
```

**Explaination**

What happens is the following:

- Request 1 calls `ProductService.create`. This in turn calls `atomicPhase` which sets the `ProductService.transactionManager_ = txForReqOne`
- Request 1 creates the product in the DB with `txForReqOne`.
- Request 2 calls `ProductService.create`. This in turn calls `atomicPhase` which sets the `ProductService.transactionManager_ = txForReqTwo`
- Request 1 reaches the end of `ProductService.create` where `this.retrieve` is called. Because the ProductService is a singleton the retrieve call will attempt to use `txForReqTwo` to fetch the product. 
- **Error**: since `txForReqTwo` can't read the data of `txForReqOne`, the product is not found.



Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-01-19 11:03:17 +00:00
Sebastian Rindom 12aa1737d5 feat: customer module skeleton (#6126) 2024-01-19 10:18:54 +00:00
Sebastian Rindom 5cfb662ec0 fix: migrate segment subscribers + typescript support (#5904)
Fixes #6068.

**What**

- Uses new Subscriber API.
- Adds support for typescript files in Segment plugin.
- Adds a peerDependency on @medusajs/medusa for the version that introduced new Subscriber API.
2024-01-18 09:38:33 +00:00
Sebastian Rindom 3a344964e0 chore: Update README.md (#5517)
Remove Circle CI badge
2023-11-02 10:31:45 +00:00
Sebastian Rindom 66413d094e feat: move create inventory to @medusajs/workflows (#5301)
**Why**
- We have some workflow-like flows in @medusajs/medusa. These should be moved over to the workflows package.
- Inventory Items <> Variant currently assume a 1-1 mapping. There should be support for a many-to-many mapping.

**What**
- PR introduces a feature flag for supporting many-to-many mappings for inventory and variants.
- Deletes legacy transaction handler in @medusajs/medusa.
- Adjusts existing createInventoryItems handler to remove dependency on variant data.

**Unkowns**
~~1. Couldn't find an existing test for the CreateProduct workflow. It should be tested that this still works as expected.~~
2. Have removed transaction managers as we should move to handling consistency through orchestration tooling. Are we ready for that?
2023-10-11 18:01:56 +00:00
Sebastian Rindom 4ebcd3af6a chore: adds test for inventory item creation as part of product creation (#5312)
* chore: adds test for inventory item creation as part of product creation

* chore: remove only
2023-10-09 14:24:11 -07:00
Sebastian RindomandOli Juhl c1b8f089e3 fix(medusa-payment-stripe): adds missing undefined check (#5177)
* fix: adds undefined check

* Create twelve-lamps-search.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-09-22 11:02:28 +02:00
Sebastian Rindom 819d27e774 chore(tests): add integration test of canceling order with many items (#4776)
What

- Adds an integration test to check if canceling an order with many items succeeds.

Related to #4763
2023-08-25 09:00:47 +00:00
Sebastian Rindom 9d8f87b03b fix(medusa): ignore region_id update w/o value change (#4751) 2023-08-13 09:26:32 +02:00
Sebastian RindomandShahed Nasser 26e2f81c24 docs: change nextjs starter meta title (#4563)
* fix: nextjs starter meta title

* fix: adjust

---------

Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
2023-07-20 12:23:42 +03:00
Sebastian Rindom a93d5d437c chore: star prompt (#2955)
Shows a prompt to star Medusa after killing the develop server the first time:
![CleanShot 2023-01-06 at 2 30 19](https://user-images.githubusercontent.com/7554214/211022169-8a0d753e-1628-485e-9037-0e817adf5d3f.png)

The prompt will not reappear on subsequent kills.
2023-01-06 15:12:47 +00:00
Sebastian Rindom ae290a395a chore: move to GitHub Discussions for feature requests (#2765) 2022-12-12 13:20:16 +01:00
Sebastian Rindom 198fe78c13 fix: allow passing idempotency key to service layer create (#2701)
**What**

Allow DraftOrders to be created with an IdempotencyKey. 

Note this doesn't implement idempotency for the DraftOrder create endpoint but allows the service layer to ingest the key and store it in the database. This is a preliminary step to being able to support an idempotent API request.
2022-11-30 09:23:59 +00:00
Sebastian Rindom 8069ed5e99 fix(medusa): add support for retrying failed event bus jobs (#2566)
Closes CORE-770
2022-11-09 12:24:26 +00:00
Sebastian Rindom 61da5f3650 fix(medusa-plugin-brightpearl): account for shipping prices being tax inclusive (#2536)
**What**
BP plugin was recording total shipping price based on the shipping_method.price; however, this value may be with or without taxes depending on the tax inclusivity setting. This change ensures that the shipping price is calculated correctly.
2022-11-03 15:22:49 +00:00
Sebastian Rindom 58c7ffdc6e fix(medusa): allow filtering collections by handle (#2482) 2022-10-31 08:51:15 +00:00
Sebastian Rindom a9acb48fc6 feat(stripe): Support automatic payment methods (#2492) 2022-10-30 13:32:00 +01:00
Sebastian Rindom 7fdced0225 chore: Update snapshot this action (#2484) 2022-10-21 14:22:15 +02:00
Sebastian Rindom 196595cb65 fix(medusa-dev-cli): Avoid dev cli auth (#2360) 2022-10-12 09:45:45 +02:00
Sebastian Rindom a908a7716c fix(medusa-payment-klarna, medusa-payment-stripe, medusa-payment-paypal): Totals calculation (#2381) 2022-10-08 10:53:19 +02:00
Sebastian Rindom 46bd861c2a fix(medusa): improve list shipping option (#2383) 2022-10-07 15:43:03 +02:00
Sebastian Rindom 3d255302b0 fix(medusa): Optimize Cart totals calculation (#2372)
**What**

The existing totals calculations are extremely heavy and perform an enormous amount of duplicate work. The changes here remove large parts of the overhead and improves response times for cart endpoints up to 30x.
2022-10-07 08:44:06 +00:00
Sebastian Rindom 7dc8d3a0c9 feat(medusa): PriceList import strategy (#2210) 2022-09-28 15:30:15 +02:00
Sebastian Rindom 7e56935e7a fix(medusa): Remove atomicPhase usage in OAuthService (#2249) 2022-09-26 11:09:45 +02:00
Sebastian RindomandOliver Windall Juhl eb3b02baf4 fix(medusa): cart to be created with a country code (#2197)
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-09-13 19:19:06 +00:00
Sebastian Rindom 37fd48000b fix(medusa): allow address updates on carts w/o existing address (#2176) 2022-09-13 07:51:08 +00:00
Sebastian Rindom e36301ac14 feat(medusa-fulfillment-webshipper): Support personal customs no in orders (#2167)
* feat(webshipper): support personal customs no in orders

* docs: update readme with personal customs number info
2022-09-09 10:30:20 +02:00
Sebastian Rindom af80e0fd2e fix: make prices optional param when updating a variant (#2155)
**Why**
- It should be possible to update variant props without having to send the prices array with every update
2022-09-06 13:49:18 +00:00
9e0cb12120 fix(medusa): remove unique cart on payments to allow canceled payments to exist (#1854)
Fixes CORE-321

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-08-24 14:25:40 +00:00
Sebastian Rindom 15a5b029ae fix(medusa): join tracking links to all fulfillments in admin/orders (#2045)
Fixes https://github.com/medusajs/medusa/issues/2042
2022-08-15 11:23:36 +00:00
Sebastian Rindom 8c283ac3b0 fix(medusa): Calculated price on cart shipping options (#1878) 2022-07-20 11:04:31 +02:00
Sebastian Rindom 0e5f0d8cd6 fix(medusa-payment-klarna): Calculate shipping totals correctly (#1848) 2022-07-18 18:10:58 +02:00
Sebastian Rindom 4dd7fdf61c chore(medusa): Clean up atomicPhase usage (#1850) 2022-07-18 16:04:36 +02:00
Sebastian Rindom c148064b4a fix(medusa): accept array of region ids in order filter (#1851) 2022-07-15 05:41:24 +00:00
Sebastian Rindom c20d720040 fix(medusa-payment-klarna): Fix division by zero on free shipping (#1840) 2022-07-13 09:26:45 +02:00
Sebastian Rindom e539bdc620 chore: Fix CI pipeline (#1839) 2022-07-12 20:14:34 +02:00
Sebastian Rindom 39f2c0c15e fix(medusa): calculates correct taxes and totals on order with gift cards (#1807)
**What**
Since the release of the Tax API the line item totals calculations on orders with gift cards have been wrong. To understand the bug consider the below order:

Region:
- tax_rate: 25%
- gift_cards_taxable: true

Order:
- applied gift card: 1000
- items: 
  - A: unit_price: 1000
  - B: unit_price: 500
- Subtotal: 1500

**Previous calculation method**
1. Determine how much of the gift card is used for each item using `item_total / subtotal * gift_card_amount`:
  - Item A: 1000/1500 * 1000 = 666.67
  - Item B: 500/1500 * 1000 = 333.33
2. Calculate line item totals including taxes using `(unit_price - gift_card) * (1 + tax_rate)`
  - Item A: 1000 - 666.67 = 333.33; vat amount -> 83.33
  - Item B: 500 - 333.33 = 166.67; vat amount -> 41.67
3. Add up the line item totals: order subtotal = 500; vat amount = 125; total = 625

This is all correct at the totals level; but at the line item level we should still use the "original prices" i.e. the line item total for item a should be (1000 * 1.25) = 1250 with a tax amount of 250. 

**New calculation method**
1. Use default totals calculations
  - Item A: subtotal: 1000, tax_total: 250, total: 1250
  - Item B: subtotal: 500, tax_total: 125, total: 625
2. Add up the line item totals: subtotal: 1500, tax_total: 375, total: 1875
3. Reduce total with gift card: subtotal: 1500 - 1000 = 500, tax_total: 375 - 250 = 125, total = 625

Totals can now be forwarded correctly to accounting plugins.

Fixes CORE-310.
2022-07-11 12:18:43 +00:00
Sebastian Rindom dffb86bb58 chore: turbo cleanup (#1828)
- Adds workspace-tools
- Updates .gitignore to include yarn/cache for zero-installs: https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
2022-07-11 08:47:48 +00:00
Sebastian Rindom 4d15e01c3e fix(medusa): calculate orders correctly by adding adjustments (#1812) 2022-07-07 07:35:12 +00:00
Sebastian Rindom e115518dda fix(medusa-payment-klarna): Join adjustments for total calculation (#1791) 2022-07-05 18:00:40 +00:00
Sebastian Rindom f8138afa36 feat(medusa-dev-cli): adds helpers to manage feature flags (#1770)
**Usage**

**Create a new feature flag**
```
$ medusa-dev ff create [name of flag] -d [description of what flag is for]
```
Will put a new file in `packages/medusa/src/loaders/feature-flags/[kebab-cased-flag-name].ts` and fill out the details.

**List feature flags**
```
$ medusa-dev ff list
```
Note: your Medusa repo must be built for the flags to show up

**Delete a feature flag**
```
$ medusa-dev ff delete [name of flag]
```
Will delete a file at `packages/medusa/src/loaders/feature-flags/[kebab-cased-flag-name].ts` if it exists.
2022-07-05 07:33:46 +00:00
Sebastian Rindom 9a14b84e58 fix: introduce listAndCount for gift cards to enable pagination (#1754)
**What**
Proper `listAndCount` implementation for gift cards.
2022-07-04 14:52:55 +00:00
Sebastian Rindom 9b5c2e8c1f hotfix(medusa): add line item adjustments for correct calculation in authorizePayment (#1772) 2022-07-04 14:50:16 +00:00
Sebastian Rindom 1d3032dc67 fix(webshipper): allow cancelling WS orders with error status (#1755) 2022-07-04 07:57:35 +00:00
Sebastian Rindom fee0f88a62 fix: add shipping taxes (#1759)
**What**
Adds taxes to the shipping prices when listing in admin. Allows store operators to see correct prices when processing returns.
2022-07-02 10:35:16 +00:00
Sebastian Rindom f7e300e8ce fix(meilisearch): remove medusa-interfaces dependency (#1751)
Remove `medusa-interfaces` from dependencies. `medusa-interfaces` should only be a peer dependency
2022-07-02 09:09:48 +00:00
Sebastian Rindom c0e18d473c fix(webshipper): only add invoices if invoice generator produces a file (#1749) 2022-07-02 09:05:20 +00:00
Sebastian Rindom c6dc9086cf feat(medusa): Add line item totals to cart totals decoration (#1740) 2022-06-28 12:11:47 +02:00
Sebastian Rindom 2a32609b74 fix(medusa): Normalizes email before saving customer (#1719) 2022-06-27 10:56:12 +02:00
Sebastian Rindom cffb03d197 fix(medusa): update cron schedule to be every 6 hours (#1658) 2022-06-14 14:52:27 +02:00
Sebastian Rindom 14366f536d fix: adds tax calculation to product pricing (#1354)
* fix: adds tax calculation to product pricing

* fix: dedupe

* fix: merge inconsistencies

* fix: merge inconsistencies
2022-06-14 10:11:18 +02:00
Sebastian Rindom ad9cfedf04 chore: add telemetry ping (#1509)
* chore: add telemetry ping

* fix: add track and 6th hour
2022-05-28 13:58:48 +02:00
Sebastian Rindom f17e44d88a fix(medusa): join claim items on receive return (#1539) 2022-05-19 13:04:25 +02:00
Sebastian Rindom 607a382b4e fix: ensures no duplicate tax lines when completing cart (#1262)
* fix: ensures that no duplicate tax lines are created when completing cart
2022-04-05 21:25:48 +02:00
Sebastian Rindom fb33dbaca3 feat: price list products (#1239)
* feat: add product list for price lists

* feat: add product list for price lists

* refactor: product list controller

* fix: add integration test for price list products

* fix: use getListConfig
2022-03-30 13:29:14 +02:00
Sebastian Rindom e9f6b4761a Merge remote-tracking branch 'origin/master' into develop 2022-03-25 22:26:48 +01:00
Sebastian Rindom e4af6b8f9c chore: fix integration tests (#1240)
* chore: fix integration tests

* chore: fix integration tests

* fix: store tests

* fix: store tests

* fix: cleanup
2022-03-25 15:08:54 +01:00
Sebastian Rindom 491b6eba2d fix: add tax service registration (#1225)
* fix: add tax service registration

* fix: cleanup
2022-03-23 11:10:41 +01:00
Sebastian Rindom fbe3b98761 fix: ensure customer identify calls before order track (#1227) 2022-03-22 15:43:15 +01:00
Sebastian Rindom 23f8399c16 fix(gatsby-source-medusa): adds support for incremental sourcing of medusa data (#1217) 2022-03-18 15:00:36 +01:00
Sebastian Rindom 3cd4108915 fix: adds date filters on store collection + region list api (#1216) 2022-03-18 11:02:40 +01:00
Sebastian RindomandOliver Windall Juhl 36bfdfe6e1 fix(medusa-plugin-contentful): add type and collection entity synchronisation (#1191)
* fix: adds optional type and collection entries on products

* fix: type upsert in product

* fix: type upsert in product

* Update packages/medusa-plugin-contentful/src/services/contentful.js

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

* Update packages/medusa-plugin-contentful/src/services/contentful.js

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

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-03-17 23:29:26 +01:00
Sebastian Rindom e3655b53f7 fix: storefront product filtering (#1189)
* fix: allow multiple ids in list + expand, fields param

* fix: add filtering by title

* fix: adds integration test

* fix: adds integration test of product variant filtering

* fix: integration tests

* fix: unit tests

* fix: refactor query param parsing
2022-03-17 23:28:15 +01:00
Sebastian RindomandOliver Windall Juhl 47588e7a8d feat: new tax api (#979)
* feat: add tax calculation strategy (#885)

* feat: add tax calculation strategy

* fix: adds strategy loader

* fix: eslint ignore

* chore: cleanup

* fix: allow plugin overwrites

* fix: allow plugin overwrites

* fix: fake region

* Update packages/medusa/src/loaders/strategies.ts

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

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

* feat: adds tax related db entities + tax provider (#896)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: pr comments

* fix: unit test

* feat: totals service to ts (#911)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: adds TotalsServiceProps

* feat: adds integration tests for automatic tax calculation + shipping tax rates (#945)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: jsdoc types

* Feat/manual taxes (#950)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: object -> cartOrOrder

* fix: rounding

* Feat/complete order w tax lines (#951)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* fix: adds cart order type gaurds

* Docs/tax api (#954)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* docs: documents tax related methods and types

* fix: require either item_id or shipping_method_id

* feat: product type tax rate (#969)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* docs: documents tax related methods and types

* fix: require either item_id or shipping_method_id

* feat: adds returns tests for new tax system

* feat: adds return lines + integration tests for swaps

* feat: return integration tests

* feat: adds product type tax rates

* feat: add tax management endpoints

* fix: create single migration

* fix: adds tax rates to js client

* fix: strats

* Fix/plugin tests (#998)

* plugin testing setup

* fix: test sendgrid plugin

* fix: test sendgrid plugin

* chore: clean

* chore: clean

* fix: clean up tests

* fix: remove dirty import

* fix: sendgrid + brightpearl

* fix: plugin integration tests

* fix: klarna

* fix: shipping method tax

* fix: remove taxrates

* fix: unit tests

* fix: integration

* fix: integration

* fix: plugins tests

* fix: ignore plugins

* fix: tests

* fix: taxes (#1017)

* fix: taxes

* fix: taxes

* fix: faulty ref

* fix: create tax-lines with claim items

* fix: snapshot tax-liens

* fix: allows integration test teardown to force deleting tables

* fix: tests

* fix: merge

* fix: adds tax-rates to client

* fix: adds tax-rates to medusa-react

* fix: tests

* fix: tests

* fix: add product types

* fix: adds tax provider endpoint + cascaded deletes on tax rate relations

* fix: move errors to service layer

* fix: cleanup api

* fix: unit tests

* fix: error handler in base-service

* fix: Add order region to swap on createFulfillment (#1110)

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-02-25 18:53:49 +01:00
Sebastian Rindom f983cfada6 fix: atomic phase error handler (#1104)
* fix: adds atomic phase clean up callback

* fix: call error handler in new transaction block too

* fix: error handler in no isolation case
2022-02-25 18:53:49 +01:00
Sebastian RindomandOliver Windall Juhl c56660fca9 feat: new tax api (#979)
* feat: add tax calculation strategy (#885)

* feat: add tax calculation strategy

* fix: adds strategy loader

* fix: eslint ignore

* chore: cleanup

* fix: allow plugin overwrites

* fix: allow plugin overwrites

* fix: fake region

* Update packages/medusa/src/loaders/strategies.ts

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

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

* feat: adds tax related db entities + tax provider (#896)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: pr comments

* fix: unit test

* feat: totals service to ts (#911)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: adds TotalsServiceProps

* feat: adds integration tests for automatic tax calculation + shipping tax rates (#945)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: jsdoc types

* Feat/manual taxes (#950)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: object -> cartOrOrder

* fix: rounding

* Feat/complete order w tax lines (#951)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* fix: adds cart order type gaurds

* Docs/tax api (#954)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* docs: documents tax related methods and types

* fix: require either item_id or shipping_method_id

* feat: product type tax rate (#969)

* feat: adds tax related db entities + tax provider

* fix: add tax provider tests

* fix: add tax service unit tests

* fix: tests + migrations

* feat: totals service to ts

* fix: remove totals.js

* fix: add shipping methods

* fix: add inherited tax lines

* chore: rm tax-line repo

* fix: test

* fix: tests

* fix: tests

* fix: unit test

* fix: integration test helpers

* fix: adds factories + tests automatic tax rates

* fix: remove verbose

* fix: adds TotalsServiceProps

* fix: add shipping tax lines

* fix: add migration for shipping taxes

* fix: integration tests for shipping taxes

* fix: integration tests for shipping taxes

* fix: add integration tests for manual taxes

* fix: cart service - cleanup jsdoc

* feat: add /carts/id/taxes to manually calculate taxes

* feat: add integration tests for order tax calculations

* feat: adds cart completion strategy + create order w. tax lines

* fix: unit tests

* fix: merge

* fix: rm verbose

* fix: unit tests

* fix: unit tests

* fix: unit tests

* fix: ensure calculation for list orders

* fix: unit tests

* fix: integration tests

* docs: documents tax related methods and types

* fix: require either item_id or shipping_method_id

* feat: adds returns tests for new tax system

* feat: adds return lines + integration tests for swaps

* feat: return integration tests

* feat: adds product type tax rates

* feat: add tax management endpoints

* fix: create single migration

* fix: adds tax rates to js client

* fix: strats

* Fix/plugin tests (#998)

* plugin testing setup

* fix: test sendgrid plugin

* fix: test sendgrid plugin

* chore: clean

* chore: clean

* fix: clean up tests

* fix: remove dirty import

* fix: sendgrid + brightpearl

* fix: plugin integration tests

* fix: klarna

* fix: shipping method tax

* fix: remove taxrates

* fix: unit tests

* fix: integration

* fix: integration

* fix: plugins tests

* fix: ignore plugins

* fix: tests

* fix: taxes (#1017)

* fix: taxes

* fix: taxes

* fix: faulty ref

* fix: create tax-lines with claim items

* fix: snapshot tax-liens

* fix: allows integration test teardown to force deleting tables

* fix: tests

* fix: merge

* fix: adds tax-rates to client

* fix: adds tax-rates to medusa-react

* fix: tests

* fix: tests

* fix: add product types

* fix: adds tax provider endpoint + cascaded deletes on tax rate relations

* fix: move errors to service layer

* fix: cleanup api

* fix: unit tests

* fix: error handler in base-service

* fix: Add order region to swap on createFulfillment (#1110)

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-02-24 20:14:09 +01:00
Sebastian Rindom 62c263c360 fix: atomic phase error handler (#1104)
* fix: adds atomic phase clean up callback

* fix: call error handler in new transaction block too

* fix: error handler in no isolation case
2022-02-24 16:44:08 +01:00
Sebastian Rindom 07ce61dc75 Update CODEOWNERS 2022-02-15 13:44:23 +01:00
Sebastian Rindom 6feb4b0cb3 Merge remote-tracking branch 'origin/master' into develop 2022-02-10 15:29:40 +01:00
Sebastian Rindom 38762961e6 chore(release): Publish
- gatsby-source-medusa@0.0.49
 - medusa-interfaces@1.1.34
 - @medusajs/medusa-js@1.0.12
 - medusa-payment-klarna@1.1.41
 - medusa-payment-paypal@1.0.40
 - medusa-plugin-algolia@0.0.8
 - medusa-plugin-brightpearl@1.1.45
 - medusa-plugin-mailchimp@1.1.39
 - medusa-plugin-meilisearch@0.0.14
 - medusa-plugin-restock-notification@0.0.32
 - medusa-plugin-segment@1.1.42
 - medusa-react@0.1.5
 - medusa-source-shopify@1.0.5
 - @medusajs/medusa@1.1.64
2022-02-06 19:29:53 +01:00
Sebastian Rindom fc3fbc897f fix: release 2022-02-06 19:29:31 +01:00
Sebastian Rindom cd1f5afa5a chore(release): Publish
- gatsby-source-medusa@0.0.48
 - medusa-interfaces@1.1.33
 - @medusajs/medusa-js@1.0.11
 - medusa-payment-klarna@1.1.40
 - medusa-payment-paypal@1.0.39
 - medusa-plugin-algolia@0.0.7
 - medusa-plugin-brightpearl@1.1.44
 - medusa-plugin-mailchimp@1.1.38
 - medusa-plugin-meilisearch@0.0.13
 - medusa-plugin-restock-notification@0.0.31
 - medusa-plugin-segment@1.1.41
 - medusa-react@0.1.4
 - medusa-source-shopify@1.0.4
 - @medusajs/medusa@1.1.63
2022-02-06 19:28:19 +01:00
Sebastian Rindom 7d2b5b8bab fix: adds return reasons to swaps (#1026) 2022-02-04 16:25:00 +01:00
Sebastian Rindom 6dbd8d318d Merge remote-tracking branch 'origin/master' into develop 2022-01-11 14:07:04 +01:00
Sebastian Rindom e64f036ad3 chore(release): Publish
- @medusajs/medusa-js@1.0.7
 - @medusajs/medusa@1.1.59
2021-12-08 22:38:09 +01:00
Sebastian Rindom 36c0f468f9 chore(release): Publish
- babel-preset-medusa-package@1.1.19
 - @medusajs/medusa-cli@1.1.24
 - medusa-core-utils@1.1.31
 - medusa-dev-cli@0.0.24
 - medusa-file-minio@1.0.1
 - medusa-file-s3@1.0.9
 - medusa-file-spaces@1.1.34
 - medusa-fulfillment-manual@1.1.31
 - medusa-fulfillment-webshipper@1.1.35
 - medusa-interfaces@1.1.32
 - @medusajs/medusa-js@1.0.6
 - medusa-payment-adyen@1.1.36
 - medusa-payment-klarna@1.1.36
 - medusa-payment-manual@1.0.13
 - medusa-payment-paypal@1.0.35
 - medusa-payment-stripe@1.1.35
 - medusa-plugin-add-ons@1.1.34
 - medusa-plugin-algolia@0.0.6
 - medusa-plugin-brightpearl@1.1.40
 - medusa-plugin-contentful@1.1.37
 - medusa-plugin-economic@1.1.34
 - medusa-plugin-mailchimp@1.1.34
 - medusa-plugin-meilisearch@0.0.12
 - medusa-plugin-permissions@1.1.34
 - medusa-plugin-restock-notification@0.0.27
 - medusa-plugin-segment@1.1.37
 - medusa-plugin-sendgrid@1.1.35
 - medusa-plugin-slack-notification@1.1.34
 - medusa-plugin-twilio-sms@1.1.34
 - medusa-plugin-wishlist@1.1.34
 - medusa-source-shopify@1.0.0
 - medusa-telemetry@0.0.11
 - medusa-test-utils@1.1.34
 - @medusajs/medusa@1.1.58
2021-12-08 13:21:54 +01:00
Sebastian Rindom 5cb09184d4 chore: merge master 2021-12-08 10:12:22 +01:00
Sebastian Rindom 2c9df0f7f7 chore: merge master 2021-12-08 09:56:59 +01:00
Sebastian Rindom 7f7682ef01 chore: remove gitignored files 2021-11-23 09:54:59 +01:00
Sebastian Rindom 0846222d19 chore: merge master 2021-11-23 09:53:59 +01:00
Sebastian Rindom 4fcf9c1ee5 chore(release): Publish
- medusa-core-utils@1.1.30
 - medusa-file-s3@1.0.8
 - medusa-file-spaces@1.1.33
 - medusa-fulfillment-manual@1.1.30
 - medusa-fulfillment-webshipper@1.1.34
 - medusa-interfaces@1.1.31
 - @medusajs/medusa-js@1.0.5
 - medusa-payment-adyen@1.1.35
 - medusa-payment-klarna@1.1.35
 - medusa-payment-manual@1.0.12
 - medusa-payment-paypal@1.0.34
 - medusa-payment-stripe@1.1.34
 - medusa-plugin-add-ons@1.1.33
 - medusa-plugin-algolia@0.0.5
 - medusa-plugin-brightpearl@1.1.39
 - medusa-plugin-contentful@1.1.36
 - medusa-plugin-economic@1.1.33
 - medusa-plugin-mailchimp@1.1.33
 - medusa-plugin-meilisearch@0.0.11
 - medusa-plugin-permissions@1.1.33
 - medusa-plugin-restock-notification@0.0.26
 - medusa-plugin-segment@1.1.36
 - medusa-plugin-sendgrid@1.1.34
 - medusa-plugin-slack-notification@1.1.33
 - medusa-plugin-twilio-sms@1.1.33
 - medusa-plugin-wishlist@1.1.33
 - medusa-test-utils@1.1.33
 - @medusajs/medusa@1.1.57
2021-11-23 09:49:33 +01:00
Sebastian Rindom 8f0879a785 Merge remote-tracking branch 'origin/master' into develop 2021-11-20 16:00:44 +01:00
Sebastian Rindom 59761163c2 chore: merge release 2021-11-20 15:59:31 +01:00
Sebastian Rindom 11e1808bc7 chore(release): Publish
- @medusajs/medusa-js@1.0.3
 - @medusajs/medusa@1.1.55
2021-11-19 10:51:04 +01:00